diff liboctave/DASSL.cc @ 1251:97eac19837dc

[project @ 1995-04-11 15:58:32 by jwe]
author jwe
date Tue, 11 Apr 1995 15:58:32 +0000
parents b6360f2d4fa6
children bb67a902760b
line wrap: on
line diff
--- a/liboctave/DASSL.cc
+++ b/liboctave/DASSL.cc
@@ -31,14 +31,14 @@
 
 extern "C"
 {
-  int F77_FCN (ddassl) (int (*)(double*, double*, double*, double*,
-				int*, double*, int*),
-			const int*, double*, double*, double*,
-			double*, const int*, const double*,
-			const double*, int*, double*, const int*, 
-			int*, const int*, const double*, const int*,
-			int (*)(double*, double*, double*, double*,
-				double*, double*, int*));
+  int F77_FCN (ddassl) (int (*)(const double&, double*, double*,
+				double*, int&, double*, int*),
+			const int&, double&, double*, double*,
+			double&, const int*, const double&,
+			const double&, int&, double*, const int&, 
+			int*, const int&, const double*, const int*,
+			int (*)(const double&, double*, double*,
+				double*, const double&, double*, int*));
 }
 
 static DAEFunc::DAERHSFunc user_fun;
@@ -190,8 +190,8 @@
 }
 
 int
-ddassl_f (double *time, double *state, double *deriv, double *delta,
-	  int *ires, double *rpar, int *ipar)
+ddassl_f (const double& time, double *state, double *deriv,
+	  double *delta, int& ires, double *rpar, int *ipar)
 {
   Vector tmp_deriv (nn);
   Vector tmp_state (nn);
@@ -203,10 +203,10 @@
       tmp_state.elem (i) = state [i];
     }
 
-  tmp_delta = user_fun (tmp_state, tmp_deriv, *time);
+  tmp_delta = user_fun (tmp_state, tmp_deriv, time);
 
   if (tmp_delta.length () == 0)
-    *ires = -2;
+    ires = -2;
   else
     {
       for (i = 0; i < nn; i++)
@@ -217,8 +217,8 @@
 }
 
 int
-ddassl_j (double *time, double *state, double *deriv, double *pd,
-	  double *cj, double *rpar, int *ipar)
+ddassl_j (const double& time, double *state, double *deriv, double *pd,
+	  const double& cj, double *rpar, int *ipar)
 {
   Vector tmp_state (nn);
   Vector tmp_deriv (nn);
@@ -232,11 +232,11 @@
   tmp_jac.dfdxdot = &tmp_dfdxdot;
   tmp_jac.dfdx    = &tmp_dfdx;
 
-  tmp_jac = user_jac (tmp_state, tmp_deriv, *time);
+  tmp_jac = user_jac (tmp_state, tmp_deriv, time);
 
   // Fix up the matrix of partial derivatives for dassl.
 
-  tmp_dfdx = tmp_dfdx + (tmp_dfdxdot * (*cj));
+  tmp_dfdx = tmp_dfdx +  cj * tmp_dfdxdot;
 
   for (int j = 0; j < nn; j++)
     for (int i = 0; i < nn; i++)
@@ -289,8 +289,8 @@
   else
     info[6] = 0;
 
-  double dummy;
-  int idummy;
+  double *dummy;
+  int *idummy;
 
   if (restart)
     {
@@ -300,9 +300,9 @@
 
 // again:
 
-  F77_FCN (ddassl) (ddassl_f, &n, &t, px, pxdot, &tout, info,
-		    &rel_tol, &abs_tol, &idid, rwork, &lrw, iwork,
-		    &liw, &dummy, &idummy, ddassl_j);
+  F77_FCN (ddassl) (ddassl_f, n, t, px, pxdot, tout, info,
+		    rel_tol, abs_tol, idid, rwork, lrw, iwork,
+		    liw, dummy, idummy, ddassl_j);
 
   switch (idid)
     {