[CppAD] Infinite loop in ode_err_control
Brad Bell
bradbell at seanet.com
Thu Sep 6 10:01:25 EDT 2007
Mitch:
Thanks for the bug report. I was able to reproduce the infinite loop. A
correction for this will be available starting with cppad-20070907.
If you need the correction today, you can make the changes to your copy of
include/cppad/ode_err_control.hpp
(see changset below). Another option is to use the subversion install
procedure;
http://www.coin-or.org/CppAD/Doc/installsubversion.xml
The correction is in the following changeset for the CppAD source code
https://projects.coin-or.org/CppAD/changeset/990
This changeset displays the correction to
https://projects.coin-or.org/CppAD/browser/trunk/cppad/ode_err_control.hpp?rev=990
The test that reproduces the infinite loop is called
OdeErrControl_four
It is part of the file
https://projects.coin-or.org/CppAD/browser/trunk/test_more/ode_err_control.cpp?rev=990
(It is also displayed in the changeset mentioned above)
Mitch Watrous wrote:
> Hi.
>
> I have version 20070904 of CppAD installed on my Linux machine.
>
> From my discussion with Brad Bell today, we believe that the following
> code from lines 508 to 513 of ode_err_control.hpp cause an infinite
> loop for my problem, which has derivatives all set equal to Not a
> Number (NaN):
>
> // check if this steps error estimate is ok
> ok = ! (hasnan(xb) || hasnan(eb));
> if( (! ok) && (step <= smin) )
> { ef = nan_vec;
> return nan_vec;
> }
>
>
> Thanks,
> Mitch Watrous
> RFPK
> University of Washington
> _______________________________________________
> CppAD mailing list
> CppAD at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/cppad
>
>
More information about the CppAD
mailing list