mirror of
https://github.com/boostorg/odeint.git
synced 2026-01-22 17:32:28 +00:00
113 lines
6.2 KiB
Plaintext
113 lines
6.2 KiB
Plaintext
# Copyright 2012-2013 Karsten Ahnert
|
|
# Copyright 2012-2013 Mario Mulansky
|
|
# Copyright 2013 Pascal Germroth
|
|
# Copyright 2023 Matt Borland
|
|
# 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)
|
|
|
|
# bring in rules for testing
|
|
|
|
import testing ;
|
|
import ../../config/checks/config : requires ;
|
|
|
|
# make sure you are using a new version of boost.build, otherwise the local
|
|
# odeint will not be included properly
|
|
# you can fix older boost.build versions by applying the patch provided in
|
|
# odeint's root, e.g.:
|
|
# cd ~/odeint-v2
|
|
# sudo patch /usr/share/boost-build/build/toolset.jam toolset.jam.patch
|
|
|
|
use-project boost : $(BOOST_ROOT) ;
|
|
|
|
project
|
|
: requirements
|
|
<define>BOOST_ALL_NO_LIB=1
|
|
# use test library
|
|
<library>/boost//unit_test_framework
|
|
<link>static
|
|
<toolset>clang:<cxxflags>-Wno-unused-variable
|
|
# <cxxflags>-D_SCL_SECURE_NO_WARNINGS
|
|
<define>_CRT_SECURE_NO_WARNINGS
|
|
<warnings>extra
|
|
# <toolset>msvc:<warnings-as-errors>on
|
|
<toolset>clang:<warnings-as-errors>on
|
|
<toolset>gcc:<warnings-as-errors>on
|
|
[ requires cxx11_noexcept cxx11_rvalue_references sfinae_expr cxx11_auto_declarations cxx11_lambdas cxx11_unified_initialization_syntax cxx11_hdr_tuple cxx11_hdr_initializer_list cxx11_hdr_chrono cxx11_thread_local cxx11_constexpr cxx11_nullptr cxx11_numeric_limits cxx11_decltype cxx11_hdr_array cxx11_hdr_atomic cxx11_hdr_type_traits cxx11_allocator cxx11_explicit_conversion_operators ]
|
|
;
|
|
|
|
test-suite "odeint"
|
|
:
|
|
[ run euler_stepper.cpp ]
|
|
# The following 3 tests use Boost.Multiprecision which requires C++14
|
|
[ run runge_kutta_concepts.cpp : : : <toolset>gcc-mingw:<cxxflags>-Wa,-mbig-obj <debug-symbols>off <toolset>msvc:<cxxflags>/bigobj [ requires cxx14_decltype_auto cxx14_generic_lambdas cxx14_return_type_deduction cxx14_variable_templates cxx14_constexpr ] ]
|
|
[ run runge_kutta_error_concepts.cpp : : : <toolset>gcc-mingw:<cxxflags>-Wa,-mbig-obj <debug-symbols>off <toolset>msvc:<cxxflags>/bigobj [ requires cxx14_decltype_auto cxx14_generic_lambdas cxx14_return_type_deduction cxx14_variable_templates cxx14_constexpr ] ]
|
|
[ run runge_kutta_controlled_concepts.cpp : : : <toolset>gcc-mingw:<cxxflags>-Wa,-mbig-obj <debug-symbols>off <toolset>msvc:<cxxflags>/bigobj [ requires cxx14_decltype_auto cxx14_generic_lambdas cxx14_return_type_deduction cxx14_variable_templates cxx14_constexpr ] ]
|
|
[ run resizing.cpp ]
|
|
[ run default_operations.cpp ]
|
|
[ run range_algebra.cpp ]
|
|
[ run implicit_euler.cpp ]
|
|
# disable in clang
|
|
[ run fusion_algebra.cpp : : : <toolset>clang:<build>no <toolset>gcc-mingw:<cxxflags>-Wa,-mbig-obj <debug-symbols>off <toolset>msvc:<cxxflags>/bigobj ]
|
|
[ run stepper_with_units.cpp : : : <toolset>clang:<build>no <toolset>gcc-mingw:<cxxflags>-Wa,-mbig-obj <debug-symbols>off <toolset>msvc:<cxxflags>/bigobj [ requires cxx14_decltype_auto cxx14_generic_lambdas cxx14_return_type_deduction cxx14_variable_templates cxx14_constexpr ] ]
|
|
[ run stepper_copying.cpp ]
|
|
[ run stepper_with_ranges.cpp ]
|
|
[ run rosenbrock4.cpp ]
|
|
[ run rosenbrock4_mp.cpp : : : [ requires cxx14_decltype_auto cxx14_generic_lambdas cxx14_return_type_deduction cxx14_variable_templates cxx14_constexpr ] ]
|
|
[ run is_pair.cpp ]
|
|
[ run adams_bashforth.cpp ]
|
|
[ run adams_moulton.cpp ]
|
|
[ run adams_bashforth_moulton.cpp ]
|
|
[ run controlled_adams_bashforth_moulton.cpp ]
|
|
[ run adaptive_adams_coefficients.cpp ]
|
|
[ run generic_stepper.cpp ]
|
|
[ run generic_error_stepper.cpp ]
|
|
[ run bulirsch_stoer.cpp : : : [ requires cxx14_decltype_auto cxx14_generic_lambdas cxx14_return_type_deduction cxx14_variable_templates cxx14_constexpr ] ]
|
|
[ run integrate_times.cpp : : : [ requires cxx14_decltype_auto cxx14_generic_lambdas cxx14_return_type_deduction cxx14_variable_templates cxx14_constexpr ] ]
|
|
[ run integrate_times.cpp : : : [ requires cxx14_decltype_auto cxx14_generic_lambdas cxx14_return_type_deduction cxx14_variable_templates cxx14_constexpr ] <define>ODEINT_INTEGRATE_ITERATOR : integrate_times_iterator ]
|
|
[ run integrate.cpp : : : [ requires cxx14_decltype_auto cxx14_generic_lambdas cxx14_return_type_deduction cxx14_variable_templates cxx14_constexpr ] ]
|
|
[ run integrate.cpp : : : [ requires cxx14_decltype_auto cxx14_generic_lambdas cxx14_return_type_deduction cxx14_variable_templates cxx14_constexpr ] <define>ODEINT_INTEGRATE_ITERATOR : integrate_iterator ]
|
|
[ run integrate_implicit.cpp ]
|
|
[ run integrate_implicit.cpp : : : <define>ODEINT_INTEGRATE_ITERATOR : integrate_implicit_iterator ]
|
|
[ run generation.cpp ]
|
|
[ run trivial_state.cpp ]
|
|
[ run is_resizeable.cpp ]
|
|
[ run resize.cpp ]
|
|
[ run same_size.cpp ]
|
|
[ run split.cpp ]
|
|
[ run symplectic_steppers.cpp ]
|
|
[ run integrators_symplectic.cpp ]
|
|
[ run integrators_symplectic.cpp : : : <define>ODEINT_INTEGRATE_ITERATOR : integrators_symplectic_iterator ]
|
|
[ run velocity_verlet.cpp ]
|
|
[ run multi_array.cpp ]
|
|
[ compile algebra_dispatcher.cpp ]
|
|
[ run integrate_stepper_refs.cpp ]
|
|
[ run const_step_iterator.cpp ]
|
|
[ run const_step_time_iterator.cpp ]
|
|
[ run adaptive_iterator.cpp ]
|
|
[ run adaptive_time_iterator.cpp ]
|
|
[ run n_step_iterator.cpp ]
|
|
[ run n_step_time_iterator.cpp ]
|
|
[ run times_iterator.cpp ]
|
|
[ run times_time_iterator.cpp ]
|
|
[ run step_size_limitation.cpp : : : [ requires cxx14_decltype_auto cxx14_generic_lambdas cxx14_return_type_deduction cxx14_variable_templates cxx14_constexpr ] ]
|
|
[ run integrate_overflow.cpp : : : [ requires cxx14_decltype_auto cxx14_generic_lambdas cxx14_return_type_deduction cxx14_variable_templates cxx14_constexpr ] ]
|
|
[ compile unwrap_boost_reference.cpp ]
|
|
[ compile unwrap_reference.cpp ]
|
|
[ compile std_array.cpp : [ requires cxx14_decltype_auto cxx14_generic_lambdas cxx14_return_type_deduction cxx14_variable_templates cxx14_constexpr ] ]
|
|
:
|
|
<testing.launcher>valgrind
|
|
;
|
|
|
|
# also run numeric tests
|
|
build-project numeric ;
|
|
|
|
build-project regression ;
|
|
|
|
# test-suite "odeint-iterator_integrate"
|
|
# :
|
|
# [ run integrate.cpp : : : : integrate_iterator ]
|
|
# : <testing.launcher>valgrind
|
|
# <define>ODEINT_ITERATOR_INTEGRATE
|
|
# ;
|
|
|