]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/multiprecision/test/Jamfile.v2
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / src / boost / libs / multiprecision / test / Jamfile.v2
CommitLineData
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 6import testing ;
7c673cae
FG
7import modules ;
8import path ;
9import ../../config/checks/config : requires ;
10
11local ntl-path = [ modules.peek : NTL_PATH ] ;
12local gmp_path = [ modules.peek : GMP_PATH ] ;
13local mpfr_path = [ modules.peek : MPFR_PATH ] ;
14local mpfi_path = [ modules.peek : MPFI_PATH ] ;
15local tommath_path = [ modules.peek : TOMMATH_PATH ] ;
16
17project : requirements
18 <include>$(gmp_path)
19 <include>$(gmp_path)/mpfr
20 <include>$(gmp_path)/gmpfrxx
21 <include>$(mpfr_path)
22 <include>$(mpfi_path)
23 <include>$(mpfi_path)/src
24 <include>$(tommath_path)
25 <include>../include
26 <include>../../..
27 # We set these to make it easier to set up and test GMP and MPFR under Win32:
28 <toolset>msvc:<runtime-link>static
29 <toolset>msvc:<link>static
30 <toolset>msvc:<warnings>all
31 <toolset>msvc:<cxxflags>/fp:precise
32 <toolset>intel-win:<runtime-link>static
33 <toolset>intel-win:<link>static
34 # Speed up compiles:
35 <toolset>msvc:<debug-symbols>off
36 <toolset>intel:<debug-symbols>off
37 <toolset>gcc:<cxxflags>-Wall
38 <toolset>gcc:<cxxflags>-Wextra
39 <toolset>intel:<define>SLOW_COMPILER
40 <toolset>msvc,<optimization>off:<cxxflags>-RTC1
41 # We can't yet enable this - it breaks the STL in some tests...
42 #<toolset>msvc,<optimization>off:<cxxflags>-RTCc
43 #<toolset>msvc,<optimization>off:<define>_ALLOW_RTCc_IN_STL
44 ;
45
46local enable-specfun = [ MATCH (--enable-specfun) : [ modules.peek : ARGV ] ] ;
47local disable-concepts = [ MATCH (--disable-concepts) : [ modules.peek : ARGV ] ] ;
48
49lib gmp : : <search>$(gmp_path) ;
50lib mpfr : : <search>$(gmp_path) <search>$(mpfr_path) <search>$(mpfr_path)/build.vc10/lib/Win32/Debug ;
51lib mpfi : : <search>$(gmp_path) <search>$(mpfr_path) <search>$(mpfr_path)/build.vc10/lib/Win32/Debug <search>$(mpfi_path) <search>$(mpfi_path)/src ;
52lib quadmath ;
53
54if $(tommath_path)
55{
56 lib tommath : [ GLOB $(tommath_path) : *.c ] ;
57 TOMMATH = tommath ;
58}
59else
60{
61 lib tommath : : <search>$(tommath_path) ;
62 TOMMATH = tommath ;
63}
64
65lib no_eh_support : no_eh_test_support.cpp ;
66
67run test_arithmetic_backend_concept.cpp no_eh_support ;
68
69run test_arithmetic_cpp_dec_float_1.cpp no_eh_support ;
70run test_arithmetic_cpp_dec_float_2.cpp no_eh_support ;
71run test_arithmetic_cpp_dec_float_3.cpp no_eh_support ;
72
73run test_arithmetic_cpp_bin_float_1.cpp no_eh_support ;
74run test_arithmetic_cpp_bin_float_2.cpp no_eh_support ;
75run test_arithmetic_cpp_bin_float_3.cpp no_eh_support ;
76
77run test_arithmetic_mpf_50.cpp gmp no_eh_support : : : [ check-target-builds ../config//has_gmp : : <build>no ] ;
78run test_arithmetic_mpf.cpp gmp no_eh_support : : : [ check-target-builds ../config//has_gmp : : <build>no ] ;
79run test_arithmetic_mpz.cpp gmp no_eh_support : : : [ check-target-builds ../config//has_gmp : : <build>no ] ;
80run test_arithmetic_mpz_rat.cpp gmp no_eh_support : : : [ check-target-builds ../config//has_gmp : : <build>no ] ;
81run test_arithmetic_mpz_br.cpp gmp no_eh_support : : : [ check-target-builds ../config//has_gmp : : <build>no ] ;
82run test_arithmetic_mpq.cpp gmp no_eh_support : : : [ check-target-builds ../config//has_gmp : : <build>no ] ;
83
84run test_arithmetic_mpfr.cpp mpfr gmp no_eh_support : : : [ check-target-builds ../config//has_mpfr : : <build>no ] ;
85run test_arithmetic_mpfr_50.cpp mpfr gmp no_eh_support : : : [ check-target-builds ../config//has_mpfr : : <build>no ] ;
86run test_arithmetic_mpfr_50_static.cpp mpfr gmp no_eh_support : : : [ check-target-builds ../config//has_mpfr : : <build>no ] ;
87
88run test_arithmetic_tommath.cpp $(TOMMATH) no_eh_support : : : [ check-target-builds ../config//has_tommath : : <build>no ] ;
89run test_arithmetic_tommath_rat.cpp $(TOMMATH) no_eh_support : : : [ check-target-builds ../config//has_tommath : : <build>no ] ;
90run test_arithmetic_tommath_br.cpp $(TOMMATH) no_eh_support : : : [ check-target-builds ../config//has_tommath : : <build>no ] ;
91
92run test_arithmetic_cpp_int_1.cpp no_eh_support ;
93run test_arithmetic_cpp_int_2.cpp no_eh_support ;
94run test_arithmetic_cpp_int_3.cpp no_eh_support ;
95run test_arithmetic_cpp_int_4.cpp no_eh_support ;
96run test_arithmetic_cpp_int_5.cpp no_eh_support ;
97run test_arithmetic_cpp_int_6.cpp no_eh_support ;
98run test_arithmetic_cpp_int_7.cpp no_eh_support ;
99run test_arithmetic_cpp_int_8.cpp no_eh_support ;
100run test_arithmetic_cpp_int_9.cpp no_eh_support ;
101run test_arithmetic_cpp_int_10.cpp no_eh_support ;
102run test_arithmetic_cpp_int_11.cpp no_eh_support ;
103run test_arithmetic_cpp_int_12.cpp no_eh_support ;
104run test_arithmetic_cpp_int_13.cpp no_eh_support ;
105run test_arithmetic_cpp_int_14.cpp no_eh_support ;
106run test_arithmetic_cpp_int_15.cpp no_eh_support ;
107run test_arithmetic_cpp_int_16.cpp no_eh_support ;
108run test_arithmetic_cpp_int_17.cpp no_eh_support ;
109run test_arithmetic_cpp_int_18.cpp no_eh_support ;
110run test_arithmetic_cpp_int_br.cpp no_eh_support ;
111
112run test_arithmetic_ab_1.cpp no_eh_support ;
113run test_arithmetic_ab_2.cpp no_eh_support ;
114run test_arithmetic_ab_3.cpp no_eh_support ;
115
116run test_cpp_dec_float_round.cpp no_eh_support ;
117
118run test_arithmetic_logged_1.cpp no_eh_support ;
119run test_arithmetic_logged_2.cpp no_eh_support ;
120
121run test_arithmetic_dbg_adptr1.cpp no_eh_support ;
122run test_arithmetic_dbg_adptr2.cpp no_eh_support ;
123
124run test_arithmetic_mpfi_50.cpp mpfi mpfr gmp no_eh_support : : : [ check-target-builds ../config//has_mpfi : : <build>no ] ;
125
126run test_arithmetic_float_128.cpp quadmath no_eh_support : : : [ check-target-builds ../config//has_float128 : : <build>no ] ;
127run 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 ;
128
129run test_numeric_limits.cpp no_eh_support
130 : # command line
131 : # input files
132 : # requirements
133 <define>TEST_BACKEND
134 : test_numeric_limits_backend_concept ;
135
136run test_numeric_limits.cpp gmp no_eh_support
137 : # command line
138 : # input files
139 : # requirements
140 <define>TEST_MPF_50
141 [ check-target-builds ../config//has_gmp : : <build>no ]
142 : test_numeric_limits_mpf50 ;
143
144run test_numeric_limits.cpp gmp no_eh_support
145 : # command line
146 : # input files
147 : # requirements
148 <define>TEST_MPF
149 [ check-target-builds ../config//has_gmp : : <build>no ]
150 : test_numeric_limits_mpf ;
151
152run test_numeric_limits.cpp gmp no_eh_support
153 : # command line
154 : # input files
155 : # requirements
156 <define>TEST_MPZ
157 [ check-target-builds ../config//has_gmp : : <build>no ]
158 : test_numeric_limits_mpz ;
159
160run test_numeric_limits.cpp gmp no_eh_support
161 : # command line
162 : # input files
163 : # requirements
164 <define>TEST_MPQ
165 [ check-target-builds ../config//has_gmp : : <build>no ]
166 : test_numeric_limits_mpq ;
167
168run test_numeric_limits.cpp mpfr gmp no_eh_support
169 : # command line
170 : # input files
171 : # requirements
172 <define>TEST_MPFR
173 [ check-target-builds ../config//has_mpfr : : <build>no ]
174 : test_numeric_limits_mpfr ;
175
176run test_numeric_limits.cpp mpfr gmp no_eh_support
177 : # command line
178 : # input files
179 : # requirements
180 <define>TEST_MPFR_50
181 [ check-target-builds ../config//has_mpfr : : <build>no ]
182 : test_numeric_limits_mpfr_50 ;
183
184run test_numeric_limits.cpp no_eh_support
185 : # command line
186 : # input files
187 : # requirements
188 <define>TEST_CPP_DEC_FLOAT
189 : test_numeric_limits_cpp_dec_float ;
190
191run test_numeric_limits.cpp no_eh_support
192 : # command line
193 : # input files
194 : # requirements
195 <define>TEST_CPP_BIN_FLOAT
196 : test_numeric_limits_cpp_bin_float ;
197
198run test_numeric_limits.cpp $(TOMMATH) no_eh_support
199 : # command line
200 : # input files
201 : # requirements
202 <define>TEST_TOMMATH
203 [ check-target-builds ../config//has_tommath : : <build>no ]
204 : test_numeric_limits_tommath ;
205
206run test_numeric_limits.cpp no_eh_support
207 : # command line
208 : # input files
209 : # requirements
210 <define>TEST_CPP_INT
211 : test_numeric_limits_cpp_int ;
212
213run test_numeric_limits.cpp mpfi mpfr gmp no_eh_support
214 : # command line
215 : # input files
216 : # requirements
217 <define>TEST_MPFI_50
218 [ check-target-builds ../config//has_mpfi : : <build>no ]
219 : test_numeric_limits_mpfi_50 ;
220
221
222run test_numeric_limits.cpp quadmath no_eh_support
223 : # command line
224 : # input files
225 : # requirements
226 <define>TEST_FLOAT128
227 [ check-target-builds ../config//has_float128 : : <build>no ]
228 : test_numeric_limits_float128 ;
229run test_numeric_limits.cpp no_eh_support
230 : # command line
231 : # input files
232 : # requirements
233 <define>TEST_FLOAT128
234 [ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ]
235 : test_numeric_limits_intel_quad ;
236
237for 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
238{
239 run $(source) gmp no_eh_support
240 : # command line
241 : # input files
242 : # requirements
243 [ check-target-builds ../config//has_gmp : : <build>no ]
244 <define>TEST_MPF_50
245 : $(source:B)_mpf50 ;
246 run $(source) mpfr gmp no_eh_support
247 : # command line
248 : # input files
249 : # requirements
250 [ check-target-builds ../config//has_mpfr : : <build>no ]
251 <define>TEST_MPFR_50
252 : $(source:B)_mpfr50 ;
253 run $(source) mpfi mpfr gmp no_eh_support
254 : # command line
255 : # input files
256 : # requirements
257 [ check-target-builds ../config//has_mpfi : : <build>no ]
258 <define>TEST_MPFI_50
259 : $(source:B)_mpfi50 ;
260 run $(source) no_eh_support
261 : # command line
262 : # input files
263 : # requirements
264 <define>TEST_CPP_DEC_FLOAT
265 : $(source:B)_cpp_dec_float ;
266 run $(source) no_eh_support
267 : # command line
268 : # input files
269 : # requirements
270 <define>TEST_CPP_BIN_FLOAT
271 : $(source:B)_cpp_bin_float ;
272 run $(source) quadmath no_eh_support
273 : # command line
274 : # input files
275 : # requirements
276 [ check-target-builds ../config//has_float128 : : <build>no ]
277 <define>TEST_FLOAT128
278 : $(source:B)_float128 ;
279 run $(source) no_eh_support
280 : # command line
281 : # input files
282 : # requirements
283 [ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ]
284 <define>TEST_FLOAT128
285 : $(source:B)_intel_quad ;
286}
287
b32b8144
FG
288run test_sf_import_c99.cpp : : : <define>TEST_CPP_DEC_FLOAT_2 : test_sf_import_c99_cpp_dec_float_2 ;
289run test_sf_import_c99.cpp : : : <define>TEST_CPP_DEC_FLOAT_3 : test_sf_import_c99_cpp_dec_float_3 ;
290run test_sf_import_c99.cpp : : : <define>TEST_CPP_DEC_FLOAT_4 : test_sf_import_c99_cpp_dec_float_4 ;
291run test_sf_import_c99.cpp : : : <define>TEST_CPP_DEC_FLOAT_5 : test_sf_import_c99_cpp_dec_float_5 ;
292
11fdf7f2
TL
293run test_sf_import_c99.cpp : : : <define>TEST_CPP_BIN_FLOAT_2 : test_sf_import_c99_cpp_bin_float_2 ;
294run test_sf_import_c99.cpp : : : <define>TEST_CPP_BIN_FLOAT_2 : test_sf_import_c99_cpp_bin_float_3 ;
295
7c673cae
FG
296run test_gmp_conversions.cpp gmp no_eh_support
297 : # command line
298 : # input files
299 : # requirements
300 [ check-target-builds ../config//has_gmp : : <build>no ] ;
301
302run test_mpfr_conversions.cpp gmp mpfr no_eh_support
303 : # command line
304 : # input files
305 : # requirements
306 [ check-target-builds ../config//has_mpfr : : <build>no ] ;
307
308run test_constants.cpp gmp no_eh_support
309 : # command line
310 : # input files
311 : # requirements
312 <define>TEST_MPF_50
313 [ check-target-builds ../config//has_gmp : : <build>no ]
314 : test_constants_mpf50 ;
315
316run test_constants.cpp mpfr gmp no_eh_support
317 : # command line
318 : # input files
319 : # requirements
320 <define>TEST_MPFR_50
321 [ check-target-builds ../config//has_mpfr : : <build>no ]
322 : test_constants_mpfr_50 ;
323
324run test_constants.cpp no_eh_support
325 : # command line
326 : # input files
327 : # requirements
328 <define>TEST_CPP_DEC_FLOAT
329 : test_constants_cpp_dec_float ;
330
331
332run test_move.cpp mpfr gmp no_eh_support
333 : # command line
334 : # input files
335 : # requirements
336 <define>TEST_MPFR
337 [ check-target-builds ../config//has_mpfr : : <build>no ]
338 : test_move_mpfr ;
339
340run test_move.cpp gmp no_eh_support
341 : # command line
342 : # input files
343 : # requirements
344 <define>TEST_GMP
345 [ check-target-builds ../config//has_gmp : : <build>no ]
346 : test_move_gmp ;
347
348run test_move.cpp $(TOMMATH) no_eh_support
349 : # command line
350 : # input files
351 : # requirements
352 <define>TEST_TOMMATH
353 [ check-target-builds ../config//has_tommath : : <build>no ]
354 : test_move_tommath ;
355
356run test_move.cpp no_eh_support
357 : # command line
358 : # input files
359 : # requirements
360 <define>TEST_CPP_INT
361 : test_move_cpp_int ;
362
363run test_test.cpp ;
364run test_cpp_int_lit.cpp no_eh_support ;
365compile test_constexpr.cpp :
366 [ check-target-builds ../config//has_float128 : <define>HAVE_FLOAT128 : ]
367 [ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type <define>HAVE_FLOAT128 : ]
368 [ requires cxx11_constexpr cxx11_user_defined_literals ] ;
369
370compile test_nothrow_cpp_int.cpp ;
371compile test_nothrow_cpp_rational.cpp ;
372compile test_nothrow_cpp_bin_float.cpp ;
373compile test_nothrow_cpp_dec_float.cpp ;
374compile test_nothrow_float128.cpp : [ check-target-builds ../config//has_float128 : : <build>no ] ;
375compile test_nothrow_gmp.cpp : [ check-target-builds ../config//has_gmp : : <build>no ] ;
376compile test_nothrow_mpfr.cpp : [ check-target-builds ../config//has_mpfr : : <build>no ] ;
377
378#
379# Interconversion tests:
380#
381run test_convert_from_cpp_int.cpp
382 : # command line
383 : # input files
384 : # requirements
385 [ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ]
386 [ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ]
387 [ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ]
388 [ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ]
389 [ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ]
390 ;
391run test_convert_from_mpz_int.cpp
392 : # command line
393 : # input files
394 : # requirements
395 [ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ]
396 [ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ]
397 [ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ]
398 [ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ]
399 [ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ]
400 ;
401run test_convert_from_tom_int.cpp
402 : # command line
403 : # input files
404 : # requirements
405 [ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ]
406 [ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ]
407 [ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ]
408 [ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ]
409 [ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ]
410 ;
411run test_convert_from_cpp_rational.cpp
412 : # command line
413 : # input files
414 : # requirements
415 [ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ]
416 [ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ]
417 [ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ]
418 [ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ]
419 [ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ]
420 ;
421run test_convert_from_gmp_rational.cpp
422 : # command line
423 : # input files
424 : # requirements
425 [ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ]
426 [ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ]
427 [ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ]
428 [ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ]
429 [ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ]
430 ;
431run test_convert_from_tom_rational.cpp
432 : # command line
433 : # input files
434 : # requirements
435 [ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ]
436 [ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ]
437 [ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ]
438 [ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ]
439 [ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ]
440 ;
441run test_convert_from_cpp_bin_float.cpp
442 : # command line
443 : # input files
444 : # requirements
445 [ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ]
446 [ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ]
447 [ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ]
448 [ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ]
449 [ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ]
450 ;
451run test_convert_from_cpp_dec_float.cpp
452 : # command line
453 : # input files
454 : # requirements
455 [ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ]
456 [ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ]
457 [ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ]
458 [ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ]
459 [ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ]
460 ;
461run test_convert_from_mpf_float.cpp
462 : # command line
463 : # input files
464 : # requirements
465 [ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ]
466 [ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ]
467 [ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ]
468 [ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ]
469 [ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ]
470 ;
471run test_convert_from_mpfr_float.cpp
472 : # command line
473 : # input files
474 : # requirements
475 [ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ]
476 [ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ]
477 [ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ]
478 [ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ]
479 [ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ]
480 ;
481run test_convert_from_mpfi_float.cpp
482 : # command line
483 : # input files
484 : # requirements
485 [ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ]
486 [ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ]
487 [ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ]
488 [ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ]
489 [ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ]
490 ;
491run test_convert_from_float128.cpp
492 : # command line
493 : # input files
494 : # requirements
495 [ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ]
496 [ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ]
497 [ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ]
498 [ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ]
499 [ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ]
500 ;
501
b32b8144 502
7c673cae
FG
503#
504# This take too long to run as a regular part of the tests:
505#
b32b8144
FG
506run test_cpp_bin_float_round.cpp mpfr gmp ;
507explicit test_cpp_bin_float_round ;
508
7c673cae
FG
509run test_cpp_bin_float_conv.cpp ;
510
511run test_cpp_bin_float_io.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono
512 : # command line
513 : # input files
514 : # requirements
515 <define>TEST_CPP_BIN_FLOAT
516 <define>TEST1
517 release # Otherwise runtime is slow
518 : test_cpp_bin_float_io_1
519 ;
520
521run test_cpp_bin_float_io.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono
522 : # command line
523 : # input files
524 : # requirements
525 <define>TEST_CPP_BIN_FLOAT
526 <define>TEST2
527 release # Otherwise runtime is slow
528 : test_cpp_bin_float_io_2
529 ;
530
531run test_cpp_bin_float.cpp no_eh_support mpfr gmp /boost/system//boost_system /boost/chrono//boost_chrono
532 : # command line
533 : # input files
534 : # requirements
535 <define>TEST_MPFR
536 [ check-target-builds ../config//has_mpfr : : <build>no ]
537 release # Otherwise runtime is slow
538 ;
539
540run test_float_io.cpp no_eh_support
541 : # command line
542 : # input files
543 : # requirements
544 <define>TEST_CPP_DEC_FLOAT
545 release # Otherwise runtime is slow
546 : test_float_io_cpp_dec_float ;
547
548run test_float_io.cpp gmp no_eh_support
549 : # command line
550 : # input files
551 : # requirements
552 <define>TEST_MPF_50
553 release # Otherwise runtime is slow
554 [ check-target-builds ../config//has_gmp : : <build>no ]
555 : test_float_io_mpf ;
556
557run test_float_io.cpp mpfr gmp no_eh_support
558 : # command line
559 : # input files
560 : # requirements
561 <define>TEST_MPFR_50
562 release # Otherwise runtime is slow
563 [ check-target-builds ../config//has_mpfr : : <build>no ]
564 : test_float_io_mpfr ;
565
566run test_float_io.cpp mpfi mpfr gmp no_eh_support
567 : # command line
568 : # input files
569 : # requirements
570 <define>TEST_MPFI_50
571 release # Otherwise runtime is slow
572 [ check-target-builds ../config//has_mpfi : : <build>no ]
573 : test_float_io_mpfi ;
574
575run test_float_io.cpp quadmath no_eh_support
576 : # command line
577 : # input files
578 : # requirements
579 <define>TEST_FLOAT128
580 release # Otherwise runtime is slow
581 [ check-target-builds ../config//has_float128 : : <build>no ]
582 : test_float_io_float128 ;
583run test_float_io.cpp no_eh_support
584 : # command line
585 : # input files
586 : # requirements
587 <define>TEST_FLOAT128
588 release # Otherwise runtime is slow
589 [ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ]
590 : test_float_io_intel_quad ;
591
592run test_int_io.cpp no_eh_support $(TOMMATH)
593 : # command line
594 : # input files
595 : # requirements
596 <define>TEST_TOMMATH
597 release # Otherwise runtime is slow
598 [ check-target-builds ../config//has_tommath : : <build>no ]
599 : test_int_io_tommath ;
600
601run test_int_io.cpp no_eh_support gmp
602 : # command line
603 : # input files
604 : # requirements
605 <define>TEST_MPZ
606 release # Otherwise runtime is slow
607 [ check-target-builds ../config//has_gmp : : <build>no ]
608 : test_int_io_mpz ;
609
610run test_int_io.cpp no_eh_support
611 : # command line
612 : # input files
613 : # requirements
614 <define>TEST_CPP_INT
615 release # Otherwise runtime is slow
616 : test_int_io_cpp_int ;
617
b32b8144
FG
618run test_cpp_int_left_shift.cpp gmp no_eh_support
619 : # command line
620 : # input files
621 : # requirements
622 [ check-target-builds ../config//has_gmp : : <build>no ]
623 release # otherwise runtime is too slow!!
624 ;
625
7c673cae
FG
626run test_cpp_int.cpp gmp no_eh_support
627 : # command line
628 : # input files
629 : # requirements
630 [ check-target-builds ../config//has_gmp : : <build>no ]
631 release # otherwise runtime is too slow!!
632 <define>TEST1
633 : test_cpp_int_1
634 ;
635
636run test_cpp_int.cpp gmp no_eh_support
637 : # command line
638 : # input files
639 : # requirements
640 [ check-target-builds ../config//has_gmp : : <build>no ]
641 release # otherwise runtime is too slow!!
642 <define>TEST2
643 : test_cpp_int_2
644 ;
645
646run test_cpp_int.cpp gmp no_eh_support
647 : # command line
648 : # input files
649 : # requirements
650 [ check-target-builds ../config//has_gmp : : <build>no ]
651 release # otherwise runtime is too slow!!
652 <define>TEST3
653 : test_cpp_int_3
654 ;
655
b32b8144
FG
656run test_cpp_int.cpp gmp no_eh_support
657 : # command line
658 : # input files
659 : # requirements
660 [ check-target-builds ../config//has_gmp : : <build>no ]
661 release # otherwise runtime is too slow!!
662 <define>TEST4
663 : test_cpp_int_4
664 ;
665
666run test_cpp_int.cpp gmp no_eh_support
667 : # command line
668 : # input files
669 : # requirements
670 [ check-target-builds ../config//has_gmp : : <build>no ]
671 release # otherwise runtime is too slow!!
672 <define>TEST5
673 : test_cpp_int_5
674 ;
675
7c673cae 676run test_checked_cpp_int.cpp no_eh_support ;
b32b8144 677run test_unchecked_cpp_int.cpp no_eh_support : : : release ;
7c673cae
FG
678
679run test_miller_rabin.cpp no_eh_support gmp
680 : # command line
681 : # input files
682 : # requirements
683 [ check-target-builds ../config//has_gmp : : <build>no ]
684 release # otherwise runtime is too slow!!
685 ;
686
687run test_rational_io.cpp $(TOMMATH) no_eh_support
688 : # command line
689 : # input files
690 : # requirements
691 <define>TEST_TOMMATH
692 [ check-target-builds ../config//has_tommath : : <build>no ]
693 release # Otherwise runtime is slow
694 : test_rational_io_tommath ;
695
696run test_rational_io.cpp gmp no_eh_support
697 : # command line
698 : # input files
699 : # requirements
700 <define>TEST_MPQ
701 [ check-target-builds ../config//has_gmp : : <build>no ]
702 release # Otherwise runtime is slow
703 : test_rational_io_mpz ;
704
705run test_rational_io.cpp no_eh_support
706 : # command line
707 : # input files
708 : # requirements
709 <define>TEST_CPP_INT
710 release # Otherwise runtime is slow
711 : test_rational_io_cpp_int ;
712
713run test_generic_conv.cpp no_eh_support
714 : # command line
715 : # input files
716 : # requirements
717 [ check-target-builds ../config//has_gmp : <define>TEST_GMP <source>gmp : ]
718 [ check-target-builds ../config//has_tommath : <define>TEST_TOMMATH <source>$(TOMMATH) : ]
719 [ check-target-builds ../config//has_mpfr : <define>TEST_MPFR <source>mpfr : ]
720 release # Otherwise runtime is slow
721 ;
722
723run test_rat_float_interconv.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono
724 : # command line
725 : # input files
726 : # requirements
727 <define>TEST1
728 release
729 : test_rat_float_interconv_1 ;
730
731run test_rat_float_interconv.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono
732 : # command line
733 : # input files
734 : # requirements
735 <define>TEST2
736 release
737 : test_rat_float_interconv_2 ;
738
739run test_rat_float_interconv.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono
740 : # command line
741 : # input files
742 : # requirements
743 <define>TEST3
744 release
745 : test_rat_float_interconv_3 ;
746
747run test_rat_float_interconv.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono
748 : # command line
749 : # input files
750 : # requirements
751 <define>TEST4
752 release
753 : test_rat_float_interconv_4 ;
754
755run test_rat_float_interconv.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono mpfr gmp
756 : # command line
757 : # input files
758 : # requirements
759 <define>TEST5
760 [ check-target-builds ../config//has_mpfr : : <build>no ]
761 release
762 : test_rat_float_interconv_5 ;
763
764run test_rat_float_interconv.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono mpfr gmp
765 : # command line
766 : # input files
767 : # requirements
768 <define>TEST6
769 [ check-target-builds ../config//has_mpfr : : <build>no ]
770 release
771 : test_rat_float_interconv_6 ;
772
773run test_rat_float_interconv.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono mpfr gmp
774 : # command line
775 : # input files
776 : # requirements
777 <define>TEST7
778 [ check-target-builds ../config//has_mpfr : : <build>no ]
779 release
780 : test_rat_float_interconv_7 ;
781
782run test_rat_float_interconv.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono mpfr gmp
783 : # command line
784 : # input files
785 : # requirements
786 <define>TEST8
787 [ check-target-builds ../config//has_mpfr : : <build>no ]
788 release
789 : test_rat_float_interconv_8 ;
790
791build-project ../example ;
792
793
794run test_cpp_int_conv.cpp no_eh_support ;
795run test_cpp_int_import_export.cpp no_eh_support ;
796run test_native_integer.cpp no_eh_support ;
797
798run test_mixed_cpp_int.cpp no_eh_support ;
799run test_mixed_float.cpp no_eh_support
800 : # command line
801 : # input files
802 : # requirements
803 [ check-target-builds ../config//has_gmp : <define>TEST_GMP <library>gmp : ]
804 [ check-target-builds ../config//has_mpfr : <define>TEST_MPFR <library>mpfr <library>gmp : ] ;
805
7c673cae
FG
806compile include_test/mpfr_include_test.cpp
807 : # requirements
808 [ check-target-builds ../config//has_mpfr : : <build>no ] ;
809compile include_test/gmp_include_test.cpp
810 : # requirements
811 [ check-target-builds ../config//has_gmp : : <build>no ] ;
812compile include_test/tommath_include_test.cpp
813 : # requirements
814 [ check-target-builds ../config//has_tommath : : <build>no ] ;
815compile include_test/cpp_int_include_test.cpp ;
816compile include_test/cpp_dec_float_include_test.cpp ;
817compile include_test/cpp_bin_float_include_test.cpp ;
818
819run ublas_interop/test1.cpp ublas_interop/test11.cpp ublas_interop/test12.cpp ublas_interop/test13.cpp no_eh_support ;
820run ublas_interop/test2.cpp ublas_interop/test21.cpp ublas_interop/test22.cpp ublas_interop/test23.cpp no_eh_support ;
821#run ublas_interop/test3.cpp ublas_interop/test31.cpp ublas_interop/test32.cpp ublas_interop/test33.cpp ;
822run ublas_interop/test4.cpp ublas_interop/test42.cpp ublas_interop/test43.cpp no_eh_support ;
823run ublas_interop/test5.cpp ublas_interop/test52.cpp ublas_interop/test53.cpp no_eh_support ;
824run ublas_interop/test6.cpp ublas_interop/test62.cpp ublas_interop/test63.cpp no_eh_support ;
825#run ublas_interop/test7.cpp ublas_interop/test71.cpp ublas_interop/test72.cpp ublas_interop/test73.cpp ;
826
827run 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 ;
828run 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 ;
829#run ublas_interop/test3.cpp ublas_interop/test31.cpp ublas_interop/test32.cpp ublas_interop/test33.cpp : : : <define>TEST_ET=1 : ublas3_et ;
830run ublas_interop/test4.cpp ublas_interop/test42.cpp ublas_interop/test43.cpp no_eh_support : : : <define>TEST_ET=1 : ublas3_et ;
831run ublas_interop/test5.cpp ublas_interop/test52.cpp ublas_interop/test53.cpp no_eh_support : : : <define>TEST_ET=1 : ublas4_et ;
832run ublas_interop/test6.cpp ublas_interop/test62.cpp ublas_interop/test63.cpp no_eh_support : : : <define>TEST_ET=1 : ublas5_et ;
833#run ublas_interop/test7.cpp ublas_interop/test71.cpp ublas_interop/test72.cpp ublas_interop/test73.cpp : : : <define>TEST_ET=1 : ublas6_et ;
834
835#
836# Serialization tests, run in release mode so we cycle through more values:
837#
838path-constant here : . ;
b32b8144
FG
839run test_cpp_int_serial.cpp ../../serialization/build//boost_serialization : : : release <define>TEST1 <toolset>gcc-mingw:<link>static : test_cpp_int_serial_1 ;
840run test_cpp_int_serial.cpp ../../serialization/build//boost_serialization : : : release <define>TEST2 <toolset>gcc-mingw:<link>static : test_cpp_int_serial_2 ;
841run test_cpp_int_serial.cpp ../../serialization/build//boost_serialization : : : release <define>TEST3 <toolset>gcc-mingw:<link>static : test_cpp_int_serial_3 ;
842run test_cpp_int_serial.cpp ../../serialization/build//boost_serialization : : : release <define>TEST4 <toolset>gcc-mingw:<link>static : test_cpp_int_serial_4 ;
843run test_cpp_int_deserial.cpp ../../serialization/build//boost_serialization ../../filesystem/build//boost_filesystem : $(here) : : release <toolset>gcc-mingw:<link>static ;
844run test_cpp_rat_serial.cpp ../../serialization/build//boost_serialization : : : release <toolset>gcc-mingw:<link>static ;
845run test_adapt_serial.cpp ../../serialization/build//boost_serialization : : : release <toolset>gcc-mingw:<link>static ;
846run test_cpp_dec_float_serial.cpp ../../serialization/build//boost_serialization : : : release <define>TEST1 <toolset>gcc-mingw:<link>static : test_cpp_dec_float_serial_1 ;
847run test_cpp_dec_float_serial.cpp ../../serialization/build//boost_serialization : : : release <define>TEST2 <toolset>gcc-mingw:<link>static : test_cpp_dec_float_serial_2 ;
848run test_float128_serial.cpp ../../serialization/build//boost_serialization quadmath : : : release <toolset>gcc-mingw:<link>static [ check-target-builds ../config//has_float128 : : <build>no ] ;
849run test_cpp_bin_float_serial.cpp ../../serialization/build//boost_serialization : : : release <toolset>gcc-mingw:<link>static <define>TEST1 : test_bin_dec_float_serial_1 ;
850run test_cpp_bin_float_serial.cpp ../../serialization/build//boost_serialization : : : release <define>TEST2 <toolset>gcc-mingw:<link>static : test_bin_dec_float_serial_2 ;
7c673cae
FG
851
852#
853# Mixed mode comparison tests, see: https://svn.boost.org/trac/boost/ticket/11328
854#
855run test_checked_mixed_cpp_int.cpp no_eh_support ;
856run test_mixed_cpp_bin_float.cpp no_eh_support ;
857run test_mixed_cpp_dec_float.cpp no_eh_support ;
858run test_mixed_mpf_float.cpp gmp no_eh_support : : : [ check-target-builds ../config//has_gmp : : <build>no ] ;
859run test_mixed_mpfr_float.cpp mpfr gmp no_eh_support : : : [ check-target-builds ../config//has_mpfr : : <build>no ] ;
860#
861# Check for narrowing conversions:
862#
863run test_float_conversions.cpp no_eh_support ;
864#
865# specific bug cases:
866#
867compile bug11922.cpp ;
868run bug12039.cpp no_eh_support ;
11fdf7f2
TL
869compile git_issue_30.cpp ;
870run issue_13301.cpp ;
871run issue_13148.cpp ;
7c673cae
FG
872run test_hash.cpp : : :
873 [ check-target-builds ../config//has_float128 : <define>TEST_FLOAT128 <source>quadmath : ]
874 [ check-target-builds ../config//has_gmp : <define>TEST_GMP <source>gmp : ]
875 [ check-target-builds ../config//has_mpfr : <define>TEST_MPFR <source>gmp <source>mpfr : ]
876 [ check-target-builds ../config//has_mpfi : <define>TEST_MPFI <source>gmp <source>mpfr <source>mpfi : ]
877 [ check-target-builds ../config//has_tommath : <define>TEST_TOMMATH <source>tommath : ]
878 ;
879
880if $(enable-specfun)
881{
882
883 for local source in [ glob math/*.cpp ]
884 {
885 run $(source) mpfr gmp
886 /boost/test//boost_unit_test_framework/<link>static
887 /boost/regex//boost_regex/<link>static
888 math/instances//test_instances_mpfr/<link>static
889 : # command line
890 : # input files
891 : # requirements
892 [ check-target-builds ../config//has_mpfr : : <build>no ]
893 <define>TEST_MPFR_50
894 <optimization>speed
895 <define>BOOST_ALL_NO_LIB
896 <define>BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE
897 <toolset>msvc:<cxxflags>-bigobj
898 <include>../../math/include_private
899 release
900 : $(source:B)_mpfr ;
901 run $(source) gmp
902 /boost/test//boost_unit_test_framework/<link>static
903 /boost/regex//boost_regex/<link>static
904 math/instances//test_instances_mpf/<link>static
905 : # command line
906 : # input files
907 : # requirements
908 [ check-target-builds ../config//has_gmp : : <build>no ]
909 <optimization>speed
910 <define>TEST_MPF_50
911 <define>BOOST_ALL_NO_LIB
912 <define>BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE
913 <toolset>msvc:<cxxflags>-bigobj
914 <include>../../math/include_private
915 release
916 : $(source:B)_mpf ;
917 run $(source) /boost/test//boost_unit_test_framework/<link>static
918 /boost/regex//boost_regex/<link>static
919 math/instances//test_instances_cpp_dec_float/<link>static
920 : # command line
921 : # input files
922 : # requirements
923 <define>TEST_CPP_DEC_FLOAT
924 <define>BOOST_ALL_NO_LIB
925 <define>BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE
926 <optimization>speed
927 <toolset>msvc:<cxxflags>-bigobj
928 <include>../../math/include_private
929 release
930 : $(source:B)_cpp_dec_float ;
931 run $(source) /boost/test//boost_unit_test_framework/<link>static
932 /boost/regex//boost_regex/<link>static
933 math/instances//test_instances_cpp_bin_float/<link>static
934 : # command line
935 : # input files
936 : # requirements
937 <define>TEST_CPP_BIN_FLOAT
938 <define>BOOST_ALL_NO_LIB
939 <define>BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE
940 <optimization>speed
941 <toolset>msvc:<cxxflags>-bigobj
942 <include>../../math/include_private
943 release
944 : $(source:B)_cpp_bin_float ;
945 run $(source) quadmath
946 /boost/test//boost_unit_test_framework/<link>static
947 /boost/regex//boost_regex/<link>static
948 math/instances//test_instances_float128/<link>static
949 : # command line
950 : # input files
951 : # requirements
952 [ check-target-builds ../config//has_float128 : : <build>no ]
953 <optimization>speed
954 <define>TEST_FLOAT128
955 <define>BOOST_ALL_NO_LIB
956 <define>BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE
957 <toolset>msvc:<cxxflags>-bigobj
958 <include>../../math/include_private
959 release
960 : $(source:B)_float128 ;
961 run $(source)
962 /boost/test//boost_unit_test_framework/<link>static
963 /boost/regex//boost_regex/<link>static
964 math/instances//test_instances_intel_quad/<link>static
965 : # command line
966 : # input files
967 : # requirements
968 [ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ]
969 <optimization>speed
970 <define>TEST_FLOAT128
971 <define>BOOST_ALL_NO_LIB
972 <define>BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE
973 <toolset>msvc:<cxxflags>-bigobj
974 <include>../../math/include_private
975 release
976 : $(source:B)_intel_quad ;
977 }
978 #
979 # High precision tests are rather different, as they test only one
980 # multiprecision type and are more a test of Boost.Math:
981 #
982 for local source in [ glob math/high_prec/*.cpp ]
983 {
984 run $(source)
985 /boost/test//boost_unit_test_framework/<link>static
986 /boost/regex//boost_regex/<link>static
987 : # command line
988 : # input files
989 : # requirements
990 <optimization>speed
991 <define>BOOST_ALL_NO_LIB
992 <define>BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE
993 <toolset>msvc:<cxxflags>-bigobj
994 [ check-target-builds ../config//has_mpfr : <define>TEST_MPFR <source>gmp <source>mpfr : ]
995 <include>../../math/include_private
996 release ;
997 }
998}
999
b32b8144
FG
1000local compile_fail_tests ;
1001
7c673cae
FG
1002for local source in [ glob compile_fail/*.cpp ]
1003{
b32b8144 1004 compile_fail_tests += $(source:B) ;
7c673cae
FG
1005 compile-fail $(source)
1006 :
1007 [ check-target-builds ../config//has_gmp : <define>TEST_GMP <debug-symbols>off : ]
1008 [ check-target-builds ../config//has_mpfr : <define>TEST_MPFR <debug-symbols>off : ]
1009 ;
1010}
1011
b32b8144
FG
1012alias compile_fail : $(compile_fail_tests) ;
1013
7c673cae
FG
1014if ! $(disable-concepts)
1015{
1016
1017 for local source in [ glob concepts/*.cpp ]
1018 {
1019
1020 compile $(source) mpfr
1021 : # requirements
1022 <define>TEST_MPFR_50
1023 [ check-target-builds ../config//has_mpfr : : <build>no ]
1024 <debug-symbols>off
1025 : $(source:B)_mpfr_50 ;
1026
1027 compile $(source) mpfr
1028 : # requirements
1029 <define>TEST_MPFR_6
1030 [ check-target-builds ../config//has_mpfr : : <build>no ]
1031 <debug-symbols>off
1032 : $(source:B)_mpfr_6 ;
1033
1034 compile $(source) mpfr
1035 : # requirements
1036 <define>TEST_MPFR_15
1037 [ check-target-builds ../config//has_mpfr : : <build>no ]
1038 <debug-symbols>off
1039 : $(source:B)_mpfr_15 ;
1040
1041 compile $(source) mpfr
1042 : # requirements
1043 <define>TEST_MPFR_17
1044 [ check-target-builds ../config//has_mpfr : : <build>no ]
1045 <debug-symbols>off
1046 : $(source:B)_mpfr_17 ;
1047
1048 compile $(source) mpfr
1049 : # requirements
1050 <define>TEST_MPFR_30
1051 [ check-target-builds ../config//has_mpfr : : <build>no ]
1052 <debug-symbols>off
1053 : $(source:B)_mpfr_30 ;
1054
1055 compile $(source) gmp
1056 : # requirements
1057 <define>TEST_MPF_50
1058 [ check-target-builds ../config//has_gmp : : <build>no ]
1059 <debug-symbols>off
1060 : $(source:B)_mpf50 ;
1061
1062 compile $(source)
1063 : # requirements
1064 <define>TEST_CPP_DEC_FLOAT
1065 <debug-symbols>off
1066 : $(source:B)_cpp_dec_float ;
1067
1068 compile $(source)
1069 : # requirements
1070 <define>TEST_CPP_BIN_FLOAT
1071 <debug-symbols>off
1072 : $(source:B)_cpp_bin_float ;
1073
1074 compile $(source)
1075 : # requirements
1076 <define>TEST_CPP_DEC_FLOAT_NO_ET
1077 <debug-symbols>off
1078 : $(source:B)_cpp_dec_float_no_et ;
1079
1080 compile $(source)
1081 : # requirements
1082 <define>TEST_BACKEND
1083 <debug-symbols>off
1084 : $(source:B)_backend_concept ;
1085
1086 compile $(source)
1087 : # requirements
1088 <define>TEST_LOGGED_ADAPTER
1089 <debug-symbols>off
1090 : $(source:B)_logged_adaptor ;
1091 }
1092}
1093
b32b8144
FG
1094alias arithmetic_tests :
1095 test_arithmetic_backend_concept
1096 test_arithmetic_cpp_dec_float_1
1097 test_arithmetic_cpp_dec_float_2
1098 test_arithmetic_cpp_dec_float_3
1099 test_arithmetic_cpp_bin_float_1
1100 test_arithmetic_cpp_bin_float_2
1101 test_arithmetic_cpp_bin_float_3
1102 test_arithmetic_mpf_50
1103 test_arithmetic_mpf
1104 test_arithmetic_mpz
1105 test_arithmetic_mpz_rat
1106 test_arithmetic_mpz_br
1107 test_arithmetic_mpq
1108 test_arithmetic_mpfr
1109 test_arithmetic_mpfr_50
1110 test_arithmetic_mpfr_50_static
1111 test_arithmetic_tommath
1112 test_arithmetic_tommath_rat
1113 test_arithmetic_tommath_br
1114 test_arithmetic_cpp_int_1
1115 test_arithmetic_cpp_int_2
1116 test_arithmetic_cpp_int_3
1117 test_arithmetic_cpp_int_4
1118 test_arithmetic_cpp_int_5
1119 test_arithmetic_cpp_int_6
1120 test_arithmetic_cpp_int_7
1121 test_arithmetic_cpp_int_8
1122 test_arithmetic_cpp_int_9
1123 test_arithmetic_cpp_int_10
1124 test_arithmetic_cpp_int_11
1125 test_arithmetic_cpp_int_12
1126 test_arithmetic_cpp_int_13
1127 test_arithmetic_cpp_int_14
1128 test_arithmetic_cpp_int_15
1129 test_arithmetic_cpp_int_16
1130 test_arithmetic_cpp_int_17
1131 test_arithmetic_cpp_int_18
1132 test_arithmetic_cpp_int_br
1133 test_arithmetic_ab_1
1134 test_arithmetic_ab_2
1135 test_arithmetic_ab_3
1136 test_cpp_dec_float_round
1137 test_arithmetic_logged_1
1138 test_arithmetic_logged_2
1139 test_arithmetic_dbg_adptr1
1140 test_arithmetic_dbg_adptr2
1141 test_arithmetic_mpfi_50
1142 test_arithmetic_float_128
1143 test_arithmetic_float_128
1144 ;
1145
1146alias cpp_int_tests :
1147 test_cpp_int_left_shift
1148 test_cpp_int_1
1149 test_cpp_int_2
1150 test_cpp_int_3
1151 test_cpp_int_4
1152 test_cpp_int_5
1153 test_checked_cpp_int
1154 test_unchecked_cpp_int
1155 test_cpp_int_lit
1156 test_cpp_int_serial_1
1157 test_cpp_int_serial_2
1158 test_cpp_int_serial_3
1159 test_cpp_int_serial_4
1160 test_cpp_int_deserial
1161;
1162
1163alias functions_and_limits :
1164 test_numeric_limits_backend_concept
1165 test_numeric_limits_mpf50
1166 test_numeric_limits_mpf
1167 test_numeric_limits_mpz
1168 test_numeric_limits_mpq
1169 test_numeric_limits_mpfr
1170 test_numeric_limits_mpfr_50
1171 test_numeric_limits_cpp_dec_float
1172 test_numeric_limits_cpp_bin_float
1173 test_numeric_limits_tommath
1174 test_numeric_limits_cpp_int
1175 test_numeric_limits_mpfi_50
1176 test_numeric_limits_float128
1177
1178 test_exp_mpf50
1179 test_log_mpf50
1180 test_pow_mpf50
1181 test_sinh_mpf50
1182 test_sqrt_mpf50
1183 test_cosh_mpf50
1184 test_tanh_mpf50
1185 test_sin_mpf50
1186 test_cos_mpf50
1187 test_tan_mpf50
1188 test_asin_mpf50
1189 test_acos_mpf50
1190 test_atan_mpf50
1191 test_round_mpf50
1192 test_fpclassify_mpf50
1193 test_sf_import_c99_mpf50
1194
1195 test_exp_mpfr50
1196 test_log_mpfr50
1197 test_pow_mpfr50
1198 test_sinh_mpfr50
1199 test_sqrt_mpfr50
1200 test_cosh_mpfr50
1201 test_tanh_mpfr50
1202 test_sin_mpfr50
1203 test_cos_mpfr50
1204 test_tan_mpfr50
1205 test_asin_mpfr50
1206 test_acos_mpfr50
1207 test_atan_mpfr50
1208 test_round_mpfr50
1209 test_fpclassify_mpfr50
1210 test_sf_import_c99_mpfr50
1211
1212 test_exp_mpfi50
1213 test_log_mpfi50
1214 test_pow_mpfi50
1215 test_sinh_mpfi50
1216 test_sqrt_mpfi50
1217 test_cosh_mpfi50
1218 test_tanh_mpfi50
1219 test_sin_mpfi50
1220 test_cos_mpfi50
1221 test_tan_mpfi50
1222 test_asin_mpfi50
1223 test_acos_mpfi50
1224 test_atan_mpfi50
1225 test_round_mpfi50
1226 test_fpclassify_mpfi50
1227 test_sf_import_c99_mpfi50
1228
1229 test_exp_cpp_dec_float
1230 test_log_cpp_dec_float
1231 test_pow_cpp_dec_float
1232 test_sinh_cpp_dec_float
1233 test_sqrt_cpp_dec_float
1234 test_cosh_cpp_dec_float
1235 test_tanh_cpp_dec_float
1236 test_sin_cpp_dec_float
1237 test_cos_cpp_dec_float
1238 test_tan_cpp_dec_float
1239 test_asin_cpp_dec_float
1240 test_acos_cpp_dec_float
1241 test_atan_cpp_dec_float
1242 test_round_cpp_dec_float
1243 test_fpclassify_cpp_dec_float
1244 test_sf_import_c99_cpp_dec_float
1245 test_sf_import_c99_cpp_dec_float_2
1246 test_sf_import_c99_cpp_dec_float_3
1247 test_sf_import_c99_cpp_dec_float_4
1248 test_sf_import_c99_cpp_dec_float_5
1249
1250 test_exp_cpp_bin_float
1251 test_log_cpp_bin_float
1252 test_pow_cpp_bin_float
1253 test_sinh_cpp_bin_float
1254 test_sqrt_cpp_bin_float
1255 test_cosh_cpp_bin_float
1256 test_tanh_cpp_bin_float
1257 test_sin_cpp_bin_float
1258 test_cos_cpp_bin_float
1259 test_tan_cpp_bin_float
1260 test_asin_cpp_bin_float
1261 test_acos_cpp_bin_float
1262 test_atan_cpp_bin_float
1263 test_round_cpp_bin_float
1264 test_fpclassify_cpp_bin_float
1265 test_sf_import_c99_cpp_bin_float
11fdf7f2 1266 test_sf_import_c99_cpp_bin_float_2
b32b8144
FG
1267
1268 test_exp_float128
1269 test_log_float128
1270 test_pow_float128
1271 test_sinh_float128
1272 test_sqrt_float128
1273 test_cosh_float128
1274 test_tanh_float128
1275 test_sin_float128
1276 test_cos_float128
1277 test_tan_float128
1278 test_asin_float128
1279 test_acos_float128
1280 test_atan_float128
1281 test_round_float128
1282 test_fpclassify_float128
1283 test_sf_import_c99_float128
1284
1285 test_exp_intel_quad
1286 test_log_intel_quad
1287 test_pow_intel_quad
1288 test_sinh_intel_quad
1289 test_sqrt_intel_quad
1290 test_cosh_intel_quad
1291 test_tanh_intel_quad
1292 test_sin_intel_quad
1293 test_cos_intel_quad
1294 test_tan_intel_quad
1295 test_asin_intel_quad
1296 test_acos_intel_quad
1297 test_atan_intel_quad
1298 test_round_intel_quad
1299 test_fpclassify_intel_quad
1300 test_sf_import_c99_intel_quad
1301 test_move_gmp
1302 test_move_mpfr
1303 test_move_tommath
1304 test_move_cpp_int
1305 test_test
1306 test_miller_rabin
1307 test_cpp_bin_float_io_1
1308 test_cpp_bin_float_io_2
1309;
1310
1311alias conversions :
1312 test_gmp_conversions
1313 test_mpfr_conversions
1314 test_constants_mpf50
1315 test_constants_mpfr_50
1316 test_constants_cpp_dec_float
1317 test_convert_from_cpp_int
1318 test_convert_from_mpz_int
1319 test_convert_from_tom_int
1320 test_convert_from_cpp_rational
1321 test_convert_from_gmp_rational
1322 test_convert_from_tom_rational
1323 test_convert_from_cpp_bin_float
1324 test_convert_from_cpp_dec_float
1325 test_convert_from_mpf_float
1326 test_convert_from_mpfr_float
1327 test_convert_from_mpfi_float
1328 test_convert_from_float128
1329 test_float_io_cpp_dec_float
1330 test_float_io_mpf
1331 test_float_io_mpfr
1332 test_float_io_mpfi
1333 test_float_io_float128
1334 test_float_io_intel_quad
1335 test_int_io_tommath
1336 test_int_io_mpz
1337 test_int_io_cpp_int
1338 test_rational_io_tommath
1339 test_rational_io_mpz
1340 test_rational_io_cpp_int
1341 test_generic_conv
1342 test_rat_float_interconv_1
1343 test_rat_float_interconv_2
1344 test_rat_float_interconv_3
1345 test_rat_float_interconv_4
1346 test_rat_float_interconv_5
1347 test_rat_float_interconv_6
1348 test_rat_float_interconv_7
1349 test_rat_float_interconv_8
1350 test_cpp_int_conv
1351 test_cpp_int_import_export
1352 test_native_integer
1353 test_mixed_cpp_int
1354 test_mixed_float
1355 test_cpp_rat_serial
1356 test_cpp_bin_float
1357;
1358
1359alias misc :
1360 test_constexpr
1361 test_nothrow_cpp_int
1362 test_nothrow_cpp_rational
1363 test_nothrow_cpp_bin_float
1364 test_nothrow_cpp_dec_float
1365 test_nothrow_float128
1366 test_nothrow_gmp
1367 test_nothrow_mpfr
1368 mpfr_include_test
1369 gmp_include_test
1370 tommath_include_test
1371 cpp_int_include_test
1372 cpp_dec_float_include_test
1373 cpp_bin_float_include_test
1374 test1
1375 test2
1376 test4
1377 test5
1378 test6
1379 ublas1_et
1380 ublas2_et
1381 ublas3_et
1382 ublas4_et
1383 ublas5_et
1384 test_adapt_serial
1385 test_cpp_dec_float_serial_1
1386 test_cpp_dec_float_serial_2
1387 test_float128_serial
1388 test_bin_dec_float_serial_1
1389 test_bin_dec_float_serial_2
1390 test_checked_mixed_cpp_int
1391 test_mixed_cpp_bin_float
1392 test_mixed_cpp_dec_float
1393 test_mixed_mpf_float
1394 test_mixed_mpfr_float
1395 test_float_conversions
1396 bug11922
1397 bug12039
1398 test_hash
1399;
1400
1401
1402
1403
1404
7c673cae
FG
1405
1406
1407
1408
1409