Commit 59ae88e0693ec0d9934298af451f5e17c5e713d0
1 parent
02a8cc89cd
Exists in
master
and in
3 other branches
git-svn-id: https://lxsd.femto-st.fr/svn/fvn@41 b657c933-2333-4658-acf2-d3c7c2708721
Showing 8 changed files with 65 additions and 24 deletions Side-by-side Diff
Makefile
... | ... | @@ -3,7 +3,7 @@ |
3 | 3 | |
4 | 4 | |
5 | 5 | objects = fvnlib.o |
6 | -library = libfvn.a | |
6 | +library = libfvn$(libext) | |
7 | 7 | |
8 | 8 | all: umfpack fnlib $(library) |
9 | 9 | |
10 | 10 | |
11 | 11 | |
... | ... | @@ -18,13 +18,13 @@ |
18 | 18 | |
19 | 19 | install: |
20 | 20 | cp fvn.mod $(BTREE)/modules |
21 | - cp libfvn.a $(BTREE)/lib | |
21 | + cp $(library) $(BTREE)/lib | |
22 | 22 | ( cd fvn_fnlib ; make install ) |
23 | - ( cp fvn_sparse/UMFPACK/Lib/libumfpack.a $(BTREE)/lib ) | |
24 | - ( cp fvn_sparse/AMD/Lib/libamd.a $(BTREE)/lib ) | |
23 | + ( cp fvn_sparse/UMFPACK/Lib/libumfpack.a $(BTREE)/lib/libumfpack.lib ) | |
24 | + ( cp fvn_sparse/AMD/Lib/libamd.a $(BTREE)/lib/libamd.lib ) | |
25 | 25 | |
26 | 26 | %.o: %.f90 |
27 | - $(F95) $(F95FLAGS) -c $< | |
27 | + $(F95) $(F95FLAGS) -c $< -o $@ | |
28 | 28 | |
29 | 29 | $(objects):fvnlib.f90 fvn_quadpack/dqk15_2d_inner.f fvn_quadpack/dqk31_2d_outer.f \ |
30 | 30 | fvn_quadpack/d1mach.f fvn_quadpack/dqk31_2d_inner.f fvn_quadpack/dqage.f \ |
31 | 31 | |
... | ... | @@ -39,11 +39,11 @@ |
39 | 39 | $(library): $(objects) |
40 | 40 | $(AR) rcu $@ $(objects) |
41 | 41 | $(AR) ru $@ fvn_sparse/umfpack_wrapper.o |
42 | - $(AR) s $@ | |
42 | + $(RANLIB) $@ | |
43 | 43 | |
44 | 44 | umfpack: |
45 | 45 | ( cd fvn_sparse/UMFPACK ; make ) |
46 | - ( cd fvn_sparse ; $(CC) $(CFLAGS) -c umfpack_wrapper.c -IUMFPACK/Include -IAMD/Include -IUFconfig ) | |
46 | + ( cd fvn_sparse ; $(CC) $(CFLAGS) -c umfpack_wrapper.c -IUMFPACK/Include -IAMD/Include -IUFconfig -o umfpack_wrapper.o) | |
47 | 47 | |
48 | 48 | fnlib: |
49 | 49 | ( cd fvn_fnlib ; make ) |
fvn_fnlib/Makefile
1 | 1 | |
2 | 2 | include $(BTREE)/Make.inc |
3 | 3 | |
4 | -library = libfvn_fnlib.a | |
4 | +library = libfvn_fnlib$(libext) | |
5 | 5 | |
6 | 6 | objects = acosh.o aide.o aid.o aie.o \ |
7 | 7 | ai.o albeta.o algams.o ali.o \ |
8 | 8 | |
9 | 9 | |
10 | 10 | |
... | ... | @@ -69,18 +69,18 @@ |
69 | 69 | |
70 | 70 | $(library): $(objects) |
71 | 71 | $(AR) rcu $@ $(objects) |
72 | - $(AR) s $@ | |
72 | + $(RANLIB) $@ | |
73 | 73 | |
74 | 74 | install: |
75 | 75 | cp fvn_fnlib.mod $(BTREE)/modules |
76 | - cp libfvn_fnlib.a $(BTREE)/lib | |
76 | + cp $(library) $(BTREE)/lib | |
77 | 77 | |
78 | 78 | clean: |
79 | 79 | rm -f {*.o,*.oo,*.ipo,*.a,*.mod} |
80 | 80 | |
81 | 81 | %.o: %.f90 |
82 | - $(F95) $(F95FLAGS) -c $< | |
82 | + $(F95) $(F95FLAGS) -c $< -o $@ | |
83 | 83 | |
84 | 84 | %.o: %.f |
85 | - $(F95) $(F95FLAGS) -c $< | |
85 | + $(F95) $(F95FLAGS) -c $< -o $@ |
fvn_fnlib/alngam.f
... | ... | @@ -36,7 +36,7 @@ |
36 | 36 | alngam = sqpi2l + (x-0.5)*alog(y) - x - alog(sinpiy) - r9lgmc(y) |
37 | 37 | c |
38 | 38 | if (abs((x-aint(x-0.5))*alngam/x).lt.dxrel) call seteru ( |
39 | - 1'alngam answer lt half precision because x too near negative ', | |
39 | + 160halngam answer lt half precision because x too near negative, | |
40 | 40 | 2 68, 1, 1) |
41 | 41 | return |
42 | 42 | c |
fvn_sparse/UFconfig/UFconfig.mk
... | ... | @@ -23,11 +23,11 @@ |
23 | 23 | # C and Fortran libraries |
24 | 24 | # No use to repeat BLAS here as it should be defined in Make.inc |
25 | 25 | # but in case we are using acml we include it here |
26 | -LIB = -lm $(ACML) $(EXTRALIBS) | |
26 | +LIB = $(ACML) $(EXTRALIBS) | |
27 | 27 | |
28 | 28 | XERBLA = |
29 | 29 | |
30 | -UMFPACK_CONFIG = | |
30 | +UMFPACK_CONFIG = | |
31 | 31 | |
32 | 32 | #------------------------------------------------------------------------------ |
33 | 33 | # Linux |
fvn_sparse/UMFPACK/Source/cholmod_blas.h
... | ... | @@ -142,6 +142,47 @@ |
142 | 142 | |
143 | 143 | #endif |
144 | 144 | |
145 | +#ifdef PGIW32 | |
146 | + | |
147 | +#undef BLAS_DTRSV | |
148 | +#undef BLAS_DGEMV | |
149 | +#undef BLAS_DTRSM | |
150 | +#undef BLAS_DGEMM | |
151 | +#undef BLAS_DSYRK | |
152 | +#undef BLAS_DGER | |
153 | +#undef BLAS_DSCAL | |
154 | +#undef LAPACK_DPOTRF | |
155 | + | |
156 | +#undef BLAS_ZTRSV | |
157 | +#undef BLAS_ZGEMV | |
158 | +#undef BLAS_ZTRSM | |
159 | +#undef BLAS_ZGEMM | |
160 | +#undef BLAS_ZHERK | |
161 | +#undef BLAS_ZGER | |
162 | +#undef BLAS_ZSCAL | |
163 | +#undef LAPACK_ZPOTRF | |
164 | + | |
165 | + | |
166 | + | |
167 | +#define BLAS_DTRSV dtrsv_ | |
168 | +#define BLAS_DGEMV dgemv_ | |
169 | +#define BLAS_DTRSM dtrsm_ | |
170 | +#define BLAS_DGEMM dgemm_ | |
171 | +#define BLAS_DSYRK dsyrk_ | |
172 | +#define BLAS_DGER dger_ | |
173 | +#define BLAS_DSCAL dscal_ | |
174 | +#define LAPACK_DPOTRF dpotrf_ | |
175 | + | |
176 | +#define BLAS_ZTRSV ztrsv_ | |
177 | +#define BLAS_ZGEMV zgemv_ | |
178 | +#define BLAS_ZTRSM ztrsm_ | |
179 | +#define BLAS_ZGEMM zgemm_ | |
180 | +#define BLAS_ZHERK zherk_ | |
181 | +#define BLAS_ZGER zgeru_ | |
182 | +#define BLAS_ZSCAL zscal_ | |
183 | +#define LAPACK_ZPOTRF zpotrf_ | |
184 | + | |
185 | +#endif | |
145 | 186 | /* ========================================================================== */ |
146 | 187 | /* === BLAS and LAPACK integer arguments ==================================== */ |
147 | 188 | /* ========================================================================== */ |
fvn_test/Makefile
1 | 1 | |
2 | 2 | include $(BTREE)/Make.inc |
3 | 3 | |
4 | -programs = test_fac test_matinv test_specfunc \ | |
5 | -test_det test_matcon test_matev test_sparse test_inter1d \ | |
6 | -test_inter2d test_inter3d test_akima test_lsp test_muller \ | |
7 | -test_integ test_bsyn test_bsjn test_bskn test_bsin | |
4 | +programs = test_fac$(exext) test_matinv$(exext) test_specfunc$(exext) \ | |
5 | +test_det$(exext) test_matcon$(exext) test_matev$(exext) test_sparse$(exext) test_inter1d$(exext) \ | |
6 | +test_inter2d$(exext) test_inter3d$(exext) test_akima$(exext) test_lsp$(exext) test_muller$(exext) \ | |
7 | +test_integ$(exext) test_bsyn$(exext) test_bsjn$(exext) test_bskn$(exext) test_bsin$(exext) | |
8 | 8 | |
9 | 9 | prog:$(programs) |
10 | 10 | |
11 | 11 | |
... | ... | @@ -12,11 +12,11 @@ |
12 | 12 | rm -f {*.o,*.oo,*.ipo,*.a,*.mod} |
13 | 13 | rm -f $(programs) |
14 | 14 | |
15 | -%: %.o | |
15 | +%$(exext): %.o | |
16 | 16 | $(LINK) $(LINKFLAGS) $< init_random_seed.o $(LINKFVN) -o $@ |
17 | 17 | |
18 | 18 | %.o: %.f90 |
19 | - $(F95) $(F95FLAGS) -c $< | |
19 | + $(F95) $(F95FLAGS) -c $< -o $@ | |
20 | 20 | |
21 | 21 | $(programs): init_random_seed.o |
fvn_test/test_akima.f90
... | ... | @@ -30,8 +30,8 @@ |
30 | 30 | end do |
31 | 31 | close(2) |
32 | 32 | deallocate(coeff_fvn_d,breakpoints_d,y_d,x_d) |
33 | -write(*,*) "All done, plot results with gnuplot using command :" | |
34 | -write(*,*) "pl 'fvn_akima_double.dat' u 1:2 w l,'fvn_akima_breakpoints_double.dat' w p" | |
33 | +write(6,*) "All done, plot results with gnuplot using command :" | |
34 | +write(6,*) "pl 'fvn_akima_double.dat' u 1:2 w l,'fvn_akima_breakpoints_double.dat' w p" | |
35 | 35 | |
36 | 36 | 44 FORMAT(4(1X,1PE22.14)) |
37 | 37 | end program |
fvn_test/test_sparse.f90
... | ... | @@ -29,7 +29,7 @@ |
29 | 29 | |
30 | 30 | !specific routine that will be used here |
31 | 31 | !call fvn_di_sparse_solve(n,nz,A,Ti,Tj,B,x,status) |
32 | -call fvn_sparse_solve(n,nz,A,Ti,Tj,B,x,status) | |
32 | +call fvn_di_sparse_solve(n,nz,A,Ti,Tj,B,x,status) | |
33 | 33 | write(*,'("Solution :",5f8.4)') x |
34 | 34 | write(*,'("Product matrix Solution :",5f8.4)') matmul(As,x) |
35 | 35 | end program |