1 subroutine f3test(fun1,fun2,id,inump,
2 > xmin,xmax,ymin,ymax,zmin,zmax,
3 > name,namex,namey,namez)
24 character*(*) namex,namey,namez
30 real fget1(10),fget2(10),fmin(10),fmax(10),fdifa(10)
53 zz=zmin+float(iz-1)*(zmax-zmin)/float(inump-1)
55 zy=ymin+float(iy-1)*(ymax-ymin)/float(inump-1)
57 zx=xmin+float(ix-1)*(xmax-xmin)/float(inump-1)
60 if(icyc*(ict/icyc).eq.ict)
then
61 write(6,1001) ix,zx,iy,zy,iz,zz
63 >
' ...f3test at x(',i5,
')=',1pe11.4,
64 >
', y(',i5,
')=',1pe11.4,
', z(',i5,
')=',1pe11.4)
67 call fun1(zx,zy,zz,fget1)
68 call fun2(zx,zy,zz,fget2)
71 fmin(i)=min(fmin(i),fget1(i),fget2(i))
72 fmax(i)=max(fmax(i),fget1(i),fget2(i))
73 zdifa=abs(fget1(i)-fget2(i))
74 fdifa(i)=max(fdifa(i),zdifa)
81 write(6,1002) namex,namey,namez,name,
82 > (name,fmin(i),fmax(i),fdifa(i),i=1,4)
84 >
' test function comparison:'/
85 >
' x stands for "',a,
'"; y stands for "',a,
86 >
'"; z stands for "',a/
87 >
' (',a,
') min value max value max |diff|'/
88 >
' ',a,
': ',3(1pe11.3,2x)/
89 >
' d',a,
'/dx: ',3(1pe11.3,2x)/
90 >
' d',a,
'/dy: ',3(1pe11.3,2x)/
91 >
' d',a,
'/dz: ',3(1pe11.3,2x))
92 if(ifvals.gt.4)
write(6,1003)
93 > (name,fmin(i),fmax(i),fdifa(i),i=5,10)
95 >
' d2',a,
'/dx2: ',3(1pe11.3,2x)/
96 >
' d2',a,
'/dy2: ',3(1pe11.3,2x)/
97 >
' d2',a,
'/dz2: ',3(1pe11.3,2x)/
98 >
' d2',a,
'/dxdy: ',3(1pe11.3,2x)/
99 >
' d2',a,
'/dxdz: ',3(1pe11.3,2x)/
100 >
' d2',a,
'/dydz: ',3(1pe11.3,2x))