At Wed, 15 Apr 2009 22:47:08 +0300, Taneli Kalvas wrote: > The y values are restored, but the t value is not. This happens in case, > where the control function has first rejected a step because of too > large error and when taking a new step, the user function returns an > error.
I'm going to add the patch below to ode-initval/evolve.c. I believe it should fix this problem (I've also extended the test program to catch this case). Thanks for reporting it. -- Brian Gough (GSL Maintainer) Support freedom by joining the FSF! http://www.fsf.org/associate/support_freedom/join_fsf?referrer=37 index 06961e8..8a4218e 100644 --- a/ode-initval/evolve.c +++ b/ode-initval/evolve.c @@ -181,6 +181,7 @@ try_step: if (step_status != GSL_SUCCESS) { *h = h0; /* notify user of step-size which caused the failure */ + *t = t0; /* restore original t value */ return step_status; } _______________________________________________ Bug-gsl mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-gsl
