controlled_step_result try_step_v1( System system , StateInOut &x , time_type &t , time_type &dt ) { typename boost::unwrap_reference< System >::type &sys = system; m_dxdt_resizer.adjust_size( x , boost::bind( &generic_controlled_stepper::template resize_m_dxdt_impl< StateInOut > , boost::ref( *this ) , _1 ) ); sys( x , m_dxdt.m_v ,t ); return try_step( system , x , m_dxdt.m_v , t , dt ); }
controlled_step_result try_step( System system , const StateInOut &x , time_type &t , time_type &dt ) { m_xnew_resizer.adjust_size( x , boost::bind( &generic_controlled_stepper::template resize_m_xnew_impl< state_type > , boost::ref( *this ) , _1 ) ); controlled_step_result result = try_step( system , x , t , m_xnew.m_v , dt ); if( result == success ) { boost::numeric::odeint::copy( m_xnew.m_v , x ); } return result; }
boost::numeric::odeint::controlled_step_result try_step( System sys , state_type &x , time_type &t , time_type &dt ) { m_xnew_resizer.adjust_size( x , detail::bind( &controller_type::template resize_m_xnew< state_type > , detail::ref( *this ) , detail::_1 ) ); boost::numeric::odeint::controlled_step_result res = try_step( sys , x , t , m_xnew.m_v , dt ); if( res == success ) { boost::numeric::odeint::copy( m_xnew.m_v , x ); } return res; }