Scicos: only call CVDense() when necessary 13/16413/1
Paul Bignier [Mon, 27 Apr 2015 15:21:35 +0000 (17:21 +0200)]
Change-Id: I439f6f3d8fe36832cbbb3614163345bb790da83e

scilab/modules/scicos/src/c/scicos.c

index 18e1252..0c8ef8b 100644 (file)
@@ -1618,7 +1618,8 @@ static void cossim(double *told)
             return;
         }
 
-        if (solver != LSodar_Dynamic) /* Call CVDense to specify the CVDENSE dense linear solver */
+        /* Call CVDense to specify the CVDENSE dense linear solver, only for solvers needing CVode's Newton method */
+        if (solver == CVode_BDF_Newton || solver == CVode_Adams_Newton)
         {
             flag = CVDense(ode_mem, *neq);
         }
@@ -3623,9 +3624,9 @@ void callf(double *t, scicos_block *block, scicos_flag *flag)
     //sciprint("callf type=%d flag=%d\n",block->type,flagi);
     switch (block->type)
     {
-        /*******************/
-        /* function type 0 */
-        /*******************/
+            /*******************/
+            /* function type 0 */
+            /*******************/
         case 0 :
         {
             /* This is for compatibility */