diff -r -b -B -c1 f77\other\nr2dp.dat ..\f77\other\nr2dp.dat *** f77\other\nr2dp.dat Sat Dec 22 12:50:04 2001 --- ..\f77\other\nr2dp.dat Fri Jul 16 04:38:20 1993 *************** *** 69,71 **** &qromb:EPS=1.e-6:EPS=1.d-10: ! &qromo:EPS=1.e-6:EPS=1.d-10: &qroot:TINY=1.0e-6:TINY=1.d-14: --- 69,71 ---- &qromb:EPS=1.e-6:EPS=1.d-10: ! &qromo:EPS=1.e-6:EPS=3.d-9: &qroot:TINY=1.0e-6:TINY=1.d-14: diff -r -b -B -c1 f77\recipes\broydn.for ..\f77\recipes\broydn.for *** f77\recipes\broydn.for Sat Dec 22 12:48:56 2001 --- ..\f77\recipes\broydn.for Tue Oct 02 21:27:50 2001 *************** *** 30,32 **** restrt=.true. ! do 44 its=1,MAXITS if(restrt)then --- 30,32 ---- restrt=.true. ! do 42 its=1,MAXITS if(restrt)then *************** *** 112,114 **** 33 continue ! g(i)=sum 34 continue --- 112,114 ---- 33 continue ! p(i)=-sum 34 continue *************** *** 117,119 **** do 35 j=1,i ! sum=sum+r(j,i)*g(j) 35 continue --- 117,119 ---- do 35 j=1,i ! sum=sum-r(j,i)*p(j) 35 continue *************** *** 126,134 **** fold=f - do 39 i=1,n - sum=0. - do 38 j=1,n - sum=sum+qt(i,j)*fvec(j) - 38 continue - p(i)=-sum - 39 continue call rsolv(r,n,NP,d,p) --- 126,127 ---- *************** *** 136,140 **** test=0. ! do 41 i=1,n if(abs(fvec(i)).gt.test)test=abs(fvec(i)) ! 41 continue if(test.lt.TOLF)then --- 129,133 ---- test=0. ! do 38 i=1,n if(abs(fvec(i)).gt.test)test=abs(fvec(i)) ! 38 continue if(test.lt.TOLF)then *************** *** 149,154 **** den=max(f,.5*n) ! do 42 i=1,n temp=abs(g(i))*max(abs(x(i)),1.)/den if(temp.gt.test)test=temp ! 42 continue if(test.lt.TOLMIN)then --- 142,147 ---- den=max(f,.5*n) ! do 39 i=1,n temp=abs(g(i))*max(abs(x(i)),1.)/den if(temp.gt.test)test=temp ! 39 continue if(test.lt.TOLMIN)then *************** *** 162,170 **** test=0. ! do 43 i=1,n temp=(abs(x(i)-xold(i)))/max(abs(x(i)),1.) if(temp.gt.test)test=temp ! 43 continue if(test.lt.TOLX)return endif ! 44 continue pause 'MAXITS exceeded in broydn' --- 155,163 ---- test=0. ! do 41 i=1,n temp=(abs(x(i)-xold(i)))/max(abs(x(i)),1.) if(temp.gt.test)test=temp ! 41 continue if(test.lt.TOLX)return endif ! 42 continue pause 'MAXITS exceeded in broydn' diff -r -b -B -c1 f77\recipes\caldat.for ..\f77\recipes\caldat.for *** f77\recipes\caldat.for Sat Dec 22 12:48:56 2001 --- ..\f77\recipes\caldat.for Tue Oct 02 21:27:52 2001 *************** *** 5,8 **** if(julian.ge.IGREG)then ! jalpha=int(((julian-1867216)-0.25)/36524.25) ! ja=julian+1+jalpha-int(0.25*jalpha) else if(julian.lt.0)then --- 5,8 ---- if(julian.ge.IGREG)then ! jalpha=int(((julian-1867216)-0.25d0)/36524.25d0) ! ja=julian+1+jalpha-int(0.25d0*jalpha) else if(julian.lt.0)then *************** *** 13,18 **** jb=ja+1524 ! jc=int(6680.+((jb-2439870)-122.1)/365.25) ! jd=365*jc+int(0.25*jc) ! je=int((jb-jd)/30.6001) ! id=jb-jd-int(30.6001*je) mm=je-1 --- 13,18 ---- jb=ja+1524 ! jc=int(6680.0d0+((jb-2439870)-122.1d0)/365.25d0) ! jd=365*jc+int(0.25d0*jc) ! je=int((jb-jd)/30.6001d0) ! id=jb-jd-int(30.6001d0*je) mm=je-1 diff -r -b -B -c1 f77\recipes\fasper.for ..\f77\recipes\fasper.for *** f77\recipes\fasper.for Sat Dec 22 12:48:56 2001 --- ..\f77\recipes\fasper.for Tue Oct 02 21:27:52 2001 *************** *** 19,20 **** --- 19,21 ---- call avevar(y,n,ave,var) + if(var.eq.0.) pause 'zero variance in fasper' xmin=x(1) diff -r -b -B -c1 f77\recipes\four1.for ..\f77\recipes\four1.for *** f77\recipes\four1.for Sat Dec 22 12:48:56 2001 --- ..\f77\recipes\four1.for Tue Oct 02 21:27:54 2001 *************** *** 17,19 **** endif ! m=n/2 1 if ((m.ge.2).and.(j.gt.m)) then --- 17,19 ---- endif ! m=nn 1 if ((m.ge.2).and.(j.gt.m)) then diff -r -b -B -c1 f77\recipes\gaussj.for ..\f77\recipes\gaussj.for *** f77\recipes\gaussj.for Sat Dec 22 12:48:56 2001 --- ..\f77\recipes\gaussj.for Tue Oct 02 21:27:54 2001 *************** *** 20,23 **** endif - else if (ipiv(k).gt.1) then - pause 'singular matrix in gaussj' endif --- 20,21 ---- diff -r -b -B -c1 f77\recipes\hqr.for ..\f77\recipes\hqr.for *** f77\recipes\hqr.for Sat Dec 22 12:48:56 2001 --- ..\f77\recipes\hqr.for Tue Oct 02 21:44:56 2001 *************** *** 18,20 **** if(s.eq.0.)s=anorm ! if(abs(a(l,l-1))+s.eq.s)goto 3 13 continue --- 18,23 ---- if(s.eq.0.)s=anorm ! if(abs(a(l,l-1))+s.eq.s)then ! a(l,l-1)=0. ! goto 3 ! endif 13 continue diff -r -b -B -c1 f77\recipes\iindexx.for ..\f77\recipes\iindexx.for *** f77\recipes\iindexx.for Sat Dec 22 12:48:56 2001 --- ..\f77\recipes\iindexx.for Tue Oct 02 21:27:58 2001 *************** *** 16,18 **** a=arr(indxt) ! do 12 i=j-1,1,-1 if(arr(indx(i)).le.a)goto 2 --- 16,18 ---- a=arr(indxt) ! do 12 i=j-1,l,-1 if(arr(indx(i)).le.a)goto 2 *************** *** 20,22 **** 12 continue ! i=0 2 indx(i+1)=indxt --- 20,22 ---- 12 continue ! i=l-1 2 indx(i+1)=indxt *************** *** 32,38 **** indx(l+1)=itemp - if(arr(indx(l+1)).gt.arr(indx(ir)))then - itemp=indx(l+1) - indx(l+1)=indx(ir) - indx(ir)=itemp - endif if(arr(indx(l)).gt.arr(indx(ir)))then --- 32,33 ---- *************** *** 42,47 **** endif ! if(arr(indx(l+1)).gt.arr(indx(l)))then itemp=indx(l+1) ! indx(l+1)=indx(l) ! indx(l)=itemp endif --- 37,47 ---- endif ! if(arr(indx(l+1)).gt.arr(indx(ir)))then itemp=indx(l+1) ! indx(l+1)=indx(ir) ! indx(ir)=itemp ! endif ! if(arr(indx(l)).gt.arr(indx(l+1)))then ! itemp=indx(l) ! indx(l)=indx(l+1) ! indx(l+1)=itemp endif *************** *** 49,51 **** j=ir ! indxt=indx(l) a=arr(indxt) --- 49,51 ---- j=ir ! indxt=indx(l+1) a=arr(indxt) *************** *** 62,67 **** goto 3 ! 5 indx(l)=indx(j) indx(j)=indxt jstack=jstack+2 ! if(jstack.gt.NSTACK)pause 'NSTACK too small in indexx' if(ir-i+1.ge.j-l)then --- 62,67 ---- goto 3 ! 5 indx(l+1)=indx(j) indx(j)=indxt jstack=jstack+2 ! if(jstack.gt.NSTACK)pause 'NSTACK too small in iindexx' if(ir-i+1.ge.j-l)then diff -r -b -B -c1 f77\recipes\julday.for ..\f77\recipes\julday.for *** f77\recipes\julday.for Sat Dec 22 12:48:56 2001 --- ..\f77\recipes\julday.for Tue Oct 02 21:27:58 2001 *************** *** 13,18 **** endif ! julday=int(365.25*jy)+int(30.6001*jm)+id+1720995 if (id+31*(mm+12*iyyy).ge.IGREG) then ! ja=int(0.01*jy) ! julday=julday+2-ja+int(0.25*ja) endif --- 13,18 ---- endif ! julday=365*jy+int(0.25d0*jy+2000.d0)+int(30.6001d0*jm)+id+1718995 if (id+31*(mm+12*iyyy).ge.IGREG) then ! ja=int(0.01d0*jy) ! julday=julday+2-ja+int(0.25d0*ja) endif diff -r -b -B -c1 f77\recipes\medfit.for ..\f77\recipes\medfit.for *** f77\recipes\medfit.for Sat Dec 22 12:48:56 2001 --- ..\f77\recipes\medfit.for Tue Oct 02 21:28:00 2001 *************** *** 32,33 **** --- 32,34 ---- f1=rofunc(b1) + if(sigb.gt.0.)then b2=bb+sign(3.*sigb,f1) *************** *** 61,62 **** --- 62,64 ---- goto 2 + endif endif diff -r -b -B -c1 f77\recipes\mpdiv.for ..\f77\recipes\mpdiv.for *** f77\recipes\mpdiv.for Sat Dec 22 12:48:56 2001 --- ..\f77\recipes\mpdiv.for Tue Oct 02 21:28:00 2001 *************** *** 10,12 **** call mpmul(rr,s,u,n+MACC,n) ! call mpsad(s,rr,n+n+MACC/2,1) call mpmov(q,s(3),n-m+1) --- 10,12 ---- call mpmul(rr,s,u,n+MACC,n) ! call mpsad(s,rr,n+MACC-1,1) call mpmov(q,s(3),n-m+1) diff -r -b -B -c1 f77\recipes\pade.for ..\f77\recipes\pade.for *** f77\recipes\pade.for Sat Dec 22 12:48:56 2001 --- ..\f77\recipes\pade.for Tue Oct 02 21:28:02 2001 *************** *** 31,33 **** if(rr.lt.rrold)goto 1 ! resid=sqrt(rr) do 16 k=1,n --- 31,33 ---- if(rr.lt.rrold)goto 1 ! resid=sqrt(rrold) do 16 k=1,n *************** *** 35,37 **** do 15 j=1,k ! sum=sum-x(j)*cof(k-j+1) 15 continue --- 35,37 ---- do 15 j=1,k ! sum=sum-z(j)*cof(k-j+1) 15 continue *************** *** 41,43 **** cof(j+1)=y(j) ! cof(j+n+1)=-x(j) 17 continue --- 41,43 ---- cof(j+1)=y(j) ! cof(j+n+1)=-z(j) 17 continue diff -r -b -B -c1 f77\recipes\period.for ..\f77\recipes\period.for *** f77\recipes\period.for Sat Dec 22 12:48:56 2001 --- ..\f77\recipes\period.for Tue Oct 02 21:28:02 2001 *************** *** 14,15 **** --- 14,16 ---- call avevar(y,n,ave,var) + if(var.eq.0.) pause 'zero variance in period' xmax=x(1) diff -r -b -B -c1 f77\recipes\psdes.for ..\f77\recipes\psdes.for *** f77\recipes\psdes.for Sat Dec 22 12:48:56 2001 --- ..\f77\recipes\psdes.for Mon Jul 14 20:32:50 1997 *************** *** 5,8 **** SAVE c1,c2 ! DATA c1 /16#BAA96887,16#1E17D32C,16#03BCDC3C,16#0F33D1B2/, c2 ! */16#4B0F3B58,16#E874F0C3,16#6955C5A6, 16#55A7CA46/ do 11 i=1,NITER --- 5,8 ---- SAVE c1,c2 ! DATA c1 /Z'BAA96887',Z'1E17D32C',Z'03BCDC3C',Z'0F33D1B2'/, c2 ! */Z'4B0F3B58',Z'E874F0C3',Z'6955C5A6', Z'55A7CA46'/ do 11 i=1,NITER diff -r -b -B -c1 f77\recipes\ran4.for ..\f77\recipes\ran4.for *** f77\recipes\ran4.for Sat Dec 22 12:48:56 2001 --- ..\f77\recipes\ran4.for Mon Jul 14 20:32:52 1997 *************** *** 8,10 **** SAVE idums,jflone,jflmsk ! DATA idums /0/, jflone /16#3F800000/, jflmsk /16#007FFFFF/ if(idum.lt.0)then --- 8,10 ---- SAVE idums,jflone,jflmsk ! DATA idums /0/, jflone /Z'3F800000'/, jflmsk /Z'007FFFFF'/ if(idum.lt.0)then diff -r -b -B -c1 f77\recipes\toeplz.for ..\f77\recipes\toeplz.for *** f77\recipes\toeplz.for Sat Dec 22 12:48:58 2001 --- ..\f77\recipes\toeplz.for Tue Oct 02 21:28:04 2001 *************** *** 33,35 **** 13 continue ! if(sd.eq.0..or.sgd.eq.0.)goto 99 g(m1)=sgn/sgd --- 33,35 ---- 13 continue ! if(sgd.eq.0.)goto 99 g(m1)=sgn/sgd