mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-27 11:00:32 -04:00 
			
		
		
		
	
		
			
	
	
		
			58 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
		
		
			
		
	
	
			58 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
|  | /*
 | ||
|  |  [auto_generated] | ||
|  |  test/std_array.cpp | ||
|  | 
 | ||
|  |  [begin_description] | ||
|  |  Checks if odeint compiles fine with the std::array using the array algebra | ||
|  |  [end_description] | ||
|  | 
 | ||
|  |  Copyright 2009-2014 Karsten Ahnert | ||
|  |  Copyright 2009-2014 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)
 | ||
|  |  */ | ||
|  | 
 | ||
|  | 
 | ||
|  | #define BOOST_TEST_MODULE odeint_std_array
 | ||
|  | 
 | ||
|  | #include <array>
 | ||
|  | #include <boost/numeric/odeint.hpp>
 | ||
|  | #include <boost/static_assert.hpp>
 | ||
|  | #include <boost/type_traits/is_same.hpp>
 | ||
|  | #include <boost/test/unit_test.hpp>
 | ||
|  | 
 | ||
|  | using namespace boost::unit_test; | ||
|  | 
 | ||
|  | typedef std::array<double, 3> state_type; | ||
|  | 
 | ||
|  | void rhs(const state_type &x, state_type &dxdt, const double t) | ||
|  | { | ||
|  | } | ||
|  | 
 | ||
|  | BOOST_AUTO_TEST_SUITE( unwrap_reference_test ) | ||
|  | 
 | ||
|  | BOOST_AUTO_TEST_CASE( test_case ) | ||
|  | { | ||
|  |     state_type x = {0.0, 0.0, 0.0}; | ||
|  | 
 | ||
|  |     typedef boost::numeric::odeint::runge_kutta4<state_type> stepper_type; | ||
|  | // check if array algebra is selected, but only if odeint detects c++11
 | ||
|  | #ifdef BOOST_NUMERIC_ODEINT_CXX11
 | ||
|  |     BOOST_STATIC_ASSERT(( boost::is_same< stepper_type::algebra_type ,  | ||
|  |                           boost::numeric::odeint::array_algebra >::value )); | ||
|  | #endif
 | ||
|  |     stepper_type stepper1; | ||
|  |     stepper1.do_step(rhs, x, 0.0, 0.1); | ||
|  | 
 | ||
|  |     boost::numeric::odeint::runge_kutta4< | ||
|  |         state_type, double, state_type, double, | ||
|  |         boost::numeric::odeint::array_algebra > stepper; | ||
|  |     stepper.do_step(rhs, x, 0.0, 0.1); | ||
|  | 
 | ||
|  | } | ||
|  | 
 | ||
|  | 
 | ||
|  | BOOST_AUTO_TEST_SUITE_END() |