diff -r -c1 recipes_f-90/COPYRIGHT.NOTICE ../recipes_f-90/COPYRIGHT.NOTICE *** recipes_f-90/COPYRIGHT.NOTICE Sun Jul 06 06:14:50 1997 --- ../recipes_f-90/COPYRIGHT.NOTICE Fri Nov 30 18:49:58 2001 *************** *** 1,2 **** ! The contents of this Numerical Recipes Fortran90 distribution are ! Copyright (C) 1986-1997 Numerical Recipes Software. --- 1,2 ---- ! The contents of this Numerical Recipes Fortran 90 distribution are ! Copyright (C) 1986-2002 Numerical Recipes Software. diff -r -c1 recipes_f-90/doc/ADDRESS ../recipes_f-90/doc/ADDRESS *** recipes_f-90/doc/ADDRESS Tue Nov 10 13:31:50 1992 --- ../recipes_f-90/doc/ADDRESS Fri Nov 30 17:54:58 2001 *************** *** 1,3 **** Our address is: Numerical Recipes Software ! P.O. Box 243 Cambridge, MA 02238 (USA) --- 1,3 ---- Our address is: Numerical Recipes Software ! P.O. Box 380243 Cambridge, MA 02238 (USA) diff -r -c1 recipes_f-90/doc/DISTRIBUTION ../recipes_f-90/doc/DISTRIBUTION *** recipes_f-90/doc/DISTRIBUTION Thu Nov 19 03:54:54 1992 --- ../recipes_f-90/doc/DISTRIBUTION Fri Nov 30 18:01:22 2001 *************** *** 10,22 **** in your program executable. Contact Numerical Recipes Software at ! P.O. Box 243, Cambridge, MA 02238 (USA) [fax 617-863-1739] for details. In distributing a program containing Numerical Recipes routines, you acknowledge acceptance of the DISCLAIMER OF WARRANTY ! below, and of the fact that no business relationship is created ! between your program's users and Numerical Recipes Software, the ! authors of the Numerical Recipes books, or Cambridge University Press. ! If you want to distribute software that has Numerical Recipes in the ! form of source code or individually callable object modules, then you ! must contact Numerical Recipes Software for further information. A ! fee (per Recipe) is charged, and we normally limit the total number ! of Recipes distributed to 20. --- 10,21 ---- in your program executable. Contact Numerical Recipes Software at ! P.O. Box 380243, Cambridge, MA 02238 (USA) [fax 617-863-1739] for details. In distributing a program containing Numerical Recipes routines, you acknowledge acceptance of the DISCLAIMER OF WARRANTY ! distributed herewith, and of the fact that no business relationship ! is created between your program's users and Numerical Recipes ! Software, the authors of the Numerical Recipes books, or Cambridge ! University Press. ! For complete information on permissions, please go to ! http://www.nr.com/infotop.html ! or contact Numerical Recipes Software at the address given above. diff -r -c1 recipes_f-90/doc/ORDERING ../recipes_f-90/doc/ORDERING *** recipes_f-90/doc/ORDERING Tue Nov 10 13:36:12 1992 --- ../recipes_f-90/doc/ORDERING Sun Nov 25 19:07:18 2001 *************** *** 2,4 **** ! Numerical Recipes books, and diskettes for IBM/PC-compatible and Apple Macintosh computers, are published exclusively by Cambridge --- 2,4 ---- ! Numerical Recipes books, and CDROMs for IBM/PC-compatible and Apple Macintosh computers, are published exclusively by Cambridge *************** *** 14,15 **** --- 14,19 ---- + e-mail: orders@cup.org + + Web: http://www.cambridge.org + Outside of North America, orders may be placed with: *************** *** 20,33 **** Cambridge, CB2 2RU ! U.K. more... ! fax: (U.K. country code+) 223 315052 telex: 851 817256 CUPCAM G The following books are available (prices subject to change): ! Numerical Recipes in FORTRAN, 2nd Edition (hardcover) $49.95 ! Numerical Recipes FORTRAN Example Book, 2nd Ed. (paper) $29.95 - Numerical Recipes in C, 2nd Edition (hardcover) $49.95 - Numerical Recipes C Example Book, 2nd Ed. (paper) $29.95 --- 24,48 ---- Cambridge, CB2 2RU ! U.K. ! fax: (U.K. country code+) 223 325891 telex: 851 817256 CUPCAM G + e-mail: directcustserv@cambridge.org + + Web: http://www.cambridge.org + The following books are available (prices subject to change): ! Numerical Recipes in Fortran 77, 2nd Edition (hardcover) $64.95 ! (Volume 1 of Fortran Numerical Recipes) ! Numerical Recipes in Fortran 90 (hardcover) $47.95 ! (Volume 2 of Fortran Numerical Recipes) ! Numerical Recipes FORTRAN Example Book, 2nd Ed. (paper) $32.95 ! ! Numerical Recipes in C, 2nd Edition (hardcover) $64.95 ! Numerical Recipes C Example Book, 2nd Ed. (paper) $32.95 ! ! Numerical Recipes in C++, 2nd Edition (hardcover) $69.95 ! Numerical Recipes Example Book (C++) (paper) $34.95 *************** *** 35,43 **** ! Numerical Recipes in Pascal, Revised Edition (hardcover) $49.95 Numerical Recipes Example Book (Pascal), Revised Ed. (paper) $29.95 ! Numerical Recipes Routines and Examples in BASIC (paper) $32.50 ! Diskettes are available in FORTRAN, C, Pascal, and BASIC (Microsoft ! QuickBASIC), for IBM/PC-compatibles and Apple Macintosh. Contact Cambridge University Press for pricing information. A TrueBasic --- 50,58 ---- ! Numerical Recipes in Pascal, Revised Edition (hardcover) $59.95 Numerical Recipes Example Book (Pascal), Revised Ed. (paper) $29.95 ! Numerical Recipes Routines and Examples in BASIC (paper) $37.95 ! CDROMs are available for all languages for Windows, Apple Macintosh, ! and Unix/Linux operating systems. Contact Cambridge University Press for pricing information. A TrueBasic diff -r -c1 recipes_f-90/doc/VERSION ../recipes_f-90/doc/VERSION *** recipes_f-90/doc/VERSION Sat Jul 19 07:26:12 1997 --- ../recipes_f-90/doc/VERSION Fri Nov 30 18:07:42 2001 *************** *** 1,2 **** ! Numerical Recipes in FORTRAN90 ! Unix Version 2.08 --- 1,2 ---- ! Numerical Recipes in Fortran 90 ! UNIX/Linux Version 2.10 diff -r -c1 recipes_f-90/makefile ../recipes_f-90/makefile *** recipes_f-90/makefile Thu May 09 07:22:04 1996 --- ../recipes_f-90/makefile Sun Nov 25 14:10:16 2001 *************** *** 52,54 **** xtwofft.reslt xvander.reslt xvegas.reslt xvoltra.reslt xwt1.reslt \ ! xwtn.reslt xzbrac.reslt xzbrak.reslt xzrhqr.reslt xzroots.reslt --- 51,54 ---- xtwofft.reslt xvander.reslt xvegas.reslt xvoltra.reslt xwt1.reslt \ ! xwtn.reslt xzbrac.reslt xzbrak.reslt xzrhqr.reslt xzroots.reslt \ ! badluk.reslt fredex.reslt sfroid.reslt sphoot.reslt *************** *** 952,956 **** --- 952,960 ---- badluk.out : nrtype.o nrutil.o nr.o badluk.o flmoon.o julday.o + $(F90) $(F90OPTS) -o badluk.out nrtype.o nrutil.o nr.o badluk.o flmoon.o julday.o fredex.out : nrtype.o nrutil.o nr.o fredex.o kermom.o quadmx.o wwghts.o lubksb.o ludcmp.o + $(F90) $(F90OPTS) -o fredex.out nrtype.o nrutil.o nr.o fredex.o kermom.o quadmx.o wwghts.o lubksb.o ludcmp.o sfroid.out : nrtype.o nrutil.o nr.o sfroid.o solvde.o plgndr.o difeq.o + $(F90) $(F90OPTS) -o sfroid.out nrtype.o nrutil.o nr.o sfroid.o solvde.o plgndr.o difeq.o sphoot.out : nrtype.o nrutil.o nr.o odeint.o sphoot.o shoot.o rkqs.o rkck.o fmin.o newt.o fdjac.o lnsrch.o lubksb.o ludcmp.o + $(F90) $(F90OPTS) -o sphoot.out nrtype.o nrutil.o nr.o odeint.o sphoot.o shoot.o rkqs.o rkck.o fmin.o newt.o fdjac.o lnsrch.o lubksb.o ludcmp.o diff -r -c1 recipes_f-90/recipes/bessjy.f90 ../recipes_f-90/recipes/bessjy.f90 *** recipes_f-90/recipes/bessjy.f90 Sat Feb 18 20:11:48 1995 --- ../recipes_f-90/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 -c1 recipes_f-90/recipes/caldat.f90 ../recipes_f-90/recipes/caldat.f90 *** recipes_f-90/recipes/caldat.f90 Fri May 30 14:02:40 1997 --- ../recipes_f-90/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 -c1 recipes_f-90/recipes/fasper.f90 ../recipes_f-90/recipes/fasper.f90 *** recipes_f-90/recipes/fasper.f90 Sat Feb 18 20:11:54 1995 --- ../recipes_f-90/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 -c1 recipes_f-90/recipes/hqr.f90 ../recipes_f-90/recipes/hqr.f90 *** recipes_f-90/recipes/hqr.f90 Thu Dec 07 13:08:12 1995 --- ../recipes_f-90/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 -c1 recipes_f-90/recipes/indexx.f90 ../recipes_f-90/recipes/indexx.f90 *** recipes_f-90/recipes/indexx.f90 Mon Mar 13 13:03:48 1995 --- ../recipes_f-90/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 -c1 recipes_f-90/recipes/julday.f90 ../recipes_f-90/recipes/julday.f90 *** recipes_f-90/recipes/julday.f90 Tue Apr 11 19:21:18 1995 --- ../recipes_f-90/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 -c1 recipes_f-90/recipes/medfit.f90 ../recipes_f-90/recipes/medfit.f90 *** recipes_f-90/recipes/medfit.f90 Thu Nov 16 13:13:04 1995 --- ../recipes_f-90/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 -c1 recipes_f-90/recipes/mpdiv.f90 ../recipes_f-90/recipes/mpdiv.f90 *** recipes_f-90/recipes/mpdiv.f90 Fri Jul 04 22:42:38 1997 --- ../recipes_f-90/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 -c1 recipes_f-90/recipes/odeint.f90 ../recipes_f-90/recipes/odeint.f90 *** recipes_f-90/recipes/odeint.f90 Wed Mar 20 15:05:36 1996 --- ../recipes_f-90/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 -c1 recipes_f-90/recipes/period.f90 ../recipes_f-90/recipes/period.f90 *** recipes_f-90/recipes/period.f90 Fri Feb 17 17:10:50 1995 --- ../recipes_f-90/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 -c1 recipes_f-90/recipes/qsimp.f90 ../recipes_f-90/recipes/qsimp.f90 *** recipes_f-90/recipes/qsimp.f90 Fri May 30 14:02:40 1997 --- ../recipes_f-90/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 -c1 recipes_f-90/recipes/qtrap.f90 ../recipes_f-90/recipes/qtrap.f90 *** recipes_f-90/recipes/qtrap.f90 Fri May 30 14:02:40 1997 --- ../recipes_f-90/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 -c1 recipes_f-90/recipes/toeplz.f90 ../recipes_f-90/recipes/toeplz.f90 *** recipes_f-90/recipes/toeplz.f90 Thu Oct 05 11:31:16 1995 --- ../recipes_f-90/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 -c1 recipes_f-90/recipes/tred2.f90 ../recipes_f-90/recipes/tred2.f90 *** recipes_f-90/recipes/tred2.f90 Wed Mar 20 15:05:38 1996 --- ../recipes_f-90/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