diff liboctave/LSODE.cc @ 11502:4638800cd660

delete data pointer members from liboctave ODE/DAE classes; make destuctors virtual in ODE/DAE base classes
author John W. Eaton <jwe@octave.org>
date Thu, 13 Jan 2011 03:16:40 -0500
parents 8a5e980da6aa
children fd0a3ac60b0e
line wrap: on
line diff
--- a/liboctave/LSODE.cc	Thu Jan 13 03:04:51 2011 -0500
+++ b/liboctave/LSODE.cc	Thu Jan 13 03:16:40 2011 -0500
@@ -193,11 +193,6 @@
           itask = 1;
         }
 
-      px = x.fortran_vec ();
-
-      piwork = iwork.fortran_vec ();
-      prwork = rwork.fortran_vec ();
-
       restart = false;
 
       // ODEFunc
@@ -272,11 +267,16 @@
           iopt = 1;
         }
 
-      pabs_tol = abs_tol.fortran_vec ();
-
       LSODE_options::reset = false;
     }
 
+  double *px = x.fortran_vec ();
+
+  double *pabs_tol = abs_tol.fortran_vec ();
+
+  octave_idx_type *piwork = iwork.fortran_vec ();
+  double *prwork = rwork.fortran_vec ();
+
   F77_XFCN (dlsode, DLSODE, (lsode_f, nn, px, t, tout, itol, rel_tol,
                              pabs_tol, itask, istate, iopt, prwork, lrw,
                              piwork, liw, lsode_j, method_flag));