fix import/export of ierode common on Windows
[scilab.git] / scilab / modules / differential_equations / src / fortran / lsode.f
index f41025c..d1b0564 100644 (file)
@@ -1,5 +1,8 @@
       subroutine lsode (f, neq, y, t, tout, itol, rtol, atol, itask,
      1            istate, iopt, rwork, lrw, iwork, liw, jac, mf)
+      
+      include 'stack.h'
+      
       external f, jac
       integer neq, itol, itask, istate, iopt, lrw, iwork, liw, mf
       double precision y, t, tout, rtol, atol, rwork
@@ -973,8 +976,6 @@ c lsode, intdy, stode, prepj, and solsy.  groups of variables are
 c replaced by dummy arrays in the common declarations in routines
 c where those variables are not used.
 c-----------------------------------------------------------------------
-      integer         iero
-      common /ierode/ iero
       common /ls0001/ tret, rowns(209),
      1   ccmax, el0, h, hmin, hmxi, hu, rc, tn, uround,
      2   illin, init, lyh, lewt, lacor, lsavf, lwm, liwm,
@@ -992,7 +993,7 @@ c if istate .gt. 1 but the flag init shows that initialization has
 c not yet been done, an error return occurs.
 c if istate = 1 and tout = t, jump to block g and return immediately.
 c-----------------------------------------------------------------------
-      iero=0
+      ierror=0
       if (istate .lt. 1 .or. istate .gt. 3) go to 601
       if (itask .lt. 1 .or. itask .gt. 5) go to 602
       if (istate .eq. 1) go to 10
@@ -1134,7 +1135,7 @@ c-----------------------------------------------------------------------
 c initial call to f.  (lf0 points to yh(*,2).) -------------------------
       lf0 = lyh + nyh
       call f (neq, t, y, rwork(lf0))
-      if(iero.gt.0) return
+      if(ierror.gt.0) return
       nfe = 1
 c load the initial value vector in yh. ---------------------------------
       do 115 i = 1,n
@@ -1269,7 +1270,7 @@ c-----------------------------------------------------------------------
       call stode (neq, y, rwork(lyh), nyh, rwork(lyh), rwork(lewt),
      1   rwork(lsavf), rwork(lacor), rwork(lwm), iwork(liwm),
      2   f, jac, prepj, solsy)
-      if(iero.gt.0) return
+      if(ierror.gt.0) return
       kgo = 1 - kflag
       go to (300, 530, 540), kgo
 c-----------------------------------------------------------------------