summaryrefslogtreecommitdiff
path: root/libs/numeric/odeint/test/Jamfile.v2
blob: efa35a5780286738a4108a95bf480bc084917173 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# Copyright 2012-2013 Karsten Ahnert
# Copyright 2012-2013 Mario Mulansky
# Copyright 2013 Pascal Germroth
# 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 ;

# 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
    ;

test-suite "odeint"
    :
    [ run euler_stepper.cpp ]
    [ run runge_kutta_concepts.cpp ]
    [ run runge_kutta_error_concepts.cpp ]
    [ run runge_kutta_controlled_concepts.cpp ]
    [ 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 ]
    [ run stepper_with_units.cpp : : : <toolset>clang:<build>no ]
    [ run stepper_copying.cpp ]
    [ run stepper_with_ranges.cpp ]
    [ run rosenbrock4.cpp ]
    [ run rosenbrock4_mp.cpp ]
    [ run is_pair.cpp ]
    [ run adams_bashforth.cpp ]
    [ run adams_moulton.cpp ]
    [ run adams_bashforth_moulton.cpp ]
    [ run generic_stepper.cpp ]
    [ run generic_error_stepper.cpp ]
    [ run bulirsch_stoer.cpp ]
    [ run integrate_times.cpp ]
    [ run integrate_times.cpp : : : <define>ODEINT_INTEGRATE_ITERATOR : integrate_times_iterator ]
    [ run integrate.cpp ]
    [ run integrate.cpp : : : <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 ]
    [ compile unwrap_boost_reference.cpp ]
    [ compile unwrap_reference.cpp : <cxxflags>-std=c++0x : unwrap_reference_C++11 ]
    [ compile-fail unwrap_reference.cpp : <cxxflags>-std=c++98 : unwrap_reference_C++98 ]
    [ compile std_array.cpp : <cxxflags>-std=c++0x ]
    : 
        <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
#    ;