101 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /*
 | |
|  [auto_generated]
 | |
|  boost/numeric/odeint/stepper/generation/make_dense_output.hpp
 | |
| 
 | |
|  [begin_description]
 | |
|  Factory function to simplify the creation of dense output steppers from error steppers.
 | |
|  [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_MAKE_DENSE_OUTPUT_HPP_INCLUDED
 | |
| #define BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_MAKE_DENSE_OUTPUT_HPP_INCLUDED
 | |
| 
 | |
| namespace boost {
 | |
| namespace numeric {
 | |
| namespace odeint {
 | |
| 
 | |
| 
 | |
| // default template for the dense output
 | |
| template< class Stepper > struct get_dense_output { };
 | |
| 
 | |
| 
 | |
| 
 | |
| // default dense output factory
 | |
| template< class Stepper , class DenseOutput >
 | |
| struct dense_output_factory
 | |
| {
 | |
|     DenseOutput operator()(
 | |
|             typename Stepper::value_type abs_error ,
 | |
|             typename Stepper::value_type rel_error ,
 | |
|             const Stepper &stepper )
 | |
|     {
 | |
|         return DenseOutput( abs_error , rel_error , stepper );
 | |
|     }
 | |
| 
 | |
|     DenseOutput operator()(
 | |
|             typename Stepper::value_type abs_error ,
 | |
|             typename Stepper::value_type rel_error ,
 | |
|             typename Stepper::time_type max_dt ,
 | |
|             const Stepper &stepper )
 | |
|     {
 | |
|         return DenseOutput( abs_error , rel_error , max_dt , stepper );
 | |
|     }
 | |
| };
 | |
| 
 | |
| 
 | |
| 
 | |
| namespace result_of
 | |
| {
 | |
|     template< class Stepper >
 | |
|     struct make_dense_output
 | |
|     {
 | |
|         typedef typename get_dense_output< Stepper >::type type;
 | |
|     };
 | |
| }
 | |
| 
 | |
| 
 | |
| 
 | |
| template< class Stepper >
 | |
| typename result_of::make_dense_output< Stepper >::type make_dense_output(
 | |
|         typename Stepper::value_type abs_error ,
 | |
|         typename Stepper::value_type rel_error ,
 | |
|         const Stepper &stepper = Stepper() )
 | |
| {
 | |
|     typedef Stepper stepper_type;
 | |
|     typedef typename result_of::make_dense_output< stepper_type >::type dense_output_type;
 | |
|     typedef dense_output_factory< stepper_type , dense_output_type > factory_type;
 | |
|     factory_type factory;
 | |
|     return factory( abs_error , rel_error , stepper );
 | |
| }
 | |
| 
 | |
| 
 | |
| template< class Stepper >
 | |
| typename result_of::make_dense_output< Stepper >::type make_dense_output(
 | |
|         typename Stepper::value_type abs_error ,
 | |
|         typename Stepper::value_type rel_error ,
 | |
|         typename Stepper::time_type max_dt ,
 | |
|         const Stepper &stepper = Stepper() )
 | |
| {
 | |
|     typedef Stepper stepper_type;
 | |
|     typedef typename result_of::make_dense_output< stepper_type >::type dense_output_type;
 | |
|     typedef dense_output_factory< stepper_type , dense_output_type > factory_type;
 | |
|     factory_type factory;
 | |
|     return factory( abs_error , rel_error , max_dt, stepper );
 | |
| }
 | |
| 
 | |
| 
 | |
| } // odeint
 | |
| } // numeric
 | |
| } // boost
 | |
| 
 | |
| 
 | |
| #endif // BOOST_NUMERIC_ODEINT_STEPPER_GENERATION_MAKE_DENSE_OUTPUT_HPP_INCLUDED
 | 
