Boost C++ Libraries: Ticket #10498: Boost.Odeint: Infinite loop in integrate_adaptive with rosenbrock4 dense output stepper https://svn.boost.org/trac10/ticket/10498 <p> <strong>Problem description</strong>: </p> <p> <em>integrate_adaptive</em> goes into infinite loop with rosenbrock4 dense stepper. </p> <p> After the call to </p> <p> st.initialize( st.current_state() , st.current_time() , static_cast&lt;Time&gt;(end_time - st.current_time()) ); </p> <p> Loop condition </p> <p> while( less_eq_with_sign( static_cast&lt;Time&gt;(st.current_time() + st.current_time_step()) , </p> <blockquote> <p> end_time , st.current_time_step() ) ) </p> </blockquote> <p> evaluates to false, when t1-t2 &lt; std::numeric_limits&lt;T&gt;::epsilon(); is evaluated. </p> <p> <strong>Expected behaviour</strong>: </p> <p> No infinite loops for any well behaving (albeit stiff) system. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/10498 Trac 1.4.3 karsten Tue, 11 Nov 2014 17:08:44 GMT <link>https://svn.boost.org/trac10/ticket/10498#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/10498#comment:1</guid> <description> <p> Does this problem still exists for you with boost version &gt; 1.56 ? There are checks for numeric limits within less_eq_with_sign . </p> <p> Replying to <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/10498" title="#10498: Bugs: Boost.Odeint: Infinite loop in integrate_adaptive with rosenbrock4 ... (closed: fixed)">vygis.d@…</a>: </p> <blockquote class="citation"> <p> <strong>Problem description</strong>: </p> <p> <em>integrate_adaptive</em> goes into infinite loop with rosenbrock4 dense stepper. </p> <p> After the call to </p> <p> st.initialize( st.current_state() , st.current_time() , static_cast&lt;Time&gt;(end_time - st.current_time()) ); </p> <p> Loop condition </p> <p> while( less_eq_with_sign( static_cast&lt;Time&gt;(st.current_time() + st.current_time_step()) , </p> <blockquote> <p> end_time , st.current_time_step() ) ) </p> </blockquote> <p> evaluates to false, when t1-t2 &lt; std::numeric_limits&lt;T&gt;::epsilon(); is evaluated. </p> <p> <strong>Expected behaviour</strong>: </p> <p> No infinite loops for any well behaving (albeit stiff) system. </p> </blockquote> </description> <category>Ticket</category> </item> <item> <dc:creator>mariomulansky</dc:creator> <pubDate>Wed, 10 May 2017 04:19:05 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/10498#comment:2 https://svn.boost.org/trac10/ticket/10498#comment:2 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> Ticket