Chris@16: /* Chris@16: [auto_generated] Chris@16: boost/numeric/odeint/stepper/generation/generation_rosenbrock4.hpp Chris@16: Chris@16: [begin_description] Chris@16: Enable the factory functions for the controller and the dense output of the Rosenbrock4 method. Chris@16: [end_description] Chris@16: Chris@101: Copyright 2011-2012 Karsten Ahnert Chris@101: Copyright 2011-2012 Mario Mulansky Chris@16: Chris@16: Distributed under the Boost Software License, Version 1.0. Chris@16: (See accompanying file LICENSE_1_0.txt or Chris@16: copy at http://www.boost.org/LICENSE_1_0.txt) Chris@16: */ Chris@16: Chris@16: Chris@16: #ifndef BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_ROSENBROCK4_HPP_INCLUDED Chris@16: #define BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_ROSENBROCK4_HPP_INCLUDED Chris@16: Chris@16: #include Chris@16: #include Chris@16: #include Chris@16: Chris@16: Chris@16: namespace boost { Chris@16: namespace numeric { Chris@16: namespace odeint { Chris@16: Chris@16: Chris@16: template< class Value , class Coefficients , class Resize > Chris@16: struct get_controller< rosenbrock4< Value , Coefficients , Resize > > Chris@16: { Chris@16: typedef rosenbrock4< Value , Coefficients , Resize > stepper_type; Chris@16: typedef rosenbrock4_controller< stepper_type > type; Chris@16: }; Chris@16: Chris@16: Chris@16: Chris@16: template< class Value , class Coefficients , class Resize > Chris@16: struct get_dense_output< rosenbrock4< Value , Coefficients , Resize > > Chris@16: { Chris@16: typedef rosenbrock4< Value , Coefficients , Resize > stepper_type; Chris@16: typedef rosenbrock4_controller< stepper_type > controller_type; Chris@16: typedef rosenbrock4_dense_output< controller_type > type; Chris@16: }; Chris@16: Chris@16: Chris@16: Chris@16: // controller factory for controlled_runge_kutta Chris@16: template< class Stepper > Chris@16: struct dense_output_factory< Stepper , rosenbrock4_dense_output< rosenbrock4_controller< Stepper > > > Chris@16: { Chris@16: typedef Stepper stepper_type; Chris@16: typedef rosenbrock4_controller< stepper_type > controller_type; Chris@16: typedef typename stepper_type::value_type value_type; Chris@16: typedef rosenbrock4_dense_output< controller_type > dense_output_type; Chris@16: Chris@16: dense_output_type operator()( value_type abs_error , value_type rel_error , const stepper_type &stepper ) Chris@16: { Chris@16: return dense_output_type( controller_type( abs_error , rel_error , stepper ) ); Chris@16: } Chris@16: }; Chris@16: Chris@16: Chris@16: Chris@16: } // odeint Chris@16: } // numeric Chris@16: } // boost Chris@16: Chris@16: Chris@16: #endif // BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_ROSENBROCK4_HPP_INCLUDED