next up previous contents
Next: Poisson equation solver Up: Double precision Previous: Integration routines

``rk4ind''

Update your ODE routines in Problems 1.1 to function in double precision:

C:       void derivs(double x, double y[], double dydx[],
                     int k, double rho[], double r[], double dr[], int Nu)

Fortran: subroutine derivs(x,y,dydx,k,rho,r,dr,Nu)
         implicit none
         double precision x,y(*),dydx(*),rho(Nu+1),r(Nu+1),dr(Nu+1)
         integer k,Nu

and

C:       void rk4ind(double y[], double dydx[], int n, double x, double h, double yout[],
               void (*derivs)(double, double [], double [], int, double[], double[], double[], int),
               int k, int dk, double rho[], double r[], double dr[],int Nu)

Fortran: subroutine rk4ind(y,dydx,n,x,h,yout,derivs,k,dk,rho,r,dr,Nu)
         implicit none
         double precision y(n),dydx(n),x,h,yout(n),rho(Nu+1),r(Nu+1),dr(Nu+1)
         integer n,k,dk,Nu
         external derivs

Notes: Again, this should involve mostly replacing all occurrences of ``float'' with ``double'' or replacing ``real'' with ``double'' and, if your code is in Fortran, making sure all numerical constants are in double precision. Also, if you are programming in C, be sure to replace the calls to the ``vector'' utility with calls to ``dvector''.



Tomas Arias
Tue Feb 8 16:02:01 EST 2000