]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | # copyright John Maddock 2011 |
2 | # Distributed under the Boost Software License, Version 1.0. | |
3 | # (See accompanying file LICENSE_1_0.txt or copy at | |
4 | # http://www.boost.org/LICENSE_1_0.txt. | |
5 | ||
b32b8144 | 6 | import testing ; |
7c673cae FG |
7 | import modules ; |
8 | import path ; | |
9 | import ../../config/checks/config : requires ; | |
10 | ||
11 | local ntl-path = [ modules.peek : NTL_PATH ] ; | |
12 | local gmp_path = [ modules.peek : GMP_PATH ] ; | |
13 | local mpfr_path = [ modules.peek : MPFR_PATH ] ; | |
14 | local mpfi_path = [ modules.peek : MPFI_PATH ] ; | |
15 | local tommath_path = [ modules.peek : TOMMATH_PATH ] ; | |
16 | ||
92f5a8d4 TL |
17 | |
18 | ####################################################################################### | |
19 | # | |
20 | # NOTE: Because these tests take a fair while to build and run, they are split up into | |
21 | # multiple smaller test suites which are: | |
22 | # | |
23 | # arithmetic_tests | |
24 | # functions_and_limits | |
25 | # conversions | |
26 | # cpp_int_tests | |
27 | # misc | |
28 | # specfun | |
29 | # compile_fail | |
30 | # concepts | |
31 | # examples | |
32 | # | |
f67539c2 | 33 | # You can run an individual suite by passing its name to b2 on the command line. |
92f5a8d4 TL |
34 | # Or you can run all except the "specfun" tests (which are very slow) by not specifying anything. |
35 | # | |
36 | # Please make sure that any new tests are added to one of the test suites, and that the | |
37 | # build times for the various suites are reasonably balanced: otherwise the CI builds | |
38 | # will time out if one suite contains too many. | |
39 | # | |
40 | ####################################################################################################### | |
41 | ||
42 | path-constant here : . ; | |
43 | ||
7c673cae FG |
44 | project : requirements |
45 | <include>$(gmp_path) | |
46 | <include>$(gmp_path)/mpfr | |
47 | <include>$(gmp_path)/gmpfrxx | |
48 | <include>$(mpfr_path) | |
49 | <include>$(mpfi_path) | |
50 | <include>$(mpfi_path)/src | |
51 | <include>$(tommath_path) | |
52 | <include>../include | |
53 | <include>../../.. | |
54 | # We set these to make it easier to set up and test GMP and MPFR under Win32: | |
55 | <toolset>msvc:<runtime-link>static | |
56 | <toolset>msvc:<link>static | |
57 | <toolset>msvc:<warnings>all | |
92f5a8d4 | 58 | <toolset>msvc:<cxxflags>/fp\:precise |
7c673cae FG |
59 | <toolset>intel-win:<runtime-link>static |
60 | <toolset>intel-win:<link>static | |
f67539c2 TL |
61 | <toolset>clang-win:<link>static # Clang-win does not generate .dlls. |
62 | <toolset>clang:<link>static # Clang-linux does not generate .dlls. | |
63 | <toolset>clang:<cxxflags>-Wno-unused-variable # warning: unused variable 'tolerance' [-Wunused-variable] | |
64 | <toolset>clang:<cxxflags>-v | |
65 | ||
92f5a8d4 TL |
66 | # Assembler error "File too big" caused by lots of C++ templates, for example, math/floating_point_examples.cpp. |
67 | # Some projects on some toolsets may require | |
68 | # <toolset>gcc-mingw:<cxxflags>\"-Wa,-mbig-obj\" | |
69 | # See https://digitalkarabela.com/mingw-w64-how-to-fix-file-too-big-too-many-sections/ | |
70 | # <toolset>gcc-mingw:<cxxflags>-Wa,-mbig-obj # Some projects may overflow assembler and require equivalent of MSVC /bigobj. | |
71 | # Requires version 2.30 of GNU binutils. | |
72 | # Best applied only to projects that require this, see multiprecision/example run math/floating_point_examples.cpp. | |
73 | ||
7c673cae FG |
74 | # Speed up compiles: |
75 | <toolset>msvc:<debug-symbols>off | |
76 | <toolset>intel:<debug-symbols>off | |
77 | <toolset>gcc:<cxxflags>-Wall | |
78 | <toolset>gcc:<cxxflags>-Wextra | |
f67539c2 | 79 | #<toolset>intel:<define>SLOW_COMPILER |
7c673cae FG |
80 | <toolset>msvc,<optimization>off:<cxxflags>-RTC1 |
81 | # We can't yet enable this - it breaks the STL in some tests... | |
82 | #<toolset>msvc,<optimization>off:<cxxflags>-RTCc | |
83 | #<toolset>msvc,<optimization>off:<define>_ALLOW_RTCc_IN_STL | |
1e59de90 TL |
84 | [ requires |
85 | cxx11_rvalue_references cxx11_template_aliases cxx11_hdr_array cxx11_allocator cxx11_constexpr cxx11_explicit_conversion_operators cxx11_ref_qualifiers | |
86 | cxx11_hdr_functional cxx11_variadic_templates cxx11_user_defined_literals cxx11_decltype cxx11_static_assert cxx11_defaulted_functions | |
87 | cxx11_noexcept cxx11_ref_qualifiers cxx11_user_defined_literals cxx11_hdr_type_traits | |
88 | ] | |
7c673cae FG |
89 | ; |
90 | ||
91 | local enable-specfun = [ MATCH (--enable-specfun) : [ modules.peek : ARGV ] ] ; | |
92 | local disable-concepts = [ MATCH (--disable-concepts) : [ modules.peek : ARGV ] ] ; | |
93 | ||
94 | lib gmp : : <search>$(gmp_path) ; | |
95 | lib mpfr : : <search>$(gmp_path) <search>$(mpfr_path) <search>$(mpfr_path)/build.vc10/lib/Win32/Debug ; | |
96 | lib mpfi : : <search>$(gmp_path) <search>$(mpfr_path) <search>$(mpfr_path)/build.vc10/lib/Win32/Debug <search>$(mpfi_path) <search>$(mpfi_path)/src ; | |
97 | lib quadmath ; | |
92f5a8d4 | 98 | lib mpc ; |
7c673cae FG |
99 | |
100 | if $(tommath_path) | |
101 | { | |
f67539c2 | 102 | lib tommath : [ GLOB $(tommath_path) : *.c ] : <visibility>global ; |
7c673cae FG |
103 | TOMMATH = tommath ; |
104 | } | |
105 | else | |
106 | { | |
107 | lib tommath : : <search>$(tommath_path) ; | |
108 | TOMMATH = tommath ; | |
109 | } | |
110 | ||
111 | lib no_eh_support : no_eh_test_support.cpp ; | |
112 | ||
92f5a8d4 TL |
113 | test-suite arithmetic_tests : |
114 | ||
115 | [ run test_arithmetic_backend_concept.cpp no_eh_support ] | |
f67539c2 | 116 | [ compile test_arithmetic_skeleton.cpp ] |
92f5a8d4 | 117 | |
1e59de90 TL |
118 | [ run test_arithmetic_cpp_dec_float_1.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] |
119 | [ run test_arithmetic_cpp_dec_float_2.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
120 | [ run test_arithmetic_cpp_dec_float_3.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
121 | [ run test_arithmetic_cpp_dec_float_3m.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
122 | ||
123 | [ run test_arithmetic_cpp_bin_float_1.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
124 | [ run test_arithmetic_cpp_bin_float_2.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
125 | [ run test_arithmetic_cpp_bin_float_2m.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
126 | [ run test_arithmetic_cpp_bin_float_3.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
127 | [ run test_arithmetic_cpp_bin_float_4.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
128 | [ run test_arithmetic_cpp_bin_float_5.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
129 | ||
130 | [ run test_arithmetic_mpf_50.cpp gmp no_eh_support : : : [ check-target-builds ../config//has_gmp : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
131 | [ run test_arithmetic_mpf.cpp gmp no_eh_support : : : [ check-target-builds ../config//has_gmp : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
132 | [ run test_arithmetic_mpz.cpp gmp no_eh_support : : : [ check-target-builds ../config//has_gmp : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
133 | [ run test_arithmetic_mpz_rat.cpp gmp no_eh_support : : : [ check-target-builds ../config//has_gmp : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
134 | [ run test_arithmetic_mpz_br.cpp gmp no_eh_support : : : [ check-target-builds ../config//has_gmp : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
135 | [ run test_arithmetic_mpq.cpp gmp no_eh_support : : : [ check-target-builds ../config//has_gmp : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
136 | ||
137 | [ run test_arithmetic_mpfr.cpp mpfr gmp no_eh_support : : : [ check-target-builds ../config//has_mpfr : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
138 | [ run test_arithmetic_mpfr_50.cpp mpfr gmp no_eh_support : : : [ check-target-builds ../config//has_mpfr : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
139 | [ run test_arithmetic_mpfr_50_static.cpp mpfr gmp no_eh_support : : : [ check-target-builds ../config//has_mpfr : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
140 | ||
141 | [ run test_arithmetic_tommath.cpp $(TOMMATH) no_eh_support : : : [ check-target-builds ../config//has_tommath : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
142 | [ run test_arithmetic_tommath_rat.cpp $(TOMMATH) no_eh_support : : : [ check-target-builds ../config//has_tommath : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
143 | [ run test_arithmetic_tommath_br.cpp $(TOMMATH) no_eh_support : : : [ check-target-builds ../config//has_tommath : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
144 | ||
145 | [ run test_arithmetic_cpp_int_1.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
146 | [ run test_arithmetic_cpp_int_2.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
147 | [ run test_arithmetic_cpp_int_3.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
148 | [ run test_arithmetic_cpp_int_4.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
149 | [ run test_arithmetic_cpp_int_5.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
150 | [ run test_arithmetic_cpp_int_6.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
151 | [ run test_arithmetic_cpp_int_7.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
152 | [ run test_arithmetic_cpp_int_8.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
153 | [ run test_arithmetic_cpp_int_9.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
154 | [ run test_arithmetic_cpp_int_10.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
155 | [ run test_arithmetic_cpp_int_11.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
156 | [ run test_arithmetic_cpp_int_12.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
157 | [ run test_arithmetic_cpp_int_13.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
158 | [ run test_arithmetic_cpp_int_14.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
159 | [ run test_arithmetic_cpp_int_15.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
160 | [ run test_arithmetic_cpp_int_16.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
161 | [ run test_arithmetic_cpp_int_17.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
162 | [ run test_arithmetic_cpp_int_18.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
163 | [ run test_arithmetic_cpp_int_19.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
164 | [ run test_arithmetic_cpp_int_20.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
165 | [ run test_arithmetic_cpp_int_21.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
166 | [ run test_arithmetic_cpp_int_22.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
167 | [ run test_arithmetic_cpp_int_23.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
168 | [ run test_arithmetic_cpp_int_br.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
169 | ||
170 | [ run test_arithmetic_ab_1.cpp no_eh_support : : : [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
171 | [ run test_arithmetic_ab_2.cpp no_eh_support : : : [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
172 | [ run test_arithmetic_ab_3.cpp no_eh_support : : : [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
92f5a8d4 TL |
173 | |
174 | [ run test_cpp_dec_float_round.cpp no_eh_support ] | |
175 | ||
1e59de90 TL |
176 | [ run test_arithmetic_logged_1.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] |
177 | [ run test_arithmetic_logged_2.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
178 | ||
179 | [ run test_arithmetic_dbg_adptr1.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
180 | [ run test_arithmetic_dbg_adptr1m.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
181 | [ run test_arithmetic_dbg_adptr2.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
182 | ||
183 | [ run test_arithmetic_cpp_complex_dbg_adptr.cpp : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
184 | [ run test_arithmetic_cpp_int_dbg_adptr.cpp : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
185 | [ run test_arithmetic_cpp_rat_dbg_adptr.cpp : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
186 | [ run test_arithmetic_mpf_dbg_adptr.cpp gmp : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_gmp : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
187 | [ run test_arithmetic_mpc_dbg_adptr.cpp mpc mpfr gmp : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_mpc : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
188 | [ run test_arithmetic_mpfi_dbg_adptr.cpp mpfi mpfr gmp : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_mpfi : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
189 | [ run test_arithmetic_mpfr_dbg_adptr.cpp mpfr gmp : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_mpfr : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
190 | [ run test_arithmetic_mpq_dbg_adptr.cpp gmp : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_gmp : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
191 | [ run test_arithmetic_mpz_dbg_adptr.cpp gmp : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_gmp : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
192 | ||
193 | [ run test_arithmetic_cpp_complex_logged_adptr.cpp : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
194 | [ run test_arithmetic_cpp_int_logged_adptr.cpp : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
195 | [ run test_arithmetic_cpp_rat_logged_adptr.cpp : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
196 | [ run test_arithmetic_mpf_logged_adptr.cpp gmp : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_gmp : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
197 | [ run test_arithmetic_mpc_logged_adptr.cpp mpc mpfr gmp : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_mpc : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
198 | [ run test_arithmetic_mpfi_logged_adptr.cpp mpfi mpfr gmp : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_mpfi : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
199 | [ run test_arithmetic_mpfr_logged_adptr.cpp mpfr gmp : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_mpfr : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
200 | [ run test_arithmetic_mpq_logged_adptr.cpp gmp : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_gmp : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
201 | [ run test_arithmetic_mpz_logged_adptr.cpp gmp : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_gmp : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
202 | ||
203 | [ run test_arithmetic_mpfi_50.cpp mpfi mpfr gmp no_eh_support : : : [ check-target-builds ../config//has_mpfi : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
92f5a8d4 TL |
204 | |
205 | [ run test_arithmetic_float_128.cpp quadmath no_eh_support : : : [ check-target-builds ../config//has_float128 : : <build>no ] ] | |
206 | [ run test_arithmetic_float_128.cpp no_eh_support : : : [ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] : test_arithmetic_intel_quad ] | |
207 | ||
1e59de90 TL |
208 | [ run test_arithmetic_mpc.cpp mpc mpfr gmp : : : [ check-target-builds ../config//has_mpc : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] |
209 | [ run test_mpfr_mpc_precisions.cpp mpc mpfr gmp : : : [ check-target-builds ../config//has_mpc : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
92f5a8d4 TL |
210 | [ run test_mpfi_precisions.cpp mpfi mpfr gmp : : : [ check-target-builds ../config//has_mpfi : : <build>no ] ] |
211 | [ run test_mpf_precisions.cpp gmp : : : [ check-target-builds ../config//has_gmp : : <build>no ] ] | |
1e59de90 | 212 | [ run test_threaded_precision.cpp mpfr gmp : : : [ check-target-builds ../config//has_mpfr : : <build>no ] <define>TEST_MPF_50 : test_threaded_precision_mpf ] |
92f5a8d4 | 213 | [ run test_complex.cpp : : : [ check-target-builds ../config//has_mpc : <define>TEST_MPC <source>mpc <source>mpfr <source>gmp ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] |
1e59de90 TL |
214 | [ run test_arithmetic_complex_adaptor.cpp : : : [ check-target-builds ../config//has_float128 : <source>quadmath ] ] |
215 | [ run test_arithmetic_complex_adaptor_2.cpp : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
92f5a8d4 TL |
216 | [ run test_arithmetic_complex128.cpp : : : [ check-target-builds ../config//has_float128 : <source>quadmath ] ] |
217 | ||
1e59de90 TL |
218 | [ run test_signed_zero.cpp : : : <define>TEST_CPP_BIN_FLOAT [ requires cxx17_if_constexpr ] : test_signed_zero_cpp_bin_float ] |
219 | [ run test_signed_zero.cpp mpfr gmp : : : <define>TEST_MPFR [ requires cxx17_if_constexpr ] [ check-target-builds ../config//has_mpfr : : <build>no ] : test_signed_zero_mpfr ] | |
220 | ||
221 | [ run test_complex_signed_zero.cpp : : : <define>TEST_CPP_BIN_FLOAT [ requires cxx17_if_constexpr ] : test_complex_signed_zero_cpp_bin_float ] | |
222 | [ run test_complex_signed_zero.cpp mpc mpfr gmp : : : <define>TEST_MPC [ requires cxx17_if_constexpr ] [ check-target-builds ../config//has_mpc : : <build>no ] : test_complex_signed_zero_mpc ] | |
223 | ||
224 | [ run test_preserve_source_precision.cpp gmp : : : [ requires cxx17_if_constexpr ] [ check-target-builds ../config//has_gmp : : <build>no ] <define>TEST_MPF : test_preserve_source_precision_gmp ] | |
225 | [ run test_preserve_source_precision.cpp gmp mpfr : : : [ requires cxx17_if_constexpr ] [ check-target-builds ../config//has_mpfr : : <build>no ] <define>TEST_MPFR : test_preserve_source_precision_mpfr ] | |
226 | [ run test_preserve_source_precision.cpp gmp mpfr mpc : : : [ requires cxx17_if_constexpr ] [ check-target-builds ../config//has_mpc : : <build>no ] <define>TEST_MPC : test_preserve_source_precision_mpc ] | |
227 | [ run test_preserve_source_precision.cpp gmp mpfr mpfi : : : [ requires cxx17_if_constexpr ] [ check-target-builds ../config//has_mpfi : : <build>no ] <define>TEST_MPFI : test_preserve_source_precision_mpfi ] | |
228 | [ run test_preserve_component_precision.cpp gmp : : : [ requires cxx17_if_constexpr ] [ check-target-builds ../config//has_gmp : : <build>no ] <define>TEST_MPF : test_preserve_component_precision_gmp ] | |
229 | [ run test_preserve_component_precision.cpp gmp mpfr : : : [ requires cxx17_if_constexpr ] [ check-target-builds ../config//has_mpfr : : <build>no ] <define>TEST_MPFR : test_preserve_component_precision_mpfr ] | |
230 | [ run test_preserve_component_precision.cpp gmp mpfr mpc : : : [ requires cxx17_if_constexpr ] [ check-target-builds ../config//has_mpc : : <build>no ] <define>TEST_MPC : test_preserve_component_precision_mpc ] | |
231 | [ run test_preserve_component_precision.cpp gmp mpfr mpfi : : : [ requires cxx17_if_constexpr ] [ check-target-builds ../config//has_mpfi : : <build>no ] <define>TEST_MPFI : test_preserve_component_precision_mpfi ] | |
232 | [ run test_preserve_related_precision.cpp gmp : : : [ requires cxx17_if_constexpr ] [ check-target-builds ../config//has_gmp : : <build>no ] <define>TEST_MPF : test_preserve_related_precision_gmp ] | |
233 | [ run test_preserve_related_precision.cpp gmp mpfr : : : [ requires cxx17_if_constexpr ] [ check-target-builds ../config//has_mpfr : : <build>no ] <define>TEST_MPFR : test_preserve_related_precision_mpfr ] | |
234 | [ run test_preserve_related_precision.cpp gmp mpfr mpc : : : [ requires cxx17_if_constexpr ] [ check-target-builds ../config//has_mpc : : <build>no ] <define>TEST_MPC : test_preserve_related_precision_mpc ] | |
235 | [ run test_preserve_related_precision.cpp gmp mpfr mpfi : : : [ requires cxx17_if_constexpr ] [ check-target-builds ../config//has_mpfi : : <build>no ] <define>TEST_MPFI : test_preserve_related_precision_mpfi ] | |
236 | [ run test_preserve_all_precision.cpp gmp : : : [ requires cxx17_if_constexpr ] [ check-target-builds ../config//has_gmp : : <build>no ] <define>TEST_MPF : test_preserve_all_precision_gmp ] | |
237 | [ run test_preserve_all_precision.cpp gmp mpfr : : : [ requires cxx17_if_constexpr ] [ check-target-builds ../config//has_mpfr : : <build>no ] <define>TEST_MPFR : test_preserve_all_precision_mpfr ] | |
238 | [ run test_preserve_all_precision.cpp gmp mpfr mpc : : : [ requires cxx17_if_constexpr ] [ check-target-builds ../config//has_mpc : : <build>no ] <define>TEST_MPC : test_preserve_all_precision_mpc ] | |
239 | [ run test_preserve_all_precision.cpp gmp mpfr mpfi : : : [ requires cxx17_if_constexpr ] [ check-target-builds ../config//has_mpfi : : <build>no ] <define>TEST_MPFI : test_preserve_all_precision_mpfi ] | |
240 | [ run test_preserve_target_precision.cpp gmp : : : [ requires cxx17_if_constexpr ] [ check-target-builds ../config//has_gmp : : <build>no ] <define>TEST_MPF : test_preserve_target_precision_gmp ] | |
241 | [ run test_preserve_target_precision.cpp gmp mpfr : : : [ requires cxx17_if_constexpr ] [ check-target-builds ../config//has_mpfr : : <build>no ] <define>TEST_MPFR : test_preserve_target_precision_mpfr ] | |
242 | [ run test_preserve_target_precision.cpp gmp mpfr mpc : : : [ requires cxx17_if_constexpr ] [ check-target-builds ../config//has_mpc : : <build>no ] <define>TEST_MPC : test_preserve_target_precision_mpc ] | |
243 | [ run test_preserve_target_precision.cpp gmp mpfr mpfi : : : [ requires cxx17_if_constexpr ] [ check-target-builds ../config//has_mpfi : : <build>no ] <define>TEST_MPFI : test_preserve_target_precision_mpfi ] | |
244 | [ run test_assume_uniform_precision.cpp gmp : : : [ requires cxx17_if_constexpr ] [ check-target-builds ../config//has_gmp : : <build>no ] <define>TEST_MPF : test_assume_uniform_precision_gmp ] | |
245 | [ run test_assume_uniform_precision.cpp gmp mpfr : : : [ requires cxx17_if_constexpr ] [ check-target-builds ../config//has_mpfr : : <build>no ] <define>TEST_MPFR : test_assume_uniform_precision_mpfr ] | |
246 | [ run test_assume_uniform_precision.cpp gmp mpfr mpc : : : [ requires cxx17_if_constexpr ] [ check-target-builds ../config//has_mpc : : <build>no ] <define>TEST_MPC : test_assume_uniform_precision_mpc ] | |
247 | [ run test_assume_uniform_precision.cpp gmp mpfr mpfi : : : [ requires cxx17_if_constexpr ] [ check-target-builds ../config//has_mpfi : : <build>no ] <define>TEST_MPFI : test_assume_uniform_precision_mpfi ] | |
248 | ||
92f5a8d4 TL |
249 | ; |
250 | ||
1e59de90 TL |
251 | alias precision_tests : test_preserve_source_precision_gmp test_preserve_source_precision_mpfr test_preserve_source_precision_mpc test_preserve_source_precision_mpfi |
252 | test_preserve_component_precision_gmp test_preserve_component_precision_mpfr test_preserve_component_precision_mpc test_preserve_component_precision_mpfi | |
253 | test_preserve_related_precision_gmp test_preserve_related_precision_mpfr test_preserve_related_precision_mpc test_preserve_related_precision_mpfi | |
254 | test_preserve_all_precision_gmp test_preserve_all_precision_mpfr test_preserve_all_precision_mpc test_preserve_all_precision_mpfi | |
255 | test_preserve_target_precision_gmp test_preserve_target_precision_mpfr test_preserve_target_precision_mpc test_preserve_target_precision_mpfi | |
256 | test_assume_uniform_precision_gmp test_assume_uniform_precision_mpfr test_assume_uniform_precision_mpc test_assume_uniform_precision_mpfi | |
257 | test_mpfr_mpc_precisions test_mpfi_precisions test_mpf_precisions test_threaded_precision_mpf ; | |
258 | ||
92f5a8d4 | 259 | rule get_function_tests |
7c673cae | 260 | { |
92f5a8d4 TL |
261 | local result ; |
262 | for local source in test_exp.cpp test_log.cpp test_pow.cpp test_sinh.cpp test_sqrt.cpp test_cosh.cpp test_tanh.cpp test_sin.cpp test_cos.cpp test_tan.cpp test_asin.cpp test_acos.cpp test_atan.cpp test_round.cpp test_fpclassify.cpp test_sf_import_c99.cpp | |
263 | { | |
264 | result += [ run $(source) gmp no_eh_support | |
265 | : # command line | |
266 | : # input files | |
267 | : # requirements | |
268 | [ check-target-builds ../config//has_gmp : : <build>no ] | |
269 | <define>TEST_MPF_50 | |
270 | : $(source:B)_mpf50 ] ; | |
271 | result += [ run $(source) mpfr gmp no_eh_support | |
272 | : # command line | |
273 | : # input files | |
274 | : # requirements | |
275 | [ check-target-builds ../config//has_mpfr : : <build>no ] | |
276 | <define>TEST_MPFR_50 | |
277 | : $(source:B)_mpfr50 ] ; | |
278 | result += [ run $(source) mpfi mpfr gmp no_eh_support | |
279 | : # command line | |
280 | : # input files | |
281 | : # requirements | |
282 | [ check-target-builds ../config//has_mpfi : : <build>no ] | |
283 | <define>TEST_MPFI_50 | |
284 | : $(source:B)_mpfi50 ] ; | |
285 | result += [ run $(source) no_eh_support | |
286 | : # command line | |
287 | : # input files | |
288 | : # requirements | |
289 | <define>TEST_CPP_DEC_FLOAT | |
290 | : $(source:B)_cpp_dec_float ] ; | |
291 | result += [ run $(source) no_eh_support | |
292 | : # command line | |
293 | : # input files | |
294 | : # requirements | |
295 | <define>TEST_CPP_BIN_FLOAT | |
296 | : $(source:B)_cpp_bin_float ] ; | |
297 | result += [ run $(source) quadmath no_eh_support | |
298 | : # command line | |
299 | : # input files | |
300 | : # requirements | |
301 | [ check-target-builds ../config//has_float128 : : <build>no ] | |
302 | <define>TEST_FLOAT128 | |
303 | : $(source:B)_float128 ] ; | |
304 | result += [ run $(source) no_eh_support | |
305 | : # command line | |
306 | : # input files | |
307 | : # requirements | |
308 | [ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] | |
309 | <define>TEST_FLOAT128 | |
310 | : $(source:B)_intel_quad ] ; | |
311 | } | |
312 | return $(result) ; | |
313 | } | |
314 | ||
315 | test-suite functions_and_limits : | |
316 | ||
317 | [ run test_numeric_limits.cpp no_eh_support | |
318 | : # command line | |
319 | : # input files | |
320 | : # requirements | |
321 | <define>TEST_BACKEND | |
322 | : test_numeric_limits_backend_concept ] | |
323 | ||
324 | [ run test_numeric_limits.cpp gmp no_eh_support | |
325 | : # command line | |
326 | : # input files | |
327 | : # requirements | |
20effc67 | 328 | <define>TEST_MPF_50 <define>PRINT_MAX_DIGITS10 |
92f5a8d4 TL |
329 | [ check-target-builds ../config//has_gmp : : <build>no ] |
330 | : test_numeric_limits_mpf50 ] | |
331 | ||
332 | [ run test_numeric_limits.cpp gmp no_eh_support | |
333 | : # command line | |
334 | : # input files | |
335 | : # requirements | |
20effc67 | 336 | <define>TEST_MPF <define>PRINT_MAX_DIGITS10 |
92f5a8d4 TL |
337 | [ check-target-builds ../config//has_gmp : : <build>no ] |
338 | : test_numeric_limits_mpf ] | |
339 | ||
340 | [ run test_numeric_limits.cpp gmp no_eh_support | |
341 | : # command line | |
342 | : # input files | |
343 | : # requirements | |
344 | <define>TEST_MPZ | |
345 | [ check-target-builds ../config//has_gmp : : <build>no ] | |
346 | : test_numeric_limits_mpz ] | |
347 | ||
348 | [ run test_numeric_limits.cpp gmp no_eh_support | |
349 | : # command line | |
350 | : # input files | |
351 | : # requirements | |
352 | <define>TEST_MPQ | |
353 | [ check-target-builds ../config//has_gmp : : <build>no ] | |
354 | : test_numeric_limits_mpq ] | |
355 | ||
356 | [ run test_numeric_limits.cpp mpfr gmp no_eh_support | |
357 | : # command line | |
358 | : # input files | |
359 | : # requirements | |
20effc67 | 360 | <define>TEST_MPFR <define>PRINT_MAX_DIGITS10 |
92f5a8d4 TL |
361 | [ check-target-builds ../config//has_mpfr : : <build>no ] |
362 | : test_numeric_limits_mpfr ] | |
363 | ||
364 | [ run test_numeric_limits.cpp mpfr gmp no_eh_support | |
365 | : # command line | |
366 | : # input files | |
367 | : # requirements | |
20effc67 | 368 | <define>TEST_MPFR_50 <define>PRINT_MAX_DIGITS10 |
92f5a8d4 TL |
369 | [ check-target-builds ../config//has_mpfr : : <build>no ] |
370 | : test_numeric_limits_mpfr_50 ] | |
371 | ||
372 | [ run test_numeric_limits.cpp no_eh_support | |
373 | : # command line | |
374 | : # input files | |
375 | : # requirements | |
376 | <define>TEST_CPP_DEC_FLOAT | |
377 | : test_numeric_limits_cpp_dec_float ] | |
378 | ||
379 | [ run test_numeric_limits.cpp no_eh_support | |
380 | : # command line | |
381 | : # input files | |
382 | : # requirements | |
20effc67 | 383 | <define>TEST_CPP_BIN_FLOAT <define>PRINT_MAX_DIGITS10 |
92f5a8d4 TL |
384 | : test_numeric_limits_cpp_bin_float ] |
385 | ||
386 | [ run test_numeric_limits.cpp $(TOMMATH) no_eh_support | |
387 | : # command line | |
388 | : # input files | |
389 | : # requirements | |
390 | <define>TEST_TOMMATH | |
391 | [ check-target-builds ../config//has_tommath : : <build>no ] | |
392 | : test_numeric_limits_tommath ] | |
393 | ||
394 | [ run test_numeric_limits.cpp no_eh_support | |
395 | : # command line | |
396 | : # input files | |
397 | : # requirements | |
398 | <define>TEST_CPP_INT | |
399 | : test_numeric_limits_cpp_int ] | |
400 | ||
401 | [ run test_numeric_limits.cpp mpfi mpfr gmp no_eh_support | |
402 | : # command line | |
403 | : # input files | |
404 | : # requirements | |
405 | <define>TEST_MPFI_50 | |
406 | [ check-target-builds ../config//has_mpfi : : <build>no ] | |
407 | : test_numeric_limits_mpfi_50 ] | |
408 | ||
92f5a8d4 TL |
409 | [ run test_numeric_limits.cpp quadmath no_eh_support |
410 | : # command line | |
411 | : # input files | |
412 | : # requirements | |
413 | <define>TEST_FLOAT128 | |
414 | [ check-target-builds ../config//has_float128 : : <build>no ] | |
415 | : test_numeric_limits_float128 ] | |
416 | [ run test_numeric_limits.cpp no_eh_support | |
417 | : # command line | |
418 | : # input files | |
419 | : # requirements | |
420 | <define>TEST_FLOAT128 | |
421 | [ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] | |
422 | : test_numeric_limits_intel_quad ] | |
423 | ||
424 | [ run test_sf_import_c99.cpp : : : <define>TEST_CPP_DEC_FLOAT_2 : test_sf_import_c99_cpp_dec_float_2 ] | |
425 | [ run test_sf_import_c99.cpp : : : <define>TEST_CPP_DEC_FLOAT_3 : test_sf_import_c99_cpp_dec_float_3 ] | |
426 | [ run test_sf_import_c99.cpp : : : <define>TEST_CPP_DEC_FLOAT_4 : test_sf_import_c99_cpp_dec_float_4 ] | |
427 | [ run test_sf_import_c99.cpp : : : <define>TEST_CPP_DEC_FLOAT_5 : test_sf_import_c99_cpp_dec_float_5 ] | |
428 | [ run test_sf_import_c99.cpp : : : <define>TEST_CPP_DEC_FLOAT_6 : test_sf_import_c99_cpp_dec_float_6 ] | |
429 | ||
430 | [ run test_sf_import_c99.cpp : : : <define>TEST_CPP_BIN_FLOAT_2 : test_sf_import_c99_cpp_bin_float_2 ] | |
431 | [ run test_sf_import_c99.cpp : : : <define>TEST_CPP_BIN_FLOAT_2 : test_sf_import_c99_cpp_bin_float_3 ] | |
432 | ||
1e59de90 TL |
433 | [ run test_sf_import_c99.cpp mpfi mpfr gmp : : : <define>TEST_MPFI_DEBUG_ADAPTOR [ check-target-builds ../config//has_mpfi : : <build>no ] : test_sf_import_c99_mpfi_debug_adptr ] |
434 | [ run test_sf_import_c99.cpp mpfr gmp : : : <define>TEST_MPFR_DEBUG_ADAPTOR [ check-target-builds ../config//has_mpfr : : <build>no ] : test_sf_import_c99_mpfr_debug_adptr ] | |
435 | ||
436 | [ run test_sf_import_c99.cpp mpfi mpfr gmp : : : <define>TEST_MPFI_LOGGED_ADAPTOR [ check-target-builds ../config//has_mpfi : : <build>no ] : test_sf_import_c99_mpfi_logged_adptr ] | |
437 | [ run test_sf_import_c99.cpp mpfr gmp : : : <define>TEST_MPFR_LOGGED_ADAPTOR [ check-target-builds ../config//has_mpfr : : <build>no ] : test_sf_import_c99_mpfr_logged_adptr ] | |
438 | ||
92f5a8d4 TL |
439 | [ run test_move.cpp mpfr gmp no_eh_support |
440 | : # command line | |
441 | : # input files | |
442 | : # requirements | |
443 | <define>TEST_MPFR | |
444 | [ check-target-builds ../config//has_mpfr : : <build>no ] | |
445 | : test_move_mpfr ] | |
446 | ||
447 | [ run test_move.cpp mpc mpfr gmp no_eh_support | |
448 | : # command line | |
449 | : # input files | |
450 | : # requirements | |
451 | <define>TEST_MPC | |
452 | [ check-target-builds ../config//has_mpc : : <build>no ] | |
453 | : test_move_mpc ] | |
454 | ||
455 | [ run test_move.cpp gmp no_eh_support | |
456 | : # command line | |
457 | : # input files | |
458 | : # requirements | |
459 | <define>TEST_GMP | |
460 | [ check-target-builds ../config//has_gmp : : <build>no ] | |
461 | : test_move_gmp ] | |
462 | ||
463 | [ run test_move.cpp $(TOMMATH) no_eh_support | |
464 | : # command line | |
465 | : # input files | |
466 | : # requirements | |
467 | <define>TEST_TOMMATH | |
468 | [ check-target-builds ../config//has_tommath : : <build>no ] | |
469 | : test_move_tommath ] | |
470 | ||
471 | [ run test_move.cpp no_eh_support | |
472 | : # command line | |
473 | : # input files | |
474 | : # requirements | |
475 | <define>TEST_CPP_INT | |
476 | : test_move_cpp_int ] | |
477 | ||
20effc67 TL |
478 | [ run test_sin_near_half_pi.cpp mpfr gmp : : : <define>TEST_CPP_BIN_FLOAT release [ check-target-builds ../config//has_float128 : <source>quadmath : ] [ check-target-builds ../config//has_mpfr : : <build>no ] : test_sin_near_half_pi_cpp_bin_float ] |
479 | [ run test_sin_near_half_pi.cpp mpfr gmp : : : <define>TEST_CPP_DEC_FLOAT release [ check-target-builds ../config//has_mpfr : : <build>no ] : test_sin_near_half_pi_cpp_dec_float ] | |
480 | [ run test_sin_near_half_pi.cpp mpfr gmp : : : <define>TEST_MPF_50 release [ check-target-builds ../config//has_mpfr : : <build>no ] : test_sin_near_half_pi_mpf_50 ] | |
1e59de90 | 481 | [ run test_sin_near_half_pi.cpp mpfr gmp : : : <define>TEST_MPFR_50 release [ check-target-builds ../config//has_mpfr : : <build>no ] : test_sin_near_half_pi_mpfr_50 ] |
20effc67 TL |
482 | [ run test_sin_near_half_pi.cpp mpfr gmp quadmath : : : <define>TEST_FLOAT128 release [ check-target-builds ../config//has_mpfr : : <build>no ] [ check-target-builds ../config//has_float128 : : <build>no ] : test_sin_near_half_pi_float128 ] |
483 | [ run test_cos_near_half_pi.cpp mpfr gmp : : : <define>TEST_CPP_BIN_FLOAT release [ check-target-builds ../config//has_float128 : <source>quadmath : ] [ check-target-builds ../config//has_mpfr : : <build>no ] : test_cos_near_half_pi_cpp_bin_float ] | |
484 | [ run test_cos_near_half_pi.cpp mpfr gmp : : : <define>TEST_CPP_DEC_FLOAT release [ check-target-builds ../config//has_mpfr : : <build>no ] : test_cos_near_half_pi_cpp_dec_float ] | |
485 | [ run test_cos_near_half_pi.cpp mpfr gmp : : : <define>TEST_MPF_50 release [ check-target-builds ../config//has_mpfr : : <build>no ] : test_cos_near_half_pi_mpf_50 ] | |
1e59de90 | 486 | [ run test_cos_near_half_pi.cpp mpfr gmp : : : <define>TEST_MPFR_50 release [ check-target-builds ../config//has_mpfr : : <build>no ] : test_cos_near_half_pi_mpfr_50 ] |
20effc67 TL |
487 | [ run test_cos_near_half_pi.cpp mpfr gmp quadmath : : : <define>TEST_FLOAT128 release [ check-target-builds ../config//has_mpfr : : <build>no ] [ check-target-builds ../config//has_float128 : : <build>no ] : test_cos_near_half_pi_float128 ] |
488 | ||
1e59de90 TL |
489 | [ run test_cpp_bin_float_tgamma.cpp ] |
490 | [ run test_cpp_dec_float_tgamma.cpp ] | |
491 | ||
492 | [ run test_roots_10k_digits.cpp | |
493 | : # command line | |
494 | : # input files | |
495 | : # requirements | |
496 | <define>TEST_CPP_DEC_FLOAT | |
497 | : test_roots_10k_digits_cpp_dec_float ] | |
498 | ||
499 | [ run test_roots_10k_digits.cpp | |
500 | : # command line | |
501 | : # input files | |
502 | : # requirements | |
503 | <define>TEST_CPP_BIN_FLOAT | |
504 | : test_roots_10k_digits_cpp_bin_float ] | |
505 | ||
92f5a8d4 TL |
506 | [ get_function_tests ] |
507 | ; | |
508 | ||
509 | test-suite conversions : | |
510 | ||
511 | [ run test_gmp_conversions.cpp gmp no_eh_support | |
512 | : # command line | |
513 | : # input files | |
514 | : # requirements | |
1e59de90 | 515 | [ check-target-builds ../config//has_gmp : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath : ] ] |
92f5a8d4 TL |
516 | |
517 | [ run test_mpfr_conversions.cpp gmp mpfr no_eh_support | |
7c673cae FG |
518 | : # command line |
519 | : # input files | |
520 | : # requirements | |
92f5a8d4 TL |
521 | [ check-target-builds ../config//has_mpfr : : <build>no ] ] |
522 | ||
523 | [ run test_mpc_conversions.cpp gmp mpfr mpc no_eh_support | |
524 | : # command line | |
525 | : # input files | |
526 | : # requirements | |
527 | [ check-target-builds ../config//has_mpc : : <build>no ] ] | |
528 | ||
529 | [ run test_constants.cpp gmp no_eh_support | |
530 | : # command line | |
531 | : # input files | |
532 | : # requirements | |
533 | <define>TEST_MPF_50 | |
7c673cae | 534 | [ check-target-builds ../config//has_gmp : : <build>no ] |
92f5a8d4 TL |
535 | : test_constants_mpf50 ] |
536 | ||
537 | [ run test_constants.cpp mpfr gmp no_eh_support | |
7c673cae FG |
538 | : # command line |
539 | : # input files | |
540 | : # requirements | |
92f5a8d4 | 541 | <define>TEST_MPFR_50 |
7c673cae | 542 | [ check-target-builds ../config//has_mpfr : : <build>no ] |
92f5a8d4 TL |
543 | : test_constants_mpfr_50 ] |
544 | ||
545 | [ run test_constants.cpp no_eh_support | |
7c673cae FG |
546 | : # command line |
547 | : # input files | |
548 | : # requirements | |
92f5a8d4 TL |
549 | <define>TEST_CPP_DEC_FLOAT |
550 | : test_constants_cpp_dec_float ] | |
551 | ||
552 | ||
553 | [ run test_test.cpp ] | |
554 | [ run test_cpp_int_lit.cpp no_eh_support ] | |
1e59de90 | 555 | [ run test_convert_cpp_int_2_float.cpp no_eh_support ] |
92f5a8d4 TL |
556 | |
557 | # | |
558 | # Interconversion tests: | |
559 | # | |
560 | [ run test_convert_from_cpp_int.cpp | |
561 | : # command line | |
562 | : # input files | |
563 | : # requirements | |
564 | [ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ] | |
565 | [ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ] | |
566 | [ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ] | |
567 | [ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ] | |
568 | [ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ] | |
569 | ] | |
570 | [ run test_convert_from_mpz_int.cpp | |
571 | : # command line | |
572 | : # input files | |
573 | : # requirements | |
574 | [ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ] | |
575 | [ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ] | |
576 | [ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ] | |
577 | [ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ] | |
578 | [ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ] | |
579 | ] | |
580 | [ run test_convert_from_tom_int.cpp | |
581 | : # command line | |
582 | : # input files | |
583 | : # requirements | |
584 | [ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ] | |
585 | [ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ] | |
586 | [ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ] | |
587 | [ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ] | |
588 | [ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ] | |
589 | ] | |
590 | [ run test_convert_from_cpp_rational.cpp | |
591 | : # command line | |
592 | : # input files | |
593 | : # requirements | |
594 | [ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ] | |
595 | [ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ] | |
596 | [ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ] | |
597 | [ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ] | |
598 | [ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ] | |
599 | ] | |
600 | [ run test_convert_from_gmp_rational.cpp | |
601 | : # command line | |
602 | : # input files | |
603 | : # requirements | |
604 | [ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ] | |
605 | [ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ] | |
606 | [ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ] | |
607 | [ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ] | |
608 | [ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ] | |
609 | ] | |
610 | [ run test_convert_from_tom_rational.cpp | |
611 | : # command line | |
612 | : # input files | |
613 | : # requirements | |
614 | [ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ] | |
615 | [ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ] | |
616 | [ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ] | |
617 | [ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ] | |
618 | [ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ] | |
619 | ] | |
620 | [ run test_convert_from_cpp_bin_float.cpp | |
621 | : # command line | |
622 | : # input files | |
623 | : # requirements | |
624 | [ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ] | |
625 | [ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ] | |
626 | [ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ] | |
627 | [ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ] | |
628 | [ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ] | |
629 | ] | |
630 | [ run test_convert_from_cpp_dec_float.cpp | |
631 | : # command line | |
632 | : # input files | |
633 | : # requirements | |
634 | [ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ] | |
635 | [ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ] | |
636 | [ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ] | |
637 | [ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ] | |
638 | [ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ] | |
639 | ] | |
640 | [ run test_convert_from_mpf_float.cpp | |
641 | : # command line | |
642 | : # input files | |
643 | : # requirements | |
644 | [ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ] | |
645 | [ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ] | |
646 | [ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ] | |
647 | [ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ] | |
648 | [ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ] | |
649 | ] | |
650 | [ run test_convert_from_mpfr_float.cpp | |
651 | : # command line | |
652 | : # input files | |
653 | : # requirements | |
654 | [ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ] | |
655 | [ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ] | |
656 | [ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ] | |
657 | [ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ] | |
658 | [ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ] | |
659 | ] | |
660 | [ run test_convert_from_mpfi_float.cpp | |
661 | : # command line | |
662 | : # input files | |
663 | : # requirements | |
664 | [ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ] | |
665 | [ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ] | |
666 | [ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ] | |
667 | [ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ] | |
668 | [ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ] | |
669 | ] | |
670 | [ run test_convert_from_float128.cpp | |
671 | : # command line | |
672 | : # input files | |
673 | : # requirements | |
674 | [ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ] | |
675 | [ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ] | |
676 | [ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ] | |
677 | [ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ] | |
678 | [ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ] | |
679 | ] | |
680 | ||
681 | [ run test_cpp_bin_float_conv.cpp ] | |
682 | ||
683 | [ run test_cpp_bin_float_io.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono | |
684 | : # command line | |
685 | : # input files | |
686 | : # requirements | |
687 | <define>TEST_CPP_BIN_FLOAT | |
688 | <define>TEST1 | |
689 | release # Otherwise [ runtime is slow | |
690 | : test_cpp_bin_float_io_1 | |
691 | ] | |
692 | ||
693 | [ run test_cpp_bin_float_io.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono | |
694 | : # command line | |
695 | : # input files | |
696 | : # requirements | |
697 | <define>TEST_CPP_BIN_FLOAT | |
698 | <define>TEST2 | |
699 | release # Otherwise [ runtime is slow | |
700 | : test_cpp_bin_float_io_2 | |
701 | ] | |
702 | ||
703 | [ run test_cpp_bin_float.cpp no_eh_support mpfr gmp /boost/system//boost_system /boost/chrono//boost_chrono | |
704 | : # command line | |
705 | : # input files | |
706 | : # requirements | |
707 | <define>TEST_MPFR | |
1e59de90 | 708 | [ check-target-builds ../config//is_ci_sanitizer_run "Sanitizer CI run" : <build>no : ] |
92f5a8d4 TL |
709 | [ check-target-builds ../config//has_mpfr : : <build>no ] |
710 | release # Otherwise [ runtime is slow | |
711 | ] | |
712 | ||
713 | [ run test_float_io.cpp no_eh_support | |
714 | : # command line | |
715 | : # input files | |
716 | : # requirements | |
717 | <define>TEST_CPP_DEC_FLOAT | |
718 | release # Otherwise [ runtime is slow | |
719 | : test_float_io_cpp_dec_float ] | |
720 | ||
721 | [ run test_float_io.cpp gmp no_eh_support | |
722 | : # command line | |
723 | : # input files | |
724 | : # requirements | |
725 | <define>TEST_MPF_50 | |
726 | release # Otherwise [ runtime is slow | |
727 | [ check-target-builds ../config//has_gmp : : <build>no ] | |
728 | : test_float_io_mpf ] | |
729 | ||
730 | [ run test_float_io.cpp mpfr gmp no_eh_support | |
731 | : # command line | |
732 | : # input files | |
733 | : # requirements | |
734 | <define>TEST_MPFR_50 | |
735 | release # Otherwise [ runtime is slow | |
736 | [ check-target-builds ../config//has_mpfr : : <build>no ] | |
737 | : test_float_io_mpfr ] | |
738 | ||
739 | [ run test_float_io.cpp mpfi mpfr gmp no_eh_support | |
740 | : # command line | |
741 | : # input files | |
742 | : # requirements | |
743 | <define>TEST_MPFI_50 | |
744 | release # Otherwise [ runtime is slow | |
745 | [ check-target-builds ../config//has_mpfi : : <build>no ] | |
746 | : test_float_io_mpfi ] | |
747 | ||
748 | [ run test_float_io.cpp quadmath no_eh_support | |
749 | : # command line | |
750 | : # input files | |
751 | : # requirements | |
752 | <define>TEST_FLOAT128 | |
753 | release # Otherwise [ runtime is slow | |
754 | [ check-target-builds ../config//has_float128 : : <build>no ] | |
755 | : test_float_io_float128 ] | |
756 | [ run test_float_io.cpp no_eh_support | |
757 | : # command line | |
758 | : # input files | |
759 | : # requirements | |
760 | <define>TEST_FLOAT128 | |
761 | release # Otherwise [ runtime is slow | |
762 | [ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] | |
763 | : test_float_io_intel_quad ] | |
764 | ||
765 | [ run test_int_io.cpp no_eh_support $(TOMMATH) | |
766 | : # command line | |
767 | : # input files | |
768 | : # requirements | |
769 | <define>TEST_TOMMATH | |
770 | release # Otherwise [ runtime is slow | |
771 | [ check-target-builds ../config//has_tommath : : <build>no ] | |
772 | : test_int_io_tommath ] | |
773 | ||
774 | [ run test_int_io.cpp no_eh_support gmp | |
775 | : # command line | |
776 | : # input files | |
777 | : # requirements | |
778 | <define>TEST_MPZ | |
779 | release # Otherwise [ runtime is slow | |
780 | [ check-target-builds ../config//has_gmp : : <build>no ] | |
781 | : test_int_io_mpz ] | |
782 | ||
1e59de90 TL |
783 | [ run test_fixed_zero_precision_io.cpp |
784 | : # command line | |
785 | : # input files | |
786 | : # requirements | |
787 | <define>TEST_BIN_FLOAT | |
788 | release | |
789 | : test_fixed_zero_precision_io_bin_float ] | |
790 | [ run test_fixed_zero_precision_io.cpp | |
791 | : # command line | |
792 | : # input files | |
793 | : # requirements | |
794 | <define>TEST_DEC_FLOAT | |
795 | release | |
796 | : test_fixed_zero_precision_io_dec_float ] | |
797 | [ run test_fixed_zero_precision_io.cpp no_eh_support gmp | |
798 | : # command line | |
799 | : # input files | |
800 | : # requirements | |
801 | <define>TEST_MPF | |
802 | release | |
803 | [ check-target-builds ../config//has_gmp : : <build>no ] | |
804 | : test_fixed_zero_precision_io_mpf_float ] | |
805 | [ run test_fixed_zero_precision_io.cpp no_eh_support mpfr gmp | |
806 | : # command line | |
807 | : # input files | |
808 | : # requirements | |
809 | <define>TEST_MPFR | |
810 | release | |
811 | [ check-target-builds ../config//has_mpfr : : <build>no ] | |
812 | : test_fixed_zero_precision_io_mpfr_float ] | |
813 | [ run test_fixed_zero_precision_io.cpp no_eh_support quadmath | |
814 | : # command line | |
815 | : # input files | |
816 | : # requirements | |
817 | <define>TEST_FLOAT128 | |
818 | release | |
819 | [ check-target-builds ../config//has_float128 : : <build>no ] | |
820 | : test_fixed_zero_precision_io_float128 ] | |
821 | ||
92f5a8d4 TL |
822 | ; |
823 | ||
824 | ||
825 | test-suite cpp_int_tests : | |
826 | ||
827 | [ run test_int_io.cpp no_eh_support | |
7c673cae FG |
828 | : # command line |
829 | : # input files | |
830 | : # requirements | |
92f5a8d4 TL |
831 | <define>TEST_CPP_INT |
832 | release # Otherwise [ runtime is slow | |
833 | : test_int_io_cpp_int ] | |
834 | ||
835 | [ run test_cpp_int_left_shift.cpp gmp no_eh_support | |
7c673cae FG |
836 | : # command line |
837 | : # input files | |
838 | : # requirements | |
92f5a8d4 TL |
839 | [ check-target-builds ../config//has_gmp : : <build>no ] |
840 | release # otherwise [ runtime is too slow!! | |
841 | ] | |
842 | ||
843 | [ run test_cpp_int.cpp gmp no_eh_support | |
7c673cae FG |
844 | : # command line |
845 | : # input files | |
846 | : # requirements | |
92f5a8d4 TL |
847 | [ check-target-builds ../config//has_gmp : : <build>no ] |
848 | release # otherwise [ runtime is too slow!! | |
849 | <define>TEST1 | |
850 | : test_cpp_int_1 | |
851 | ] | |
852 | ||
853 | [ run test_cpp_int.cpp gmp no_eh_support | |
7c673cae FG |
854 | : # command line |
855 | : # input files | |
856 | : # requirements | |
92f5a8d4 TL |
857 | [ check-target-builds ../config//has_gmp : : <build>no ] |
858 | release # otherwise [ runtime is too slow!! | |
859 | <define>TEST2 | |
860 | : test_cpp_int_2 | |
861 | ] | |
7c673cae | 862 | |
92f5a8d4 TL |
863 | [ run test_cpp_int.cpp gmp no_eh_support |
864 | : # command line | |
865 | : # input files | |
866 | : # requirements | |
867 | [ check-target-builds ../config//has_gmp : : <build>no ] | |
868 | release # otherwise [ runtime is too slow!! | |
869 | <define>TEST3 | |
870 | : test_cpp_int_3 | |
871 | ] | |
7c673cae | 872 | |
92f5a8d4 TL |
873 | [ run test_cpp_int.cpp gmp no_eh_support |
874 | : # command line | |
875 | : # input files | |
876 | : # requirements | |
877 | [ check-target-builds ../config//has_gmp : : <build>no ] | |
878 | release # otherwise [ runtime is too slow!! | |
879 | <define>TEST4 | |
880 | : test_cpp_int_4 | |
881 | ] | |
882 | ||
883 | [ run test_cpp_int.cpp gmp no_eh_support | |
884 | : # command line | |
885 | : # input files | |
886 | : # requirements | |
887 | [ check-target-builds ../config//has_gmp : : <build>no ] | |
888 | release # otherwise [ runtime is too slow!! | |
889 | <define>TEST5 | |
890 | : test_cpp_int_5 | |
891 | ] | |
892 | ||
f67539c2 TL |
893 | [ run test_cpp_int.cpp gmp no_eh_support |
894 | : # command line | |
895 | : # input files | |
896 | : # requirements | |
897 | [ check-target-builds ../config//has_gmp : : <build>no ] | |
898 | release # otherwise [ runtime is too slow!! | |
899 | <define>TEST6 | |
900 | : test_cpp_int_6 | |
901 | ] | |
902 | ||
1e59de90 TL |
903 | [ run test_cpp_rational.cpp gmp no_eh_support |
904 | : # command line | |
905 | : # input files | |
906 | : # requirements | |
907 | [ check-target-builds ../config//has_gmp : : <build>no ] | |
908 | release # otherwise [ runtime is too slow!! | |
909 | ] | |
910 | ||
f67539c2 TL |
911 | [ run test_cpp_int_karatsuba.cpp gmp no_eh_support |
912 | : # command line | |
913 | : # input files | |
914 | : # requirements | |
915 | [ check-target-builds ../config//has_gmp : : <build>no ] | |
916 | release # otherwise [ runtime is too slow!! | |
917 | <define>TEST=1 | |
918 | : test_cpp_int_karatsuba_1 | |
919 | ] | |
920 | [ run test_cpp_int_karatsuba.cpp gmp no_eh_support | |
921 | : # command line | |
922 | : # input files | |
923 | : # requirements | |
924 | [ check-target-builds ../config//has_gmp : : <build>no ] | |
925 | release # otherwise [ runtime is too slow!! | |
926 | <define>TEST=2 | |
927 | : test_cpp_int_karatsuba_2 | |
928 | ] | |
929 | [ run test_cpp_int_karatsuba.cpp gmp no_eh_support | |
930 | : # command line | |
931 | : # input files | |
932 | : # requirements | |
933 | [ check-target-builds ../config//has_gmp : : <build>no ] | |
934 | release # otherwise [ runtime is too slow!! | |
935 | <define>TEST=3 | |
936 | : test_cpp_int_karatsuba_3 | |
937 | ] | |
938 | [ run test_cpp_int_karatsuba.cpp gmp no_eh_support | |
939 | : # command line | |
940 | : # input files | |
941 | : # requirements | |
942 | [ check-target-builds ../config//has_gmp : : <build>no ] | |
943 | release # otherwise [ runtime is too slow!! | |
944 | <define>TEST=4 | |
945 | : test_cpp_int_karatsuba_4 | |
946 | ] | |
947 | ||
1e59de90 TL |
948 | [ run test_int_sqrt.cpp no_eh_support ] |
949 | ||
92f5a8d4 TL |
950 | [ run test_checked_cpp_int.cpp no_eh_support ] |
951 | [ run test_unchecked_cpp_int.cpp no_eh_support : : : release ] | |
952 | ||
953 | [ run test_cpp_int_serial.cpp ../../serialization/build//boost_serialization : : : release <define>TEST1 <toolset>gcc-mingw:<link>static : test_cpp_int_serial_1 ] | |
954 | [ run test_cpp_int_serial.cpp ../../serialization/build//boost_serialization : : : release <define>TEST2 <toolset>gcc-mingw:<link>static : test_cpp_int_serial_2 ] | |
955 | [ run test_cpp_int_serial.cpp ../../serialization/build//boost_serialization : : : release <define>TEST3 <toolset>gcc-mingw:<link>static : test_cpp_int_serial_3 ] | |
956 | [ run test_cpp_int_serial.cpp ../../serialization/build//boost_serialization : : : release <define>TEST4 <toolset>gcc-mingw:<link>static : test_cpp_int_serial_4 ] | |
957 | [ run test_cpp_int_deserial.cpp ../../serialization/build//boost_serialization ../../filesystem/build//boost_filesystem : $(here)/serial_txts : : release <toolset>gcc-mingw:<link>static ] | |
958 | [ run test_cpp_rat_serial.cpp ../../serialization/build//boost_serialization : : : release <toolset>gcc-mingw:<link>static ] | |
20effc67 | 959 | [ run test_gcd.cpp : : : [ requires cxx11_hdr_random ] ] |
92f5a8d4 TL |
960 | ; |
961 | ||
962 | test-suite misc : | |
963 | ||
964 | [ compile test_constexpr.cpp : | |
965 | [ check-target-builds ../config//has_float128 : <define>HAVE_FLOAT128 : ] | |
966 | [ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type <define>HAVE_FLOAT128 : ] | |
967 | [ requires cxx11_constexpr cxx11_user_defined_literals ] ] | |
968 | ||
969 | [ compile constexpr_test_arithmetic_backend.cpp : | |
970 | [ requires cxx14_constexpr cxx17_if_constexpr ] ] | |
971 | [ compile constexpr_test_float128.cpp : | |
972 | [ requires cxx14_constexpr cxx17_if_constexpr ] [ check-target-builds ../config//has_float128 : <source>quadmath : <build>no ] ] | |
973 | ||
974 | [ run constexpr_test_cpp_int.cpp : : : [ requires cxx14_constexpr cxx17_if_constexpr ] [ check-target-builds ../config//has_is_constant_evaluated : : <build>no ] ] | |
975 | [ run constexpr_test_cpp_int_2.cpp : : : [ requires cxx14_constexpr cxx17_if_constexpr ] [ check-target-builds ../config//has_is_constant_evaluated : : <build>no ] ] | |
976 | [ run constexpr_test_cpp_int_3.cpp : : : [ requires cxx14_constexpr cxx17_if_constexpr ] [ check-target-builds ../config//has_is_constant_evaluated : : <build>no ] ] | |
977 | [ run constexpr_test_cpp_int_4.cpp : : : [ requires cxx14_constexpr cxx17_if_constexpr ] [ check-target-builds ../config//has_is_constant_evaluated : : <build>no ] ] | |
978 | [ run constexpr_test_cpp_int_5.cpp : : : [ requires cxx14_constexpr cxx17_if_constexpr ] [ check-target-builds ../config//has_is_constant_evaluated : : <build>no ] ] | |
f67539c2 TL |
979 | [ run constexpr_test_cpp_int_6.cpp : : : [ requires cxx14_constexpr cxx17_if_constexpr ] [ check-target-builds ../config//has_is_constant_evaluated : <toolset>msvc:<cxxflags>-constexpr:steps10000000 <toolset>clang:<cxxflags>-fconstexpr-steps=268435456 : <build>no ] [ check-target-builds ../config//has_constexpr_limits : <cxxflags>-fconstexpr-ops-limit=268435456 ] ] |
980 | [ run constexpr_test_cpp_int_7.cpp : : : [ requires cxx14_constexpr cxx17_if_constexpr ] [ check-target-builds ../config//has_is_constant_evaluated : <toolset>msvc:<cxxflags>-constexpr:steps10000000 <toolset>clang:<cxxflags>-fconstexpr-steps=268435456 : <build>no ] ] | |
92f5a8d4 TL |
981 | |
982 | [ compile test_nothrow_cpp_int.cpp ] | |
983 | [ compile test_nothrow_cpp_rational.cpp ] | |
984 | [ compile test_nothrow_cpp_bin_float.cpp ] | |
985 | [ compile test_nothrow_cpp_dec_float.cpp ] | |
986 | [ compile test_nothrow_float128.cpp : [ check-target-builds ../config//has_float128 : : <build>no ] ] | |
987 | [ compile test_nothrow_gmp.cpp : [ check-target-builds ../config//has_gmp : : <build>no ] ] | |
988 | [ compile test_nothrow_mpfr.cpp : [ check-target-builds ../config//has_mpfr : : <build>no ] ] | |
989 | ||
990 | [ run test_miller_rabin.cpp no_eh_support gmp | |
991 | : # command line | |
992 | : # input files | |
993 | : # requirements | |
994 | [ check-target-builds ../config//has_gmp : : <build>no ] | |
995 | release # otherwise [ runtime is too slow!! | |
996 | ] | |
997 | ||
998 | [ run test_rational_io.cpp $(TOMMATH) no_eh_support | |
999 | : # command line | |
1000 | : # input files | |
1001 | : # requirements | |
1002 | <define>TEST_TOMMATH | |
1003 | [ check-target-builds ../config//has_tommath : : <build>no ] | |
1004 | release # Otherwise [ runtime is slow | |
1005 | : test_rational_io_tommath ] | |
1006 | ||
1007 | [ run test_rational_io.cpp gmp no_eh_support | |
1008 | : # command line | |
1009 | : # input files | |
1010 | : # requirements | |
1011 | <define>TEST_MPQ | |
1012 | [ check-target-builds ../config//has_gmp : : <build>no ] | |
1013 | release # Otherwise [ runtime is slow | |
1014 | : test_rational_io_mpz ] | |
1015 | ||
1016 | [ run test_rational_io.cpp no_eh_support | |
1017 | : # command line | |
1018 | : # input files | |
1019 | : # requirements | |
1020 | <define>TEST_CPP_INT | |
1021 | release # Otherwise [ runtime is slow | |
1022 | : test_rational_io_cpp_int ] | |
1023 | ||
1024 | [ run test_generic_conv.cpp no_eh_support | |
1025 | : # command line | |
1026 | : # input files | |
1027 | : # requirements | |
1028 | [ check-target-builds ../config//has_gmp : <define>TEST_GMP <source>gmp : ] | |
1029 | [ check-target-builds ../config//has_tommath : <define>TEST_TOMMATH <source>$(TOMMATH) : ] | |
1030 | [ check-target-builds ../config//has_mpfr : <define>TEST_MPFR <source>mpfr : ] | |
1031 | release # Otherwise [ runtime is slow | |
1032 | ] | |
1033 | ||
1034 | [ run test_rat_float_interconv.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono | |
1035 | : # command line | |
1036 | : # input files | |
1037 | : # requirements | |
1038 | <define>TEST1 | |
1039 | release | |
1040 | : test_rat_float_interconv_1 ] | |
1041 | ||
1042 | [ run test_rat_float_interconv.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono | |
1043 | : # command line | |
1044 | : # input files | |
1045 | : # requirements | |
1046 | <define>TEST2 | |
1047 | release | |
1048 | : test_rat_float_interconv_2 ] | |
1049 | ||
1050 | [ run test_rat_float_interconv.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono | |
1051 | : # command line | |
1052 | : # input files | |
1053 | : # requirements | |
1054 | <define>TEST3 | |
1055 | release | |
1056 | : test_rat_float_interconv_3 ] | |
1057 | ||
1058 | [ run test_rat_float_interconv.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono | |
1059 | : # command line | |
1060 | : # input files | |
1061 | : # requirements | |
1062 | <define>TEST4 | |
1063 | release | |
1064 | : test_rat_float_interconv_4 ] | |
1065 | ||
1066 | [ run test_rat_float_interconv.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono mpfr gmp | |
1067 | : # command line | |
1068 | : # input files | |
1069 | : # requirements | |
1070 | <define>TEST5 | |
1071 | [ check-target-builds ../config//has_mpfr : : <build>no ] | |
1072 | release | |
1073 | : test_rat_float_interconv_5 ] | |
1074 | ||
1075 | [ run test_rat_float_interconv.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono mpfr gmp | |
1076 | : # command line | |
1077 | : # input files | |
1078 | : # requirements | |
1079 | <define>TEST6 | |
1080 | [ check-target-builds ../config//has_mpfr : : <build>no ] | |
1081 | release | |
1082 | : test_rat_float_interconv_6 ] | |
1083 | ||
1084 | [ run test_rat_float_interconv.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono mpfr gmp | |
1085 | : # command line | |
1086 | : # input files | |
1087 | : # requirements | |
1088 | <define>TEST7 | |
1089 | [ check-target-builds ../config//has_mpfr : : <build>no ] | |
1090 | release | |
1091 | : test_rat_float_interconv_7 ] | |
1092 | ||
1093 | [ run test_rat_float_interconv.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono mpfr gmp | |
1094 | : # command line | |
1095 | : # input files | |
1096 | : # requirements | |
1097 | <define>TEST8 | |
1098 | [ check-target-builds ../config//has_mpfr : : <build>no ] | |
1099 | release | |
1100 | : test_rat_float_interconv_8 ] | |
1101 | ||
1102 | [ run test_cpp_int_conv.cpp no_eh_support ] | |
1103 | [ run test_cpp_int_import_export.cpp no_eh_support ] | |
1104 | [ run test_native_integer.cpp no_eh_support ] | |
1105 | ||
1e59de90 | 1106 | [ run test_mixed_move_cpp_int.cpp no_eh_support ] |
92f5a8d4 TL |
1107 | [ run test_mixed_cpp_int.cpp no_eh_support ] |
1108 | [ run test_mixed_float.cpp no_eh_support | |
1109 | : # command line | |
1110 | : # input files | |
1111 | : # requirements | |
1112 | [ check-target-builds ../config//has_gmp : <define>TEST_GMP <library>gmp : ] | |
1113 | [ check-target-builds ../config//has_mpfr : <define>TEST_MPFR <library>mpfr <library>gmp : ] ] | |
1114 | [ compile include_test/mpfr_include_test.cpp | |
1115 | : # requirements | |
1116 | [ check-target-builds ../config//has_mpfr : : <build>no ] ] | |
1117 | [ compile include_test/gmp_include_test.cpp | |
1118 | : # requirements | |
1119 | [ check-target-builds ../config//has_gmp : : <build>no ] ] | |
1120 | [ compile include_test/tommath_include_test.cpp | |
1121 | : # requirements | |
1122 | [ check-target-builds ../config//has_tommath : : <build>no ] ] | |
1123 | [ compile include_test/cpp_int_include_test.cpp ] | |
1124 | [ compile include_test/cpp_dec_float_include_test.cpp ] | |
1125 | [ compile include_test/cpp_bin_float_include_test.cpp ] | |
1126 | ||
1127 | [ run ublas_interop/test1.cpp ublas_interop/test11.cpp ublas_interop/test12.cpp ublas_interop/test13.cpp no_eh_support ] | |
1128 | [ run ublas_interop/test2.cpp ublas_interop/test21.cpp ublas_interop/test22.cpp ublas_interop/test23.cpp no_eh_support ] | |
1129 | #[ run ublas_interop/test3.cpp ublas_interop/test31.cpp ublas_interop/test32.cpp ublas_interop/test33.cpp ] | |
1130 | [ run ublas_interop/test4.cpp ublas_interop/test42.cpp ublas_interop/test43.cpp no_eh_support ] | |
1131 | [ run ublas_interop/test5.cpp ublas_interop/test52.cpp ublas_interop/test53.cpp no_eh_support ] | |
1132 | [ run ublas_interop/test6.cpp ublas_interop/test62.cpp ublas_interop/test63.cpp no_eh_support ] | |
1133 | #[ run ublas_interop/test7.cpp ublas_interop/test71.cpp ublas_interop/test72.cpp ublas_interop/test73.cpp ] | |
1134 | ||
1135 | [ run ublas_interop/test1.cpp ublas_interop/test11.cpp ublas_interop/test12.cpp ublas_interop/test13.cpp no_eh_support : : : <define>TEST_ET=1 : ublas1_et ] | |
1136 | [ run ublas_interop/test2.cpp ublas_interop/test21.cpp ublas_interop/test22.cpp ublas_interop/test23.cpp no_eh_support : : : <define>TEST_ET=1 : ublas2_et ] | |
1137 | #[ run ublas_interop/test3.cpp ublas_interop/test31.cpp ublas_interop/test32.cpp ublas_interop/test33.cpp : : : <define>TEST_ET=1 : ublas3_et ] | |
1138 | [ run ublas_interop/test4.cpp ublas_interop/test42.cpp ublas_interop/test43.cpp no_eh_support : : : <define>TEST_ET=1 : ublas3_et ] | |
1139 | [ run ublas_interop/test5.cpp ublas_interop/test52.cpp ublas_interop/test53.cpp no_eh_support : : : <define>TEST_ET=1 : ublas4_et ] | |
1140 | [ run ublas_interop/test6.cpp ublas_interop/test62.cpp ublas_interop/test63.cpp no_eh_support : : : <define>TEST_ET=1 : ublas5_et ] | |
1141 | #[ run ublas_interop/test7.cpp ublas_interop/test71.cpp ublas_interop/test72.cpp ublas_interop/test73.cpp : : : <define>TEST_ET=1 : ublas6_et ] | |
1142 | ||
1143 | # | |
1144 | # Serialization tests, run in release mode so we cycle through more values: | |
1145 | # | |
1146 | [ run test_adapt_serial.cpp ../../serialization/build//boost_serialization : : : release <toolset>gcc-mingw:<link>static ] | |
1147 | [ run test_cpp_dec_float_serial.cpp ../../serialization/build//boost_serialization : : : release <define>TEST1 <toolset>gcc-mingw:<link>static : test_cpp_dec_float_serial_1 ] | |
1148 | [ run test_cpp_dec_float_serial.cpp ../../serialization/build//boost_serialization : : : release <define>TEST2 <toolset>gcc-mingw:<link>static : test_cpp_dec_float_serial_2 ] | |
1149 | [ run test_float128_serial.cpp ../../serialization/build//boost_serialization quadmath : : : release <toolset>gcc-mingw:<link>static [ check-target-builds ../config//has_float128 : : <build>no ] ] | |
1150 | [ run test_cpp_bin_float_serial.cpp ../../serialization/build//boost_serialization : : : release <toolset>gcc-mingw:<link>static <define>TEST1 : test_bin_dec_float_serial_1 ] | |
1151 | [ run test_cpp_bin_float_serial.cpp ../../serialization/build//boost_serialization : : : release <define>TEST2 <toolset>gcc-mingw:<link>static : test_bin_dec_float_serial_2 ] | |
1152 | ||
1153 | # | |
1154 | # Mixed mode comparison tests, see: https://svn.boost.org/trac/boost/ticket/11328 | |
1155 | # | |
1156 | [ run test_checked_mixed_cpp_int.cpp no_eh_support ] | |
1157 | [ run test_mixed_cpp_bin_float.cpp no_eh_support ] | |
1158 | [ run test_mixed_cpp_dec_float.cpp no_eh_support ] | |
1159 | [ run test_mixed_mpf_float.cpp gmp no_eh_support : : : [ check-target-builds ../config//has_gmp : : <build>no ] ] | |
1160 | [ run test_mixed_mpfr_float.cpp mpfr gmp no_eh_support : : : [ check-target-builds ../config//has_mpfr : : <build>no ] ] | |
1161 | # | |
1162 | # Check for narrowing conversions: | |
1163 | # | |
1164 | [ run test_float_conversions.cpp no_eh_support ] | |
1165 | # | |
1166 | # specific bug cases: | |
1167 | # | |
1168 | [ compile bug11922.cpp ] | |
1169 | [ run bug12039.cpp no_eh_support ] | |
1170 | [ compile git_issue_30.cpp ] | |
f67539c2 | 1171 | [ run git_issue_167.cpp ] |
1e59de90 | 1172 | [ run git_issue_370.cpp ] |
f67539c2 | 1173 | [ run git_issue_175.cpp ] |
20effc67 TL |
1174 | [ run git_issue_248.cpp ] |
1175 | [ run git_issue_265.cpp : : : [ check-target-builds ../config//has_mpfr : <source>gmp <source>mpfr : <build>no ] ] | |
1e59de90 TL |
1176 | [ run git_issue_426.cpp : : : [ check-target-builds ../config//has_mpfr : <source>gmp <source>mpfr <define>TEST_MPFR ] [ check-target-builds ../config//has_float128 : <source>quadmath <define>TEST_FLOAT128 ] ] |
1177 | [ run git_issue_277.cpp ] | |
1178 | [ run git_issue_313.cpp ] | |
92f5a8d4 TL |
1179 | [ compile git_issue_98.cpp : |
1180 | [ check-target-builds ../config//has_float128 : <define>TEST_FLOAT128 <source>quadmath : ] | |
1181 | [ check-target-builds ../config//has_gmp : <define>TEST_GMP <source>gmp : ] | |
1182 | [ check-target-builds ../config//has_mpfr : <define>TEST_MPFR <source>gmp <source>mpfr : ] | |
1183 | [ check-target-builds ../config//has_mpc : <define>TEST_MPC <source>gmp <source>mpfr <source>mpc : ] ] | |
1184 | [ run issue_13301.cpp ] | |
1185 | [ run issue_13148.cpp ] | |
1186 | [ run test_hash.cpp : : : | |
1187 | [ check-target-builds ../config//has_float128 : <define>TEST_FLOAT128 <source>quadmath : ] | |
1188 | [ check-target-builds ../config//has_gmp : <define>TEST_GMP <source>gmp : ] | |
1189 | [ check-target-builds ../config//has_mpfr : <define>TEST_MPFR <source>gmp <source>mpfr : ] | |
1190 | [ check-target-builds ../config//has_mpfi : <define>TEST_MPFI <source>gmp <source>mpfr <source>mpfi : ] | |
1191 | [ check-target-builds ../config//has_tommath : <define>TEST_TOMMATH <source>tommath : ] | |
1192 | ] | |
1193 | [ run test_optional_compat.cpp ] | |
1194 | # | |
1195 | # Eigen interoperability: | |
1196 | # | |
1197 | [ run test_eigen_interop_cpp_int.cpp : : : release [ check-target-builds ../config//has_eigen : : <build>no ] ] | |
1198 | [ run test_eigen_interop_cpp_dec_float.cpp : : : release [ check-target-builds ../config//has_eigen : : <build>no ] ] | |
1199 | [ run test_eigen_interop_cpp_dec_float_2.cpp : : : release [ check-target-builds ../config//has_eigen : : <build>no ] ] | |
1200 | [ run test_eigen_interop_cpp_dec_float_3.cpp : : : release [ check-target-builds ../config//has_eigen : : <build>no ] ] | |
1201 | [ run test_eigen_interop_cpp_bin_float_1.cpp : : : release [ check-target-builds ../config//has_eigen : : <build>no ] ] | |
1202 | [ run test_eigen_interop_cpp_bin_float_2.cpp : : : release [ check-target-builds ../config//has_eigen : : <build>no ] ] | |
1203 | [ run test_eigen_interop_cpp_bin_float_3.cpp : : : release [ check-target-builds ../config//has_eigen : : <build>no ] ] | |
1204 | [ run test_eigen_interop_mpfr_1.cpp mpfr gmp : : : release [ check-target-builds ../config//has_eigen : : <build>no ] [ check-target-builds ../config//has_mpfr : : <build>no ] ] | |
1205 | [ run test_eigen_interop_mpfr_2.cpp mpfr gmp : : : release [ check-target-builds ../config//has_eigen : : <build>no ] [ check-target-builds ../config//has_mpfr : : <build>no ] ] | |
1206 | [ run test_eigen_interop_mpfr_3.cpp mpfr gmp : : : release [ check-target-builds ../config//has_eigen : : <build>no ] [ check-target-builds ../config//has_mpfr : : <build>no ] ] | |
1e59de90 TL |
1207 | [ run test_eigen_interop_mpfr_4.cpp mpfr gmp : : : release [ check-target-builds ../config//has_eigen : : <build>no ] [ check-target-builds ../config//has_mpfr : : <build>no ] ] |
1208 | [ run test_eigen_interop_mpfr_5.cpp mpfr gmp : : : release [ check-target-builds ../config//has_eigen : : <build>no ] [ check-target-builds ../config//has_mpfr : : <build>no ] ] | |
1209 | [ run test_eigen_interop_mpfr_6.cpp mpfr gmp : : : release [ check-target-builds ../config//has_eigen : : <build>no ] [ check-target-builds ../config//has_mpfr : : <build>no ] ] | |
92f5a8d4 | 1210 | [ run test_eigen_interop_gmp.cpp gmp : : : release [ check-target-builds ../config//has_eigen : : <build>no ] [ check-target-builds ../config//has_gmp : : <build>no ] ] |
1e59de90 | 1211 | [ run test_eigen_interop_gmp_2.cpp gmp : : : release [ check-target-builds ../config//has_eigen : : <build>no ] [ check-target-builds ../config//has_gmp : : <build>no ] ] |
92f5a8d4 | 1212 | [ run test_eigen_interop_mpc.cpp mpc mpfr gmp : : : release [ check-target-builds ../config//has_eigen : : <build>no ] [ check-target-builds ../config//has_mpc : : <build>no ] ] |
1e59de90 | 1213 | [ compile git_issue_393.cpp : release [ check-target-builds ../config//has_eigen : : <build>no ] ] |
92f5a8d4 | 1214 | ; |
7c673cae | 1215 | |
1e59de90 TL |
1216 | alias eigen_tests : |
1217 | test_eigen_interop_cpp_int test_eigen_interop_cpp_dec_float test_eigen_interop_cpp_dec_float_2 test_eigen_interop_cpp_dec_float_3 | |
1218 | test_eigen_interop_cpp_bin_float_1 test_eigen_interop_cpp_bin_float_2 test_eigen_interop_cpp_bin_float_3 test_eigen_interop_mpfr_1 | |
1219 | test_eigen_interop_mpfr_2 test_eigen_interop_mpfr_3 test_eigen_interop_mpfr_4 test_eigen_interop_mpfr_5 test_eigen_interop_mpfr_6 | |
1220 | test_eigen_interop_gmp test_eigen_interop_gmp_2 test_eigen_interop_mpc git_issue_393 ; | |
1221 | ||
1222 | test-suite standalone : | |
1223 | ||
1224 | [ run standalone_constexpr_test_cpp_int.cpp : : : [ requires cxx14_constexpr cxx17_if_constexpr ] [ check-target-builds ../config//has_is_constant_evaluated : : <build>no ] ] | |
1225 | [ compile standalone_constexpr_test_float128.cpp : | |
1226 | [ requires cxx14_constexpr cxx17_if_constexpr ] [ check-target-builds ../config//has_float128 : <source>quadmath : <build>no ] ] | |
1227 | ||
1228 | [ run standalone_test_arithmetic_complex128.cpp : : : [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
1229 | [ run standalone_test_arithmetic_cpp_bin_float.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
1230 | [ run standalone_test_arithmetic_cpp_dec_float.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
1231 | [ run standalone_test_arithmetic_cpp_int.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
1232 | [ run standalone_test_arithmetic_int512.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
1233 | [ run standalone_test_arithmetic_cpp_rational.cpp no_eh_support : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
1234 | [ run standalone_test_arithmetic_tommath.cpp $(TOMMATH) no_eh_support : : : [ check-target-builds ../config//has_tommath : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
1235 | [ run standalone_test_arithmetic_float_128.cpp quadmath no_eh_support : : : [ check-target-builds ../config//has_float128 : : <build>no ] ] | |
1236 | [ run standalone_test_arithmetic_gmp.cpp gmp no_eh_support : : : [ check-target-builds ../config//has_gmp : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
1237 | [ run standalone_test_arithmetic_mpf_logged_adptr.cpp gmp : : : <toolset>msvc:<cxxflags>-bigobj [ check-target-builds ../config//has_gmp : : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] ] | |
1238 | ||
1239 | [ run standalone_test_miller_rabin.cpp no_eh_support gmp | |
1240 | : # command line | |
1241 | : # input files | |
1242 | : # requirements | |
1243 | [ check-target-builds ../config//has_gmp : : <build>no ] | |
1244 | release # otherwise [ runtime is too slow!! | |
1245 | ] | |
1246 | ||
1247 | [ run standalone_test_convert_from_tom_int.cpp | |
1248 | : # command line | |
1249 | : # input files | |
1250 | : # requirements | |
1251 | [ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ] | |
1252 | [ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ] | |
1253 | [ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ] | |
1254 | [ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ] | |
1255 | [ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ] | |
1256 | ] | |
1257 | ; | |
b32b8144 | 1258 | |
7c673cae FG |
1259 | # |
1260 | # This take too long to run as a regular part of the tests: | |
1261 | # | |
b32b8144 FG |
1262 | run test_cpp_bin_float_round.cpp mpfr gmp ; |
1263 | explicit test_cpp_bin_float_round ; | |
1264 | ||
1e59de90 TL |
1265 | high_precision_points = 35 40 41 50 51 60 61 70 71 80 81 100 101 450 ; |
1266 | ||
20effc67 | 1267 | rule get_specfun_tests_mpfr |
7c673cae | 1268 | { |
92f5a8d4 | 1269 | local result ; |
7c673cae FG |
1270 | for local source in [ glob math/*.cpp ] |
1271 | { | |
92f5a8d4 | 1272 | result += [ run $(source) mpfr gmp |
7c673cae | 1273 | /boost/test//boost_unit_test_framework/<link>static |
7c673cae FG |
1274 | math/instances//test_instances_mpfr/<link>static |
1275 | : # command line | |
1276 | : # input files | |
1277 | : # requirements | |
1278 | [ check-target-builds ../config//has_mpfr : : <build>no ] | |
20effc67 | 1279 | [ check-target-builds ../config//has_float128 : <source>quadmath ] |
7c673cae FG |
1280 | <define>TEST_MPFR_50 |
1281 | <optimization>speed | |
1282 | <define>BOOST_ALL_NO_LIB | |
1283 | <define>BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE | |
1284 | <toolset>msvc:<cxxflags>-bigobj | |
1285 | <include>../../math/include_private | |
1286 | release | |
92f5a8d4 | 1287 | : $(source:B)_mpfr ] ; |
20effc67 | 1288 | } |
1e59de90 | 1289 | for local digits in $(high_precision_points) |
20effc67 | 1290 | { |
1e59de90 | 1291 | result += [ run math/high_prec/test_gamma.cpp |
20effc67 | 1292 | /boost/test//boost_unit_test_framework/<link>static |
20effc67 TL |
1293 | : # command line |
1294 | : # input files | |
1295 | : # requirements | |
1296 | <optimization>speed | |
1297 | <define>BOOST_ALL_NO_LIB | |
1e59de90 | 1298 | <define>TEST_PRECISION=$(digits) |
20effc67 | 1299 | <toolset>msvc:<cxxflags>-bigobj |
1e59de90 | 1300 | [ check-target-builds ../config//has_mpfr : <define>TEST_MPFR <source>gmp <source>mpfr : <build>no ] |
20effc67 TL |
1301 | [ check-target-builds ../config//has_float128 : <source>quadmath ] |
1302 | <include>../../math/include_private | |
1e59de90 TL |
1303 | release |
1304 | : test_gamma_mpfr_$(digits) ] ; | |
1305 | ||
20effc67 TL |
1306 | } |
1307 | return $(result) ; | |
1308 | } | |
1309 | ||
1310 | rule get_specfun_tests_gmp | |
1311 | { | |
1312 | local result ; | |
1313 | for local source in [ glob math/*.cpp ] | |
1314 | { | |
92f5a8d4 | 1315 | result += [ run $(source) gmp |
7c673cae | 1316 | /boost/test//boost_unit_test_framework/<link>static |
7c673cae FG |
1317 | math/instances//test_instances_mpf/<link>static |
1318 | : # command line | |
1319 | : # input files | |
1320 | : # requirements | |
1321 | [ check-target-builds ../config//has_gmp : : <build>no ] | |
20effc67 | 1322 | [ check-target-builds ../config//has_float128 : <source>quadmath ] |
7c673cae FG |
1323 | <optimization>speed |
1324 | <define>TEST_MPF_50 | |
1325 | <define>BOOST_ALL_NO_LIB | |
7c673cae FG |
1326 | <toolset>msvc:<cxxflags>-bigobj |
1327 | <include>../../math/include_private | |
1328 | release | |
92f5a8d4 | 1329 | : $(source:B)_mpf ] ; |
20effc67 | 1330 | } |
1e59de90 TL |
1331 | for local digits in $(high_precision_points) |
1332 | { | |
1333 | result += [ run math/high_prec/test_gamma.cpp | |
1334 | /boost/test//boost_unit_test_framework/<link>static | |
1335 | : # command line | |
1336 | : # input files | |
1337 | : # requirements | |
1338 | <optimization>speed | |
1339 | <define>BOOST_ALL_NO_LIB | |
1340 | <define>TEST_PRECISION=$(digits) | |
1341 | <toolset>msvc:<cxxflags>-bigobj | |
1342 | [ check-target-builds ../config//has_gmp : <define>TEST_MPF <source>gmp : <build>no ] | |
1343 | [ check-target-builds ../config//has_float128 : <source>quadmath ] | |
1344 | <include>../../math/include_private | |
1345 | release | |
1346 | : test_gamma_gmp_$(digits) ] ; | |
1347 | ||
1348 | } | |
20effc67 TL |
1349 | return $(result) ; |
1350 | } | |
1351 | ||
1352 | rule get_specfun_tests_cpp_dec_float | |
1353 | { | |
1354 | local result ; | |
1355 | for local source in [ glob math/*.cpp ] | |
1356 | { | |
92f5a8d4 | 1357 | result += [ run $(source) /boost/test//boost_unit_test_framework/<link>static |
7c673cae FG |
1358 | math/instances//test_instances_cpp_dec_float/<link>static |
1359 | : # command line | |
1360 | : # input files | |
1361 | : # requirements | |
20effc67 | 1362 | [ check-target-builds ../config//has_float128 : <source>quadmath ] |
7c673cae FG |
1363 | <define>TEST_CPP_DEC_FLOAT |
1364 | <define>BOOST_ALL_NO_LIB | |
7c673cae FG |
1365 | <toolset>msvc:<cxxflags>-bigobj |
1366 | <include>../../math/include_private | |
1367 | release | |
92f5a8d4 | 1368 | : $(source:B)_cpp_dec_float ] ; |
20effc67 | 1369 | } |
1e59de90 TL |
1370 | for local digits in $(high_precision_points) |
1371 | { | |
1372 | result += [ run math/high_prec/test_gamma.cpp | |
1373 | /boost/test//boost_unit_test_framework/<link>static | |
1374 | : # command line | |
1375 | : # input files | |
1376 | : # requirements | |
1377 | <optimization>speed | |
1378 | <define>BOOST_ALL_NO_LIB | |
1379 | <define>TEST_PRECISION=$(digits) | |
1380 | <toolset>msvc:<cxxflags>-bigobj | |
1381 | <define>TEST_CPP_DEC_FLOAT | |
1382 | <include>../../math/include_private | |
1383 | release | |
1384 | : test_gamma_cpp_dec_float_$(digits) ] ; | |
1385 | } | |
20effc67 TL |
1386 | return $(result) ; |
1387 | } | |
1388 | ||
1389 | rule get_specfun_tests_cpp_bin_float | |
1390 | { | |
1391 | local result ; | |
1392 | for local source in [ glob math/*.cpp ] | |
1393 | { | |
92f5a8d4 | 1394 | result += [ run $(source) /boost/test//boost_unit_test_framework/<link>static |
7c673cae FG |
1395 | math/instances//test_instances_cpp_bin_float/<link>static |
1396 | : # command line | |
1397 | : # input files | |
1398 | : # requirements | |
1399 | <define>TEST_CPP_BIN_FLOAT | |
1400 | <define>BOOST_ALL_NO_LIB | |
7c673cae FG |
1401 | <toolset>msvc:<cxxflags>-bigobj |
1402 | <include>../../math/include_private | |
1403 | release | |
20effc67 | 1404 | [ check-target-builds ../config//has_float128 : <source>quadmath ] |
92f5a8d4 | 1405 | : $(source:B)_cpp_bin_float ] ; |
20effc67 | 1406 | } |
1e59de90 TL |
1407 | for local digits in $(high_precision_points) |
1408 | { | |
1409 | result += [ run math/high_prec/test_gamma.cpp | |
1410 | /boost/test//boost_unit_test_framework/<link>static | |
1411 | : # command line | |
1412 | : # input files | |
1413 | : # requirements | |
1414 | <optimization>speed | |
1415 | <define>BOOST_ALL_NO_LIB | |
1416 | <define>TEST_PRECISION=$(digits) | |
1417 | <toolset>msvc:<cxxflags>-bigobj | |
1418 | <define>TEST_CPP_BIN_FLOAT | |
1419 | [ check-target-builds ../config//has_float128 : <source>quadmath ] | |
1420 | <include>../../math/include_private | |
1421 | release | |
1422 | : test_gamma_cpp_bin_float_$(digits) ] ; | |
1423 | ||
1424 | } | |
20effc67 TL |
1425 | return $(result) ; |
1426 | } | |
1427 | ||
1428 | rule get_specfun_tests_float128 | |
1429 | { | |
1430 | local result ; | |
1431 | for local source in [ glob math/*.cpp ] | |
1432 | { | |
92f5a8d4 | 1433 | result += [ run $(source) quadmath |
7c673cae | 1434 | /boost/test//boost_unit_test_framework/<link>static |
7c673cae FG |
1435 | math/instances//test_instances_float128/<link>static |
1436 | : # command line | |
1437 | : # input files | |
1438 | : # requirements | |
1439 | [ check-target-builds ../config//has_float128 : : <build>no ] | |
1440 | <optimization>speed | |
1441 | <define>TEST_FLOAT128 | |
1442 | <define>BOOST_ALL_NO_LIB | |
1443 | <define>BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE | |
1444 | <toolset>msvc:<cxxflags>-bigobj | |
1445 | <include>../../math/include_private | |
1446 | release | |
92f5a8d4 | 1447 | : $(source:B)_float128 ] ; |
20effc67 TL |
1448 | } |
1449 | return $(result) ; | |
1450 | } | |
1451 | ||
1452 | rule get_specfun_tests_intel_quad | |
1453 | { | |
1454 | local result ; | |
1455 | for local source in [ glob math/*.cpp ] | |
1456 | { | |
92f5a8d4 | 1457 | result += [ run $(source) |
7c673cae | 1458 | /boost/test//boost_unit_test_framework/<link>static |
7c673cae FG |
1459 | math/instances//test_instances_intel_quad/<link>static |
1460 | : # command line | |
1461 | : # input files | |
1462 | : # requirements | |
20effc67 TL |
1463 | [ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ] |
1464 | [ check-target-builds ../config//has_float128 : <source>quadmath ] | |
7c673cae FG |
1465 | <optimization>speed |
1466 | <define>TEST_FLOAT128 | |
1467 | <define>BOOST_ALL_NO_LIB | |
1468 | <define>BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE | |
1469 | <toolset>msvc:<cxxflags>-bigobj | |
1470 | <include>../../math/include_private | |
1471 | release | |
92f5a8d4 | 1472 | : $(source:B)_intel_quad ] ; |
7c673cae | 1473 | } |
92f5a8d4 | 1474 | return $(result) ; |
7c673cae FG |
1475 | } |
1476 | ||
20effc67 TL |
1477 | test-suite specfun_mpfr : [ get_specfun_tests_mpfr ] ; |
1478 | explicit specfun_mpfr ; | |
1479 | test-suite specfun_gmp : [ get_specfun_tests_gmp ] ; | |
1480 | explicit specfun_gmp ; | |
1481 | test-suite specfun_cpp_dec_float : [ get_specfun_tests_cpp_dec_float ] ; | |
1482 | explicit specfun_cpp_dec_float ; | |
1483 | test-suite specfun_cpp_bin_float : [ get_specfun_tests_cpp_bin_float ] ; | |
1484 | explicit specfun_cpp_bin_float ; | |
1485 | test-suite specfun_float128 : [ get_specfun_tests_float128 ] ; | |
1486 | explicit specfun_float128 ; | |
1487 | test-suite specfun_intel_quad : [ get_specfun_tests_intel_quad ] ; | |
1488 | explicit specfun_intel_quad ; | |
1489 | ||
1490 | test-suite specfun : specfun_mpfr specfun_gmp specfun_cpp_dec_float specfun_cpp_bin_float specfun_float128 specfun_intel_quad ; | |
92f5a8d4 | 1491 | explicit specfun ; |
b32b8144 | 1492 | |
92f5a8d4 | 1493 | rule get_compile_fail_tests |
7c673cae | 1494 | { |
92f5a8d4 TL |
1495 | |
1496 | local compile_fail_tests ; | |
1497 | ||
1498 | for local source in [ glob compile_fail/*.cpp ] | |
1499 | { | |
1500 | compile_fail_tests += $(source:B) ; | |
1501 | compile-fail $(source) | |
1502 | : | |
1503 | [ check-target-builds ../config//has_gmp : <define>TEST_GMP <debug-symbols>off : ] | |
1504 | [ check-target-builds ../config//has_mpfr : <define>TEST_MPFR <debug-symbols>off : ] | |
1505 | ; | |
1506 | } | |
1507 | return $(compile_fail_tests) ; | |
7c673cae FG |
1508 | } |
1509 | ||
92f5a8d4 | 1510 | test-suite compile_fail : [ get_compile_fail_tests ] ; |
b32b8144 | 1511 | |
92f5a8d4 | 1512 | rule get_concept_checks |
7c673cae | 1513 | { |
92f5a8d4 | 1514 | local result ; |
7c673cae FG |
1515 | for local source in [ glob concepts/*.cpp ] |
1516 | { | |
1517 | ||
92f5a8d4 | 1518 | result += [ compile $(source) mpfr |
7c673cae | 1519 | : # requirements |
92f5a8d4 | 1520 | <define>TEST_MPFR_50 |
7c673cae FG |
1521 | [ check-target-builds ../config//has_mpfr : : <build>no ] |
1522 | <debug-symbols>off | |
92f5a8d4 TL |
1523 | <optimization>space |
1524 | : $(source:B)_mpfr_50 ] ; | |
7c673cae | 1525 | |
92f5a8d4 | 1526 | result += [ compile $(source) mpfr |
7c673cae | 1527 | : # requirements |
92f5a8d4 | 1528 | <define>TEST_MPFR_6 |
7c673cae FG |
1529 | [ check-target-builds ../config//has_mpfr : : <build>no ] |
1530 | <debug-symbols>off | |
92f5a8d4 TL |
1531 | <optimization>space |
1532 | : $(source:B)_mpfr_6 ] ; | |
7c673cae | 1533 | |
92f5a8d4 | 1534 | result += [ compile $(source) mpfr |
7c673cae | 1535 | : # requirements |
92f5a8d4 | 1536 | <define>TEST_MPFR_15 |
7c673cae FG |
1537 | [ check-target-builds ../config//has_mpfr : : <build>no ] |
1538 | <debug-symbols>off | |
92f5a8d4 TL |
1539 | <optimization>space |
1540 | : $(source:B)_mpfr_15 ] ; | |
7c673cae | 1541 | |
92f5a8d4 | 1542 | result += [ compile $(source) mpfr |
7c673cae | 1543 | : # requirements |
92f5a8d4 | 1544 | <define>TEST_MPFR_17 |
7c673cae FG |
1545 | [ check-target-builds ../config//has_mpfr : : <build>no ] |
1546 | <debug-symbols>off | |
92f5a8d4 TL |
1547 | <optimization>space |
1548 | : $(source:B)_mpfr_17 ] ; | |
7c673cae | 1549 | |
92f5a8d4 | 1550 | result += [ compile $(source) mpfr |
7c673cae | 1551 | : # requirements |
92f5a8d4 | 1552 | <define>TEST_MPFR_30 |
7c673cae FG |
1553 | [ check-target-builds ../config//has_mpfr : : <build>no ] |
1554 | <debug-symbols>off | |
92f5a8d4 TL |
1555 | <optimization>space |
1556 | : $(source:B)_mpfr_30 ] ; | |
7c673cae | 1557 | |
92f5a8d4 | 1558 | result += [ compile $(source) gmp |
7c673cae | 1559 | : # requirements |
92f5a8d4 | 1560 | <define>TEST_MPF_50 |
7c673cae FG |
1561 | [ check-target-builds ../config//has_gmp : : <build>no ] |
1562 | <debug-symbols>off | |
92f5a8d4 TL |
1563 | <optimization>space |
1564 | : $(source:B)_mpf50 ] ; | |
7c673cae | 1565 | |
92f5a8d4 | 1566 | result += [ compile $(source) |
7c673cae | 1567 | : # requirements |
92f5a8d4 | 1568 | <define>TEST_CPP_DEC_FLOAT |
7c673cae | 1569 | <debug-symbols>off |
92f5a8d4 TL |
1570 | <optimization>space |
1571 | : $(source:B)_cpp_dec_float ] ; | |
7c673cae | 1572 | |
92f5a8d4 | 1573 | result += [ compile $(source) |
7c673cae | 1574 | : # requirements |
92f5a8d4 | 1575 | <define>TEST_CPP_BIN_FLOAT |
7c673cae | 1576 | <debug-symbols>off |
92f5a8d4 TL |
1577 | <optimization>space |
1578 | : $(source:B)_cpp_bin_float ] ; | |
7c673cae | 1579 | |
92f5a8d4 | 1580 | result += [ compile $(source) |
7c673cae | 1581 | : # requirements |
92f5a8d4 | 1582 | <define>TEST_CPP_DEC_FLOAT_NO_ET |
7c673cae | 1583 | <debug-symbols>off |
92f5a8d4 TL |
1584 | <optimization>space |
1585 | : $(source:B)_cpp_dec_float_no_et ] ; | |
7c673cae | 1586 | |
92f5a8d4 | 1587 | result += [ compile $(source) |
7c673cae | 1588 | : # requirements |
92f5a8d4 | 1589 | <define>TEST_BACKEND |
7c673cae | 1590 | <debug-symbols>off |
92f5a8d4 TL |
1591 | <optimization>space |
1592 | : $(source:B)_backend_concept ] ; | |
7c673cae | 1593 | |
92f5a8d4 | 1594 | result += [ compile $(source) |
7c673cae | 1595 | : # requirements |
92f5a8d4 | 1596 | <define>TEST_LOGGED_ADAPTER |
7c673cae | 1597 | <debug-symbols>off |
92f5a8d4 TL |
1598 | <optimization>space |
1599 | : $(source:B)_logged_adaptor ] ; | |
7c673cae | 1600 | } |
92f5a8d4 | 1601 | return $(result) ; |
7c673cae FG |
1602 | } |
1603 | ||
92f5a8d4 | 1604 | test-suite concepts : [ get_concept_checks ] ; |
7c673cae | 1605 | |
92f5a8d4 | 1606 | test-suite examples : ../example//examples ; |
f67539c2 | 1607 | test-suite performance : ../performance//performance ; |