[Boost-bugs] [Boost C++ Libraries] #13325: boost::numeric::odeint::dense_output_runge_kutta call a non-existign function "resize"

Subject: [Boost-bugs] [Boost C++ Libraries] #13325: boost::numeric::odeint::dense_output_runge_kutta call a non-existign function "resize"
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2017-12-05 00:25:47


#13325: boost::numeric::odeint::dense_output_runge_kutta call a non-existign
function "resize"
------------------------------+---------------------
 Reporter: Koichi | Owner: karsten
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: odeint
  Version: Boost 1.65.0 | Severity: Problem
 Keywords: |
------------------------------+---------------------
 I failed the compile of the following code.

 {{{
 #!div style="font-size: 80%"
 source:
   {{{#!c++
 #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;
 }
   }}}
 }}}
 {{{
 #!div style="font-size: 80%"
 output:
   {{{#!c++
 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.

 {{{
 #!div style="font-size: 80%"
 boost/numeric/odeint/stepper/dense_output_runge_kutta.hpp
   {{{#!c++
     //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?
     }
   }}}
 }}}

-- 
Ticket URL: <https://svn.boost.org/trac10/boost/ticket/13325>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-12-05 00:32:39 UTC