generation_rosenbrock4.hpp 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /*
  2. [auto_generated]
  3. boost/numeric/odeint/stepper/generation/generation_rosenbrock4.hpp
  4. [begin_description]
  5. Enable the factory functions for the controller and the dense output of the Rosenbrock4 method.
  6. [end_description]
  7. Copyright 2009-2011 Karsten Ahnert
  8. Copyright 2009-2011 Mario Mulansky
  9. Distributed under the Boost Software License, Version 1.0.
  10. (See accompanying file LICENSE_1_0.txt or
  11. copy at http://www.boost.org/LICENSE_1_0.txt)
  12. */
  13. #ifndef BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_ROSENBROCK4_HPP_INCLUDED
  14. #define BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_ROSENBROCK4_HPP_INCLUDED
  15. #include <boost/numeric/odeint/stepper/rosenbrock4.hpp>
  16. #include <boost/numeric/odeint/stepper/rosenbrock4_controller.hpp>
  17. #include <boost/numeric/odeint/stepper/rosenbrock4_dense_output.hpp>
  18. namespace boost {
  19. namespace numeric {
  20. namespace odeint {
  21. template< class Value , class Coefficients , class Resize >
  22. struct get_controller< rosenbrock4< Value , Coefficients , Resize > >
  23. {
  24. typedef rosenbrock4< Value , Coefficients , Resize > stepper_type;
  25. typedef rosenbrock4_controller< stepper_type > type;
  26. };
  27. template< class Value , class Coefficients , class Resize >
  28. struct get_dense_output< rosenbrock4< Value , Coefficients , Resize > >
  29. {
  30. typedef rosenbrock4< Value , Coefficients , Resize > stepper_type;
  31. typedef rosenbrock4_controller< stepper_type > controller_type;
  32. typedef rosenbrock4_dense_output< controller_type > type;
  33. };
  34. // controller factory for controlled_runge_kutta
  35. template< class Stepper >
  36. struct dense_output_factory< Stepper , rosenbrock4_dense_output< rosenbrock4_controller< Stepper > > >
  37. {
  38. typedef Stepper stepper_type;
  39. typedef rosenbrock4_controller< stepper_type > controller_type;
  40. typedef typename stepper_type::value_type value_type;
  41. typedef rosenbrock4_dense_output< controller_type > dense_output_type;
  42. dense_output_type operator()( value_type abs_error , value_type rel_error , const stepper_type &stepper )
  43. {
  44. return dense_output_type( controller_type( abs_error , rel_error , stepper ) );
  45. }
  46. };
  47. } // odeint
  48. } // numeric
  49. } // boost
  50. #endif // BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_GENERATION_ROSENBROCK4_HPP_INCLUDED