diff options
Diffstat (limited to 'boost/numeric/odeint/stepper/generation/generation_dense_output_runge_kutta.hpp')
-rw-r--r-- | boost/numeric/odeint/stepper/generation/generation_dense_output_runge_kutta.hpp | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/boost/numeric/odeint/stepper/generation/generation_dense_output_runge_kutta.hpp b/boost/numeric/odeint/stepper/generation/generation_dense_output_runge_kutta.hpp new file mode 100644 index 0000000000..214d09c1a4 --- /dev/null +++ b/boost/numeric/odeint/stepper/generation/generation_dense_output_runge_kutta.hpp @@ -0,0 +1,54 @@ +/* + [auto_generated] + boost/numeric/odeint/stepper/generation/generation_dense_output_runge_kutta.hpp + + [begin_description] + Specialization of the controller factory for the dense_output_runge_kutta class. + [end_description] + + Copyright 2011-2012 Karsten Ahnert + Copyright 2011-2012 Mario Mulansky + + Distributed under the Boost Software License, Version 1.0. + (See accompanying file LICENSE_1_0.txt or + copy at http://www.boost.org/LICENSE_1_0.txt) + */ + + +#ifndef BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_DENSE_OUTPUT_RUNGE_KUTTA_HPP_INCLUDED +#define BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_DENSE_OUTPUT_RUNGE_KUTTA_HPP_INCLUDED + +#include <boost/numeric/odeint/stepper/controlled_runge_kutta.hpp> +#include <boost/numeric/odeint/stepper/dense_output_runge_kutta.hpp> +#include <boost/numeric/odeint/stepper/generation/make_dense_output.hpp> + +namespace boost { +namespace numeric { +namespace odeint { + +// controller factory for controlled_runge_kutta +template< class Stepper > +struct dense_output_factory< Stepper , dense_output_runge_kutta< controlled_runge_kutta< Stepper > > > +{ + typedef Stepper stepper_type; + typedef controlled_runge_kutta< stepper_type > controller_type; + typedef typename controller_type::error_checker_type error_checker_type; + typedef typename stepper_type::value_type value_type; + typedef dense_output_runge_kutta< controller_type > dense_output_type; + + dense_output_type operator()( value_type abs_error , value_type rel_error , const stepper_type &stepper ) + { + return dense_output_type( controller_type( error_checker_type( abs_error , rel_error ) , stepper ) ); + } +}; + + + + + +} // odeint +} // numeric +} // boost + + +#endif // BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_DENSE_OUTPUT_RUNGE_KUTTA_HPP_INCLUDED |