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