Hello Stéphane, As this change can have an impact on existing code (even if the previous is incorrect) could please fix it in master ?
Thanks, -- Clément Le mercredi 11 avril 2018 à 15:40 +0200, Stéphane Mottelet a écrit : > I forgot to give the path to the source file: > > scilab/modules/differential_equations/src/fortran/rkf45.f > > Le 11/04/2018 à 15:36, Stéphane Mottelet a écrit : > > Hello devs, > > > > As I said in http://bugzilla.scilab.org/show_bug.cgi?id=15523#c4, > > there is a an easy fix to repair mode %ODEOPTIONS(1)=2 for the "rkf" > > solver. In fact, lines 189-90 of this file > > > > if(itask.eq.1) then iflag=1 > > if(itask.eq.2) then iflag=-1 > > > > appear as completely *dumb* as fortran compilers (at least gfortran on > > OSX) silently ignore the code following a "then" on the same line. The > > following program : > > > > program dumb_program > > flag=0 > > if (flag.eq.0) then flag=1/flag > > print *,flag > > end program dumb_program > > > > gives the output > > > > 0.00000000 > > > > Even by using -Wall no warning is produced at compilation. Anyway, > > there are only two allowed forms: > > > > -short form: > > > > if (flag.eq.0) flag=1/flag > > > > -long form: > > > > if (flag.eq.0) then > > flag=1/flag > > endif > > > > And the fixed program works as expected > > > > program dumb_program > > flag=0 > > if (flag.eq.0) flag=1/flag > > print *,flag > > end program dumb_program > > > > as the output is > > > > Infinity > > > > Hence, my question is: can I create a small patch for "rkf" solver, > > commited to 6.0 branch, and keep the improvements to 'rk' solver for > > master ? > > > > S. > > > > > > _______________________________________________ dev mailing list dev@lists.scilab.org http://lists.scilab.org/mailman/listinfo/dev