summaryrefslogtreecommitdiff
path: root/boost/numeric/odeint/stepper/generation/make_dense_output.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/numeric/odeint/stepper/generation/make_dense_output.hpp')
-rw-r--r--boost/numeric/odeint/stepper/generation/make_dense_output.hpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/boost/numeric/odeint/stepper/generation/make_dense_output.hpp b/boost/numeric/odeint/stepper/generation/make_dense_output.hpp
index a28e31b5d2..fff3590525 100644
--- a/boost/numeric/odeint/stepper/generation/make_dense_output.hpp
+++ b/boost/numeric/odeint/stepper/generation/make_dense_output.hpp
@@ -39,6 +39,15 @@ struct dense_output_factory
{
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 );
+ }
};
@@ -68,6 +77,19 @@ typename result_of::make_dense_output< Stepper >::type make_dense_output(
}
+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