Opened 5 years ago
#13325 new Bugs
boost::numeric::odeint::dense_output_runge_kutta call a non-existign function "resize"
Reported by: | Koichi | Owned by: | karsten |
---|---|---|---|
Milestone: | To Be Determined | Component: | odeint |
Version: | Boost 1.65.0 | Severity: | Problem |
Keywords: | Cc: |
Description
I failed the compile of the following code.
source:
#include<vector> #include<boost/numeric/odeint.hpp> int main(void) { namespace odeint = boost::numeric::odeint; using state_type = std::vector<double>; auto Stepper = odeint::make_dense_output(0.001, 0.001, odeint::runge_kutta_dopri5<state_type>()); state_type State{ 1.0,1.0 }; Stepper.adjust_size(State); return 0; }
output:
error C2039: 'resize': 'boost::numeric::odeint::runge_kutta_dopri5<state_type,double,State,Value,boost::numeric::odeint::algebra_dispatcher_sfinae<StateType,void>::algebra_type,boost::numeric::odeint::operations_dispatcher_sfinae<StateType,void>::operations_type,boost::numeric::odeint::initially_resizer>' is not a member.
This seems to be caused because odeint::dense_output_runge_kutta calls a non-existing function "resize" instead of "adjust_size" of the base stepper.
boost/numeric/odeint/stepper/dense_output_runge_kutta.hpp
//boost/numeric/odeint/stepper/dense_output_runge_kutta.hpp //Line 378-383 template< class StateType > void adjust_size( const StateType &x ) { resize( x ); m_stepper.stepper().resize( x ); //not resize but adjust_size? }
Note:
See TracTickets
for help on using tickets.