diff -r -b -B -c1 f90\recipes\bessjy.f90 ..\f90\recipes\bessjy.f90 *** f90\recipes\bessjy.f90 Sat Dec 22 12:50:54 2001 --- ..\f90\recipes\bessjy.f90 Wed Oct 03 13:48:50 2001 *************** *** 224,226 **** h=hi - where (h < FPMIN) h=FPMIN rjl=rjli --- 224,225 ---- diff -r -b -B -c1 f90\recipes\caldat.f90 ..\f90\recipes\caldat.f90 *** f90\recipes\caldat.f90 Sat Dec 22 12:50:56 2001 --- ..\f90\recipes\caldat.f90 Wed Oct 03 21:25:24 2001 *************** *** 8,11 **** if (julian >= IGREG) then ! jalpha=int(((julian-1867216)-0.25_sp)/36524.25_sp) ! ja=julian+1+jalpha-int(0.25_sp*jalpha) else if (julian < 0) then --- 8,11 ---- if (julian >= IGREG) then ! jalpha=int(((julian-1867216)-0.25_dp)/36524.25_dp) ! ja=julian+1+jalpha-int(0.25_dp*jalpha) else if (julian < 0) then *************** *** 16,21 **** jb=ja+1524 ! jc=int(6680.0_sp+((jb-2439870)-122.1_sp)/365.25_sp) ! jd=365*jc+int(0.25_sp*jc) ! je=int((jb-jd)/30.6001_sp) ! id=jb-jd-int(30.6001_sp*je) mm=je-1 --- 16,21 ---- jb=ja+1524 ! jc=int(6680.0_dp+((jb-2439870)-122.1_dp)/365.25_dp) ! jd=365*jc+int(0.25_dp*jc) ! je=int((jb-jd)/30.6001_dp) ! id=jb-jd-int(30.6001_dp*je) mm=je-1 diff -r -b -B -c1 f90\recipes\fasper.f90 ..\f90\recipes\fasper.f90 *** f90\recipes\fasper.f90 Sat Dec 22 12:50:56 2001 --- ..\f90\recipes\fasper.f90 Wed Oct 03 21:26:26 2001 *************** *** 32,33 **** --- 32,34 ---- call avevar(y(1:n),ave,var) + if (var == 0.0) call nrerror('zero variance in fasper') xmax=maxval(x(:)) diff -r -b -B -c1 f90\recipes\hqr.f90 ..\f90\recipes\hqr.f90 *** f90\recipes\hqr.f90 Sat Dec 22 12:50:56 2001 --- ..\f90\recipes\hqr.f90 Wed Oct 03 21:26:10 2001 *************** *** 16,22 **** iterate: do ! do l=nn,2,-1 s=abs(a(l-1,l-1))+abs(a(l,l)) if (s == 0.0) s=anorm ! if (abs(a(l,l-1))+s == s) exit ! end do x=a(nn,nn) --- 16,25 ---- iterate: do ! small: do l=nn,2,-1 s=abs(a(l-1,l-1))+abs(a(l,l)) if (s == 0.0) s=anorm ! if (abs(a(l,l-1))+s == s) then ! a(l,l-1)=0.0 ! exit small ! end if ! end do small x=a(nn,nn) diff -r -b -B -c1 f90\recipes\indexx.f90 ..\f90\recipes\indexx.f90 *** f90\recipes\indexx.f90 Sat Dec 22 12:50:56 2001 --- ..\f90\recipes\indexx.f90 Wed Oct 03 21:25:56 2001 *************** *** 98,100 **** a=iarr(indext) ! do i=j-1,1,-1 if (iarr(index(i)) <= a) exit --- 98,100 ---- a=iarr(indext) ! do i=j-1,l,-1 if (iarr(index(i)) <= a) exit diff -r -b -B -c1 f90\recipes\julday.f90 ..\f90\recipes\julday.f90 *** f90\recipes\julday.f90 Sat Dec 22 12:50:56 2001 --- ..\f90\recipes\julday.f90 Wed Oct 03 21:25:32 2001 *************** *** 16,21 **** end if ! julday=int(365.25_sp*jy)+int(30.6001_sp*jm)+id+1720995 if (id+31*(mm+12*iyyy) >= IGREG) then ! ja=int(0.01_sp*jy) ! julday=julday+2-ja+int(0.25_sp*ja) end if --- 16,21 ---- end if ! julday=floor(365.25_sp*jy)+floor(30.6001_sp*jm)+id+1720995 if (id+31*(mm+12*iyyy) >= IGREG) then ! ja=floor(0.01_sp*jy) ! julday=julday+2-ja+floor(0.25_sp*ja) end if diff -r -b -B -c1 f90\recipes\medfit.f90 ..\f90\recipes\medfit.f90 *** f90\recipes\medfit.f90 Sat Dec 22 12:50:56 2001 --- ..\f90\recipes\medfit.f90 Wed Oct 03 21:26:32 2001 *************** *** 28,29 **** --- 28,30 ---- f1=rofunc(b1) + if (sigb > 0.0) then b2=bb+sign(3.0_sp*sigb,f1) *************** *** 57,58 **** --- 58,60 ---- end do + end if a=aa diff -r -b -B -c1 f90\recipes\mpdiv.f90 ..\f90\recipes\mpdiv.f90 *** f90\recipes\mpdiv.f90 Sat Dec 22 12:50:56 2001 --- ..\f90\recipes\mpdiv.f90 Wed Oct 03 21:26:42 2001 *************** *** 18,20 **** call mpmul(rr,s,u,n+MACC,n) ! call mpsad(s,rr,n+n+MACC/2,1) call mpmov(q,s3,n-m+1) --- 18,20 ---- call mpmul(rr,s,u,n+MACC,n) ! call mpsad(s,rr,n+MACC-1,1) call mpmov(q,s3,n-m+1) diff -r -b -B -c1 f90\recipes\mpinv.f90 ..\f90\recipes\mpinv.f90 *** f90\recipes\mpinv.f90 Sat Dec 22 12:50:56 2001 --- ..\f90\recipes\mpinv.f90 Fri Aug 15 04:19:02 1997 *************** *** 13,15 **** CHARACTER(1), DIMENSION(:), ALLOCATABLE :: rr,s ! allocate(rr(max(n+m)+n+1),s(n)) mm=min(MF,m) --- 13,15 ---- CHARACTER(1), DIMENSION(:), ALLOCATABLE :: rr,s ! allocate(rr(max(n,m)+n+1),s(n)) mm=min(MF,m) diff -r -b -B -c1 f90\recipes\odeint.f90 ..\f90\recipes\odeint.f90 *** f90\recipes\odeint.f90 Sat Dec 22 12:50:56 2001 --- ..\f90\recipes\odeint.f90 Wed Oct 03 21:26:36 2001 *************** *** 54,58 **** y(:)=ystart(:) if (save_steps) then xsav=x-2.0_sp*dxsav - nullify(xp,yp) allocate(xp(256)) --- 54,58 ---- y(:)=ystart(:) + nullify(xp,yp) if (save_steps) then xsav=x-2.0_sp*dxsav allocate(xp(256)) diff -r -b -B -c1 f90\recipes\period.f90 ..\f90\recipes\period.f90 *** f90\recipes\period.f90 Sat Dec 22 12:50:56 2001 --- ..\f90\recipes\period.f90 Wed Oct 03 21:53:32 2001 *************** *** 1,3 **** SUBROUTINE period(x,y,ofac,hifac,px,py,jmax,prob) ! USE nrtype; USE nrutil, ONLY : assert_eq,imaxloc USE nr, ONLY : avevar --- 1,3 ---- SUBROUTINE period(x,y,ofac,hifac,px,py,jmax,prob) ! USE nrtype; USE nrutil, ONLY : assert_eq,imaxloc,nrerror USE nr, ONLY : avevar *************** *** 25,26 **** --- 25,27 ---- call avevar(y(:),ave,var) + if (var == 0.0) call nrerror('zero variance in period') xmax=maxval(x(:)) diff -r -b -B -c1 f90\recipes\qsimp.f90 ..\f90\recipes\qsimp.f90 *** f90\recipes\qsimp.f90 Sat Dec 22 12:50:56 2001 --- ..\f90\recipes\qsimp.f90 Wed Oct 03 21:25:50 2001 *************** *** 14,20 **** INTEGER(I4B), PARAMETER :: JMAX=20 ! REAL(SP), PARAMETER :: EPS=1.0e-6_sp, UNLIKELY=-1.0e30_sp INTEGER(I4B) :: j REAL(SP) :: os,ost,st ! ost=UNLIKELY ! os= UNLIKELY do j=1,JMAX --- 14,20 ---- INTEGER(I4B), PARAMETER :: JMAX=20 ! REAL(SP), PARAMETER :: EPS=1.0e-6_sp INTEGER(I4B) :: j REAL(SP) :: os,ost,st ! ost=0.0 ! os= 0.0 do j=1,JMAX diff -r -b -B -c1 f90\recipes\qtrap.f90 ..\f90\recipes\qtrap.f90 *** f90\recipes\qtrap.f90 Sat Dec 22 12:50:56 2001 --- ..\f90\recipes\qtrap.f90 Wed Oct 03 21:25:42 2001 *************** *** 14,19 **** INTEGER(I4B), PARAMETER :: JMAX=20 ! REAL(SP), PARAMETER :: EPS=1.0e-6_sp, UNLIKELY=-1.0e30_sp REAL(SP) :: olds INTEGER(I4B) :: j ! olds=UNLIKELY do j=1,JMAX --- 14,19 ---- INTEGER(I4B), PARAMETER :: JMAX=20 ! REAL(SP), PARAMETER :: EPS=1.0e-6_sp REAL(SP) :: olds INTEGER(I4B) :: j ! olds=0.0 do j=1,JMAX diff -r -b -B -c1 f90\recipes\toeplz.f90 ..\f90\recipes\toeplz.f90 *** f90\recipes\toeplz.f90 Sat Dec 22 12:50:58 2001 --- ..\f90\recipes\toeplz.f90 Wed Oct 03 21:25:38 2001 *************** *** 26,28 **** sgd=-r(n)+dot_product(r(n-m:n-1),h(m:1:-1)) ! if (sd == 0.0 .or. sgd == 0.0) exit g(m1)=sgn/sgd --- 26,28 ---- sgd=-r(n)+dot_product(r(n-m:n-1),h(m:1:-1)) ! if (sgd == 0.0) exit g(m1)=sgn/sgd diff -r -b -B -c1 f90\recipes\tred2.f90 ..\f90\recipes\tred2.f90 *** f90\recipes\tred2.f90 Sat Dec 22 12:50:58 2001 --- ..\f90\recipes\tred2.f90 Wed Oct 03 21:26:04 2001 *************** *** 9,13 **** REAL(SP), DIMENSION(size(a,1)) :: gg ! LOGICAL(LGT), SAVE :: yesvec=.true. n=assert_eq(size(a,1),size(a,2),size(d),size(e),'tred2') ! if (present(novectors)) yesvec=.not. novectors do i=n,2,-1 --- 9,17 ---- REAL(SP), DIMENSION(size(a,1)) :: gg ! LOGICAL(LGT) :: yesvec n=assert_eq(size(a,1),size(a,2),size(d),size(e),'tred2') ! if (present(novectors)) then ! yesvec=.not. novectors ! else ! yesvec=.true. ! end if do i=n,2,-1