mirror of
https://github.com/boostorg/multiprecision.git
synced 2026-02-19 02:22:17 +00:00
1082 lines
43 KiB
Plaintext
1082 lines
43 KiB
Plaintext
# copyright John Maddock 2011
|
|
# Distributed under the Boost Software License, Version 1.0.
|
|
# (See accompanying file LICENSE_1_0.txt or copy at
|
|
# http://www.boost.org/LICENSE_1_0.txt.
|
|
|
|
import modules ;
|
|
import path ;
|
|
import ../../config/checks/config : requires ;
|
|
|
|
local ntl-path = [ modules.peek : NTL_PATH ] ;
|
|
local gmp_path = [ modules.peek : GMP_PATH ] ;
|
|
local mpfr_path = [ modules.peek : MPFR_PATH ] ;
|
|
local mpfi_path = [ modules.peek : MPFI_PATH ] ;
|
|
local tommath_path = [ modules.peek : TOMMATH_PATH ] ;
|
|
|
|
project : requirements
|
|
<include>$(gmp_path)
|
|
<include>$(gmp_path)/mpfr
|
|
<include>$(gmp_path)/gmpfrxx
|
|
<include>$(mpfr_path)
|
|
<include>$(mpfi_path)
|
|
<include>$(mpfi_path)/src
|
|
<include>$(tommath_path)
|
|
<include>../include
|
|
<include>../../..
|
|
# We set these to make it easier to set up and test GMP and MPFR under Win32:
|
|
<toolset>msvc:<runtime-link>static
|
|
<toolset>msvc:<link>static
|
|
<toolset>msvc:<warnings>all
|
|
<toolset>msvc:<cxxflags>/fp:precise
|
|
<toolset>intel-win:<runtime-link>static
|
|
<toolset>intel-win:<link>static
|
|
# Speed up compiles:
|
|
<toolset>msvc:<debug-symbols>off
|
|
<toolset>intel:<debug-symbols>off
|
|
<toolset>gcc:<cxxflags>-Wall
|
|
<toolset>gcc:<cxxflags>-Wextra
|
|
<toolset>intel:<define>SLOW_COMPILER
|
|
<toolset>msvc,<optimization>off:<cxxflags>-RTC1
|
|
# We can't yet enable this - it breaks the STL in some tests...
|
|
#<toolset>msvc,<optimization>off:<cxxflags>-RTCc
|
|
#<toolset>msvc,<optimization>off:<define>_ALLOW_RTCc_IN_STL
|
|
;
|
|
|
|
local enable-specfun = [ MATCH (--enable-specfun) : [ modules.peek : ARGV ] ] ;
|
|
local disable-concepts = [ MATCH (--disable-concepts) : [ modules.peek : ARGV ] ] ;
|
|
|
|
lib gmp : : <search>$(gmp_path) ;
|
|
lib mpfr : : <search>$(gmp_path) <search>$(mpfr_path) <search>$(mpfr_path)/build.vc10/lib/Win32/Debug ;
|
|
lib mpfi : : <search>$(gmp_path) <search>$(mpfr_path) <search>$(mpfr_path)/build.vc10/lib/Win32/Debug <search>$(mpfi_path) <search>$(mpfi_path)/src ;
|
|
lib quadmath ;
|
|
|
|
if $(tommath_path)
|
|
{
|
|
lib tommath : [ GLOB $(tommath_path) : *.c ] ;
|
|
TOMMATH = tommath ;
|
|
}
|
|
else
|
|
{
|
|
lib tommath : : <search>$(tommath_path) ;
|
|
TOMMATH = tommath ;
|
|
}
|
|
|
|
lib no_eh_support : no_eh_test_support.cpp ;
|
|
|
|
run test_arithmetic_backend_concept.cpp no_eh_support ;
|
|
|
|
run test_arithmetic_cpp_dec_float_1.cpp no_eh_support ;
|
|
run test_arithmetic_cpp_dec_float_2.cpp no_eh_support ;
|
|
run test_arithmetic_cpp_dec_float_3.cpp no_eh_support ;
|
|
|
|
run test_arithmetic_cpp_bin_float_1.cpp no_eh_support ;
|
|
run test_arithmetic_cpp_bin_float_2.cpp no_eh_support ;
|
|
run test_arithmetic_cpp_bin_float_3.cpp no_eh_support ;
|
|
|
|
run test_arithmetic_mpf_50.cpp gmp no_eh_support : : : [ check-target-builds ../config//has_gmp : : <build>no ] ;
|
|
run test_arithmetic_mpf.cpp gmp no_eh_support : : : [ check-target-builds ../config//has_gmp : : <build>no ] ;
|
|
run test_arithmetic_mpz.cpp gmp no_eh_support : : : [ check-target-builds ../config//has_gmp : : <build>no ] ;
|
|
run test_arithmetic_mpz_rat.cpp gmp no_eh_support : : : [ check-target-builds ../config//has_gmp : : <build>no ] ;
|
|
run test_arithmetic_mpz_br.cpp gmp no_eh_support : : : [ check-target-builds ../config//has_gmp : : <build>no ] ;
|
|
run test_arithmetic_mpq.cpp gmp no_eh_support : : : [ check-target-builds ../config//has_gmp : : <build>no ] ;
|
|
|
|
run test_arithmetic_mpfr.cpp mpfr gmp no_eh_support : : : [ check-target-builds ../config//has_mpfr : : <build>no ] ;
|
|
run test_arithmetic_mpfr_50.cpp mpfr gmp no_eh_support : : : [ check-target-builds ../config//has_mpfr : : <build>no ] ;
|
|
run test_arithmetic_mpfr_50_static.cpp mpfr gmp no_eh_support : : : [ check-target-builds ../config//has_mpfr : : <build>no ] ;
|
|
|
|
run test_arithmetic_tommath.cpp $(TOMMATH) no_eh_support : : : [ check-target-builds ../config//has_tommath : : <build>no ] ;
|
|
run test_arithmetic_tommath_rat.cpp $(TOMMATH) no_eh_support : : : [ check-target-builds ../config//has_tommath : : <build>no ] ;
|
|
run test_arithmetic_tommath_br.cpp $(TOMMATH) no_eh_support : : : [ check-target-builds ../config//has_tommath : : <build>no ] ;
|
|
|
|
run test_arithmetic_cpp_int_1.cpp no_eh_support ;
|
|
run test_arithmetic_cpp_int_2.cpp no_eh_support ;
|
|
run test_arithmetic_cpp_int_3.cpp no_eh_support ;
|
|
run test_arithmetic_cpp_int_4.cpp no_eh_support ;
|
|
run test_arithmetic_cpp_int_5.cpp no_eh_support ;
|
|
run test_arithmetic_cpp_int_6.cpp no_eh_support ;
|
|
run test_arithmetic_cpp_int_7.cpp no_eh_support ;
|
|
run test_arithmetic_cpp_int_8.cpp no_eh_support ;
|
|
run test_arithmetic_cpp_int_9.cpp no_eh_support ;
|
|
run test_arithmetic_cpp_int_10.cpp no_eh_support ;
|
|
run test_arithmetic_cpp_int_11.cpp no_eh_support ;
|
|
run test_arithmetic_cpp_int_12.cpp no_eh_support ;
|
|
run test_arithmetic_cpp_int_13.cpp no_eh_support ;
|
|
run test_arithmetic_cpp_int_14.cpp no_eh_support ;
|
|
run test_arithmetic_cpp_int_15.cpp no_eh_support ;
|
|
run test_arithmetic_cpp_int_16.cpp no_eh_support ;
|
|
run test_arithmetic_cpp_int_17.cpp no_eh_support ;
|
|
run test_arithmetic_cpp_int_18.cpp no_eh_support ;
|
|
run test_arithmetic_cpp_int_br.cpp no_eh_support ;
|
|
|
|
run test_arithmetic_ab_1.cpp no_eh_support ;
|
|
run test_arithmetic_ab_2.cpp no_eh_support ;
|
|
run test_arithmetic_ab_3.cpp no_eh_support ;
|
|
|
|
run test_cpp_dec_float_round.cpp no_eh_support ;
|
|
|
|
run test_arithmetic_logged_1.cpp no_eh_support ;
|
|
run test_arithmetic_logged_2.cpp no_eh_support ;
|
|
|
|
run test_arithmetic_dbg_adptr1.cpp no_eh_support ;
|
|
run test_arithmetic_dbg_adptr2.cpp no_eh_support ;
|
|
|
|
run test_arithmetic_mpfi_50.cpp mpfi mpfr gmp no_eh_support : : : [ check-target-builds ../config//has_mpfi : : <build>no ] ;
|
|
|
|
run test_arithmetic_float_128.cpp quadmath no_eh_support : : : [ check-target-builds ../config//has_float128 : : <build>no ] ;
|
|
run test_arithmetic_float_128.cpp no_eh_support : : : [ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ] : test_arithmetic_intel_quad ;
|
|
|
|
run test_numeric_limits.cpp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_BACKEND
|
|
: test_numeric_limits_backend_concept ;
|
|
|
|
run test_numeric_limits.cpp gmp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_MPF_50
|
|
[ check-target-builds ../config//has_gmp : : <build>no ]
|
|
: test_numeric_limits_mpf50 ;
|
|
|
|
run test_numeric_limits.cpp gmp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_MPF
|
|
[ check-target-builds ../config//has_gmp : : <build>no ]
|
|
: test_numeric_limits_mpf ;
|
|
|
|
run test_numeric_limits.cpp gmp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_MPZ
|
|
[ check-target-builds ../config//has_gmp : : <build>no ]
|
|
: test_numeric_limits_mpz ;
|
|
|
|
run test_numeric_limits.cpp gmp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_MPQ
|
|
[ check-target-builds ../config//has_gmp : : <build>no ]
|
|
: test_numeric_limits_mpq ;
|
|
|
|
run test_numeric_limits.cpp mpfr gmp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_MPFR
|
|
[ check-target-builds ../config//has_mpfr : : <build>no ]
|
|
: test_numeric_limits_mpfr ;
|
|
|
|
run test_numeric_limits.cpp mpfr gmp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_MPFR_50
|
|
[ check-target-builds ../config//has_mpfr : : <build>no ]
|
|
: test_numeric_limits_mpfr_50 ;
|
|
|
|
run test_numeric_limits.cpp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_CPP_DEC_FLOAT
|
|
: test_numeric_limits_cpp_dec_float ;
|
|
|
|
run test_numeric_limits.cpp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_CPP_BIN_FLOAT
|
|
: test_numeric_limits_cpp_bin_float ;
|
|
|
|
run test_numeric_limits.cpp $(TOMMATH) no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_TOMMATH
|
|
[ check-target-builds ../config//has_tommath : : <build>no ]
|
|
: test_numeric_limits_tommath ;
|
|
|
|
run test_numeric_limits.cpp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_CPP_INT
|
|
: test_numeric_limits_cpp_int ;
|
|
|
|
run test_numeric_limits.cpp mpfi mpfr gmp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_MPFI_50
|
|
[ check-target-builds ../config//has_mpfi : : <build>no ]
|
|
: test_numeric_limits_mpfi_50 ;
|
|
|
|
|
|
run test_numeric_limits.cpp quadmath no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_FLOAT128
|
|
[ check-target-builds ../config//has_float128 : : <build>no ]
|
|
: test_numeric_limits_float128 ;
|
|
run test_numeric_limits.cpp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_FLOAT128
|
|
[ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ]
|
|
: test_numeric_limits_intel_quad ;
|
|
|
|
for local source in test_exp.cpp test_log.cpp test_pow.cpp test_sinh.cpp test_sqrt.cpp test_cosh.cpp test_tanh.cpp test_sin.cpp test_cos.cpp test_tan.cpp test_asin.cpp test_acos.cpp test_atan.cpp test_round.cpp test_fpclassify.cpp test_sf_import_c99.cpp
|
|
{
|
|
run $(source) gmp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_gmp : : <build>no ]
|
|
<define>TEST_MPF_50
|
|
: $(source:B)_mpf50 ;
|
|
run $(source) mpfr gmp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_mpfr : : <build>no ]
|
|
<define>TEST_MPFR_50
|
|
: $(source:B)_mpfr50 ;
|
|
run $(source) mpfi mpfr gmp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_mpfi : : <build>no ]
|
|
<define>TEST_MPFI_50
|
|
: $(source:B)_mpfi50 ;
|
|
run $(source) no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_CPP_DEC_FLOAT
|
|
: $(source:B)_cpp_dec_float ;
|
|
run $(source) no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_CPP_BIN_FLOAT
|
|
: $(source:B)_cpp_bin_float ;
|
|
run $(source) quadmath no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_float128 : : <build>no ]
|
|
<define>TEST_FLOAT128
|
|
: $(source:B)_float128 ;
|
|
run $(source) no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ]
|
|
<define>TEST_FLOAT128
|
|
: $(source:B)_intel_quad ;
|
|
}
|
|
|
|
run test_gmp_conversions.cpp gmp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_gmp : : <build>no ] ;
|
|
|
|
run test_mpfr_conversions.cpp gmp mpfr no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_mpfr : : <build>no ] ;
|
|
|
|
run test_constants.cpp gmp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_MPF_50
|
|
[ check-target-builds ../config//has_gmp : : <build>no ]
|
|
: test_constants_mpf50 ;
|
|
|
|
run test_constants.cpp mpfr gmp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_MPFR_50
|
|
[ check-target-builds ../config//has_mpfr : : <build>no ]
|
|
: test_constants_mpfr_50 ;
|
|
|
|
run test_constants.cpp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_CPP_DEC_FLOAT
|
|
: test_constants_cpp_dec_float ;
|
|
|
|
|
|
run test_move.cpp mpfr gmp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_MPFR
|
|
[ check-target-builds ../config//has_mpfr : : <build>no ]
|
|
: test_move_mpfr ;
|
|
|
|
run test_move.cpp gmp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_GMP
|
|
[ check-target-builds ../config//has_gmp : : <build>no ]
|
|
: test_move_gmp ;
|
|
|
|
run test_move.cpp $(TOMMATH) no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_TOMMATH
|
|
[ check-target-builds ../config//has_tommath : : <build>no ]
|
|
: test_move_tommath ;
|
|
|
|
run test_move.cpp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_CPP_INT
|
|
: test_move_cpp_int ;
|
|
|
|
run test_test.cpp ;
|
|
run test_cpp_int_lit.cpp no_eh_support ;
|
|
compile test_constexpr.cpp :
|
|
[ check-target-builds ../config//has_float128 : <define>HAVE_FLOAT128 : ]
|
|
[ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type <define>HAVE_FLOAT128 : ]
|
|
[ requires cxx11_constexpr cxx11_user_defined_literals ] ;
|
|
|
|
compile test_nothrow_cpp_int.cpp ;
|
|
compile test_nothrow_cpp_rational.cpp ;
|
|
compile test_nothrow_cpp_bin_float.cpp ;
|
|
compile test_nothrow_cpp_dec_float.cpp ;
|
|
compile test_nothrow_float128.cpp : [ check-target-builds ../config//has_float128 : : <build>no ] ;
|
|
compile test_nothrow_gmp.cpp : [ check-target-builds ../config//has_gmp : : <build>no ] ;
|
|
compile test_nothrow_mpfr.cpp : [ check-target-builds ../config//has_mpfr : : <build>no ] ;
|
|
|
|
#
|
|
# Interconversion tests:
|
|
#
|
|
run test_convert_from_cpp_int.cpp
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ]
|
|
[ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ]
|
|
[ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ]
|
|
[ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ]
|
|
[ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ]
|
|
;
|
|
run test_convert_from_mpz_int.cpp
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ]
|
|
[ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ]
|
|
[ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ]
|
|
[ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ]
|
|
[ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ]
|
|
;
|
|
run test_convert_from_tom_int.cpp
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ]
|
|
[ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ]
|
|
[ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ]
|
|
[ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ]
|
|
[ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ]
|
|
;
|
|
run test_convert_from_cpp_rational.cpp
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ]
|
|
[ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ]
|
|
[ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ]
|
|
[ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ]
|
|
[ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ]
|
|
;
|
|
run test_convert_from_gmp_rational.cpp
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ]
|
|
[ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ]
|
|
[ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ]
|
|
[ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ]
|
|
[ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ]
|
|
;
|
|
run test_convert_from_tom_rational.cpp
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ]
|
|
[ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ]
|
|
[ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ]
|
|
[ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ]
|
|
[ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ]
|
|
;
|
|
run test_convert_from_cpp_bin_float.cpp
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ]
|
|
[ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ]
|
|
[ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ]
|
|
[ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ]
|
|
[ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ]
|
|
;
|
|
run test_convert_from_cpp_dec_float.cpp
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ]
|
|
[ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ]
|
|
[ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ]
|
|
[ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ]
|
|
[ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ]
|
|
;
|
|
run test_convert_from_mpf_float.cpp
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ]
|
|
[ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ]
|
|
[ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ]
|
|
[ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ]
|
|
[ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ]
|
|
;
|
|
run test_convert_from_mpfr_float.cpp
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ]
|
|
[ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ]
|
|
[ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ]
|
|
[ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ]
|
|
[ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ]
|
|
;
|
|
run test_convert_from_mpfi_float.cpp
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ]
|
|
[ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ]
|
|
[ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ]
|
|
[ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ]
|
|
[ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ]
|
|
;
|
|
run test_convert_from_float128.cpp
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_gmp : <define>HAS_GMP <source>gmp : ]
|
|
[ check-target-builds ../config//has_mpfr : <define>HAS_MPFR <source>gmp <source>mpfr : ]
|
|
[ check-target-builds ../config//has_mpfi : <define>HAS_MPFI <source>gmp <source>mpfr <source>mpfi : ]
|
|
[ check-target-builds ../config//has_tommath : <define>HAS_TOMMATH <source>tommath : ]
|
|
[ check-target-builds ../config//has_float128 : <define>HAS_FLOAT128 <source>quadmath : ]
|
|
;
|
|
|
|
#
|
|
# This take too long to run as a regular part of the tests:
|
|
#
|
|
run test_cpp_bin_float_round.cpp mpfr gmp ;
|
|
explicit test_cpp_bin_float_round ;
|
|
|
|
run test_cpp_bin_float_conv.cpp ;
|
|
|
|
run test_cpp_bin_float_io.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_CPP_BIN_FLOAT
|
|
<define>TEST1
|
|
release # Otherwise runtime is slow
|
|
: test_cpp_bin_float_io_1
|
|
;
|
|
|
|
run test_cpp_bin_float_io.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_CPP_BIN_FLOAT
|
|
<define>TEST2
|
|
release # Otherwise runtime is slow
|
|
: test_cpp_bin_float_io_2
|
|
;
|
|
|
|
run test_cpp_bin_float.cpp no_eh_support mpfr gmp /boost/system//boost_system /boost/chrono//boost_chrono
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_MPFR
|
|
[ check-target-builds ../config//has_mpfr : : <build>no ]
|
|
release # Otherwise runtime is slow
|
|
;
|
|
|
|
run test_float_io.cpp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_CPP_DEC_FLOAT
|
|
release # Otherwise runtime is slow
|
|
: test_float_io_cpp_dec_float ;
|
|
|
|
run test_float_io.cpp gmp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_MPF_50
|
|
release # Otherwise runtime is slow
|
|
[ check-target-builds ../config//has_gmp : : <build>no ]
|
|
: test_float_io_mpf ;
|
|
|
|
run test_float_io.cpp mpfr gmp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_MPFR_50
|
|
release # Otherwise runtime is slow
|
|
[ check-target-builds ../config//has_mpfr : : <build>no ]
|
|
: test_float_io_mpfr ;
|
|
|
|
run test_float_io.cpp mpfi mpfr gmp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_MPFI_50
|
|
release # Otherwise runtime is slow
|
|
[ check-target-builds ../config//has_mpfi : : <build>no ]
|
|
: test_float_io_mpfi ;
|
|
|
|
run test_float_io.cpp quadmath no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_FLOAT128
|
|
release # Otherwise runtime is slow
|
|
[ check-target-builds ../config//has_float128 : : <build>no ]
|
|
: test_float_io_float128 ;
|
|
run test_float_io.cpp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_FLOAT128
|
|
release # Otherwise runtime is slow
|
|
[ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ]
|
|
: test_float_io_intel_quad ;
|
|
|
|
run test_int_io.cpp no_eh_support $(TOMMATH)
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_TOMMATH
|
|
release # Otherwise runtime is slow
|
|
[ check-target-builds ../config//has_tommath : : <build>no ]
|
|
: test_int_io_tommath ;
|
|
|
|
run test_int_io.cpp no_eh_support gmp
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_MPZ
|
|
release # Otherwise runtime is slow
|
|
[ check-target-builds ../config//has_gmp : : <build>no ]
|
|
: test_int_io_mpz ;
|
|
|
|
run test_int_io.cpp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_CPP_INT
|
|
release # Otherwise runtime is slow
|
|
: test_int_io_cpp_int ;
|
|
|
|
run test_cpp_int_left_shift.cpp gmp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_gmp : : <build>no ]
|
|
release # otherwise runtime is too slow!!
|
|
;
|
|
|
|
run test_cpp_int.cpp gmp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_gmp : : <build>no ]
|
|
release # otherwise runtime is too slow!!
|
|
<define>TEST1
|
|
: test_cpp_int_1
|
|
;
|
|
|
|
run test_cpp_int.cpp gmp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_gmp : : <build>no ]
|
|
release # otherwise runtime is too slow!!
|
|
<define>TEST2
|
|
: test_cpp_int_2
|
|
;
|
|
|
|
run test_cpp_int.cpp gmp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_gmp : : <build>no ]
|
|
release # otherwise runtime is too slow!!
|
|
<define>TEST3
|
|
: test_cpp_int_3
|
|
;
|
|
|
|
run test_cpp_int.cpp gmp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_gmp : : <build>no ]
|
|
release # otherwise runtime is too slow!!
|
|
<define>TEST4
|
|
: test_cpp_int_4
|
|
;
|
|
|
|
run test_cpp_int.cpp gmp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_gmp : : <build>no ]
|
|
release # otherwise runtime is too slow!!
|
|
<define>TEST5
|
|
: test_cpp_int_5
|
|
;
|
|
|
|
run test_checked_cpp_int.cpp no_eh_support ;
|
|
run test_unchecked_cpp_int.cpp no_eh_support : : : release ;
|
|
|
|
run test_miller_rabin.cpp no_eh_support gmp
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_gmp : : <build>no ]
|
|
release # otherwise runtime is too slow!!
|
|
;
|
|
|
|
run test_rational_io.cpp $(TOMMATH) no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_TOMMATH
|
|
[ check-target-builds ../config//has_tommath : : <build>no ]
|
|
release # Otherwise runtime is slow
|
|
: test_rational_io_tommath ;
|
|
|
|
run test_rational_io.cpp gmp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_MPQ
|
|
[ check-target-builds ../config//has_gmp : : <build>no ]
|
|
release # Otherwise runtime is slow
|
|
: test_rational_io_mpz ;
|
|
|
|
run test_rational_io.cpp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_CPP_INT
|
|
release # Otherwise runtime is slow
|
|
: test_rational_io_cpp_int ;
|
|
|
|
run test_generic_conv.cpp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_gmp : <define>TEST_GMP <source>gmp : ]
|
|
[ check-target-builds ../config//has_tommath : <define>TEST_TOMMATH <source>$(TOMMATH) : ]
|
|
[ check-target-builds ../config//has_mpfr : <define>TEST_MPFR <source>mpfr : ]
|
|
release # Otherwise runtime is slow
|
|
;
|
|
|
|
run test_rat_float_interconv.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST1
|
|
release
|
|
: test_rat_float_interconv_1 ;
|
|
|
|
run test_rat_float_interconv.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST2
|
|
release
|
|
: test_rat_float_interconv_2 ;
|
|
|
|
run test_rat_float_interconv.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST3
|
|
release
|
|
: test_rat_float_interconv_3 ;
|
|
|
|
run test_rat_float_interconv.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST4
|
|
release
|
|
: test_rat_float_interconv_4 ;
|
|
|
|
run test_rat_float_interconv.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono mpfr gmp
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST5
|
|
[ check-target-builds ../config//has_mpfr : : <build>no ]
|
|
release
|
|
: test_rat_float_interconv_5 ;
|
|
|
|
run test_rat_float_interconv.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono mpfr gmp
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST6
|
|
[ check-target-builds ../config//has_mpfr : : <build>no ]
|
|
release
|
|
: test_rat_float_interconv_6 ;
|
|
|
|
run test_rat_float_interconv.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono mpfr gmp
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST7
|
|
[ check-target-builds ../config//has_mpfr : : <build>no ]
|
|
release
|
|
: test_rat_float_interconv_7 ;
|
|
|
|
run test_rat_float_interconv.cpp no_eh_support /boost/system//boost_system /boost/chrono//boost_chrono mpfr gmp
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST8
|
|
[ check-target-builds ../config//has_mpfr : : <build>no ]
|
|
release
|
|
: test_rat_float_interconv_8 ;
|
|
|
|
build-project ../example ;
|
|
|
|
|
|
run test_cpp_int_conv.cpp no_eh_support ;
|
|
run test_cpp_int_import_export.cpp no_eh_support ;
|
|
run test_native_integer.cpp no_eh_support ;
|
|
|
|
run test_mixed_cpp_int.cpp no_eh_support ;
|
|
run test_mixed_float.cpp no_eh_support
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_gmp : <define>TEST_GMP <library>gmp : ]
|
|
[ check-target-builds ../config//has_mpfr : <define>TEST_MPFR <library>mpfr <library>gmp : ] ;
|
|
|
|
|
|
compile include_test/mpfr_include_test.cpp
|
|
: # requirements
|
|
[ check-target-builds ../config//has_mpfr : : <build>no ] ;
|
|
compile include_test/gmp_include_test.cpp
|
|
: # requirements
|
|
[ check-target-builds ../config//has_gmp : : <build>no ] ;
|
|
compile include_test/tommath_include_test.cpp
|
|
: # requirements
|
|
[ check-target-builds ../config//has_tommath : : <build>no ] ;
|
|
compile include_test/cpp_int_include_test.cpp ;
|
|
compile include_test/cpp_dec_float_include_test.cpp ;
|
|
compile include_test/cpp_bin_float_include_test.cpp ;
|
|
|
|
run ublas_interop/test1.cpp ublas_interop/test11.cpp ublas_interop/test12.cpp ublas_interop/test13.cpp no_eh_support ;
|
|
run ublas_interop/test2.cpp ublas_interop/test21.cpp ublas_interop/test22.cpp ublas_interop/test23.cpp no_eh_support ;
|
|
#run ublas_interop/test3.cpp ublas_interop/test31.cpp ublas_interop/test32.cpp ublas_interop/test33.cpp ;
|
|
run ublas_interop/test4.cpp ublas_interop/test42.cpp ublas_interop/test43.cpp no_eh_support ;
|
|
run ublas_interop/test5.cpp ublas_interop/test52.cpp ublas_interop/test53.cpp no_eh_support ;
|
|
run ublas_interop/test6.cpp ublas_interop/test62.cpp ublas_interop/test63.cpp no_eh_support ;
|
|
#run ublas_interop/test7.cpp ublas_interop/test71.cpp ublas_interop/test72.cpp ublas_interop/test73.cpp ;
|
|
|
|
run ublas_interop/test1.cpp ublas_interop/test11.cpp ublas_interop/test12.cpp ublas_interop/test13.cpp no_eh_support : : : <define>TEST_ET=1 : ublas1_et ;
|
|
run ublas_interop/test2.cpp ublas_interop/test21.cpp ublas_interop/test22.cpp ublas_interop/test23.cpp no_eh_support : : : <define>TEST_ET=1 : ublas2_et ;
|
|
#run ublas_interop/test3.cpp ublas_interop/test31.cpp ublas_interop/test32.cpp ublas_interop/test33.cpp : : : <define>TEST_ET=1 : ublas3_et ;
|
|
run ublas_interop/test4.cpp ublas_interop/test42.cpp ublas_interop/test43.cpp no_eh_support : : : <define>TEST_ET=1 : ublas3_et ;
|
|
run ublas_interop/test5.cpp ublas_interop/test52.cpp ublas_interop/test53.cpp no_eh_support : : : <define>TEST_ET=1 : ublas4_et ;
|
|
run ublas_interop/test6.cpp ublas_interop/test62.cpp ublas_interop/test63.cpp no_eh_support : : : <define>TEST_ET=1 : ublas5_et ;
|
|
#run ublas_interop/test7.cpp ublas_interop/test71.cpp ublas_interop/test72.cpp ublas_interop/test73.cpp : : : <define>TEST_ET=1 : ublas6_et ;
|
|
|
|
#
|
|
# Serialization tests, run in release mode so we cycle through more values:
|
|
#
|
|
path-constant here : . ;
|
|
run test_cpp_int_serial.cpp ../../serialization/build//boost_serialization : : : release <define>TEST1 : test_cpp_int_serial_1 ;
|
|
run test_cpp_int_serial.cpp ../../serialization/build//boost_serialization : : : release <define>TEST2 : test_cpp_int_serial_2 ;
|
|
run test_cpp_int_serial.cpp ../../serialization/build//boost_serialization : : : release <define>TEST3 : test_cpp_int_serial_3 ;
|
|
run test_cpp_int_serial.cpp ../../serialization/build//boost_serialization : : : release <define>TEST4 : test_cpp_int_serial_4 ;
|
|
run test_cpp_int_deserial.cpp ../../serialization/build//boost_serialization ../../filesystem/build//boost_filesystem : $(here) : : release ;
|
|
run test_cpp_rat_serial.cpp ../../serialization/build//boost_serialization : : : release ;
|
|
run test_adapt_serial.cpp ../../serialization/build//boost_serialization : : : release ;
|
|
run test_cpp_dec_float_serial.cpp ../../serialization/build//boost_serialization : : : release <define>TEST1 : test_cpp_dec_float_serial_1 ;
|
|
run test_cpp_dec_float_serial.cpp ../../serialization/build//boost_serialization : : : release <define>TEST2 : test_cpp_dec_float_serial_2 ;
|
|
run test_float128_serial.cpp ../../serialization/build//boost_serialization quadmath : : : release [ check-target-builds ../config//has_float128 : : <build>no ] ;
|
|
run test_cpp_bin_float_serial.cpp ../../serialization/build//boost_serialization : : : release <define>TEST1 : test_bin_dec_float_serial_1 ;
|
|
run test_cpp_bin_float_serial.cpp ../../serialization/build//boost_serialization : : : release <define>TEST2 : test_bin_dec_float_serial_2 ;
|
|
|
|
#
|
|
# Mixed mode comparison tests, see: https://svn.boost.org/trac/boost/ticket/11328
|
|
#
|
|
run test_checked_mixed_cpp_int.cpp no_eh_support ;
|
|
run test_mixed_cpp_bin_float.cpp no_eh_support ;
|
|
run test_mixed_cpp_dec_float.cpp no_eh_support ;
|
|
run test_mixed_mpf_float.cpp gmp no_eh_support : : : [ check-target-builds ../config//has_gmp : : <build>no ] ;
|
|
run test_mixed_mpfr_float.cpp mpfr gmp no_eh_support : : : [ check-target-builds ../config//has_mpfr : : <build>no ] ;
|
|
#
|
|
# Check for narrowing conversions:
|
|
#
|
|
run test_float_conversions.cpp no_eh_support ;
|
|
#
|
|
# specific bug cases:
|
|
#
|
|
compile bug11922.cpp ;
|
|
run bug12039.cpp no_eh_support ;
|
|
run test_hash.cpp : : :
|
|
[ check-target-builds ../config//has_float128 : <define>TEST_FLOAT128 <source>quadmath : ]
|
|
[ check-target-builds ../config//has_gmp : <define>TEST_GMP <source>gmp : ]
|
|
[ check-target-builds ../config//has_mpfr : <define>TEST_MPFR <source>gmp <source>mpfr : ]
|
|
[ check-target-builds ../config//has_mpfi : <define>TEST_MPFI <source>gmp <source>mpfr <source>mpfi : ]
|
|
[ check-target-builds ../config//has_tommath : <define>TEST_TOMMATH <source>tommath : ]
|
|
;
|
|
|
|
if $(enable-specfun)
|
|
{
|
|
|
|
for local source in [ glob math/*.cpp ]
|
|
{
|
|
run $(source) mpfr gmp
|
|
/boost/test//boost_unit_test_framework/<link>static
|
|
/boost/regex//boost_regex/<link>static
|
|
math/instances//test_instances_mpfr/<link>static
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_mpfr : : <build>no ]
|
|
<define>TEST_MPFR_50
|
|
<optimization>speed
|
|
<define>BOOST_ALL_NO_LIB
|
|
<define>BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE
|
|
<toolset>msvc:<cxxflags>-bigobj
|
|
<include>../../math/include_private
|
|
release
|
|
: $(source:B)_mpfr ;
|
|
run $(source) gmp
|
|
/boost/test//boost_unit_test_framework/<link>static
|
|
/boost/regex//boost_regex/<link>static
|
|
math/instances//test_instances_mpf/<link>static
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_gmp : : <build>no ]
|
|
<optimization>speed
|
|
<define>TEST_MPF_50
|
|
<define>BOOST_ALL_NO_LIB
|
|
<define>BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE
|
|
<toolset>msvc:<cxxflags>-bigobj
|
|
<include>../../math/include_private
|
|
release
|
|
: $(source:B)_mpf ;
|
|
run $(source) /boost/test//boost_unit_test_framework/<link>static
|
|
/boost/regex//boost_regex/<link>static
|
|
math/instances//test_instances_cpp_dec_float/<link>static
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_CPP_DEC_FLOAT
|
|
<define>BOOST_ALL_NO_LIB
|
|
<define>BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE
|
|
<optimization>speed
|
|
<toolset>msvc:<cxxflags>-bigobj
|
|
<include>../../math/include_private
|
|
release
|
|
: $(source:B)_cpp_dec_float ;
|
|
run $(source) /boost/test//boost_unit_test_framework/<link>static
|
|
/boost/regex//boost_regex/<link>static
|
|
math/instances//test_instances_cpp_bin_float/<link>static
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<define>TEST_CPP_BIN_FLOAT
|
|
<define>BOOST_ALL_NO_LIB
|
|
<define>BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE
|
|
<optimization>speed
|
|
<toolset>msvc:<cxxflags>-bigobj
|
|
<include>../../math/include_private
|
|
release
|
|
: $(source:B)_cpp_bin_float ;
|
|
run $(source) quadmath
|
|
/boost/test//boost_unit_test_framework/<link>static
|
|
/boost/regex//boost_regex/<link>static
|
|
math/instances//test_instances_float128/<link>static
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_float128 : : <build>no ]
|
|
<optimization>speed
|
|
<define>TEST_FLOAT128
|
|
<define>BOOST_ALL_NO_LIB
|
|
<define>BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE
|
|
<toolset>msvc:<cxxflags>-bigobj
|
|
<include>../../math/include_private
|
|
release
|
|
: $(source:B)_float128 ;
|
|
run $(source)
|
|
/boost/test//boost_unit_test_framework/<link>static
|
|
/boost/regex//boost_regex/<link>static
|
|
math/instances//test_instances_intel_quad/<link>static
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
[ check-target-builds ../config//has_intel_quad : <cxxflags>-Qoption,cpp,--extended_float_type : <build>no ] [ check-target-builds ../config//has_float128 : <source>quadmath ]
|
|
<optimization>speed
|
|
<define>TEST_FLOAT128
|
|
<define>BOOST_ALL_NO_LIB
|
|
<define>BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE
|
|
<toolset>msvc:<cxxflags>-bigobj
|
|
<include>../../math/include_private
|
|
release
|
|
: $(source:B)_intel_quad ;
|
|
}
|
|
#
|
|
# High precision tests are rather different, as they test only one
|
|
# multiprecision type and are more a test of Boost.Math:
|
|
#
|
|
for local source in [ glob math/high_prec/*.cpp ]
|
|
{
|
|
run $(source)
|
|
/boost/test//boost_unit_test_framework/<link>static
|
|
/boost/regex//boost_regex/<link>static
|
|
: # command line
|
|
: # input files
|
|
: # requirements
|
|
<optimization>speed
|
|
<define>BOOST_ALL_NO_LIB
|
|
<define>BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE
|
|
<toolset>msvc:<cxxflags>-bigobj
|
|
[ check-target-builds ../config//has_mpfr : <define>TEST_MPFR <source>gmp <source>mpfr : ]
|
|
<include>../../math/include_private
|
|
release ;
|
|
}
|
|
}
|
|
|
|
for local source in [ glob compile_fail/*.cpp ]
|
|
{
|
|
compile-fail $(source)
|
|
:
|
|
[ check-target-builds ../config//has_gmp : <define>TEST_GMP <debug-symbols>off : ]
|
|
[ check-target-builds ../config//has_mpfr : <define>TEST_MPFR <debug-symbols>off : ]
|
|
;
|
|
}
|
|
|
|
if ! $(disable-concepts)
|
|
{
|
|
|
|
for local source in [ glob concepts/*.cpp ]
|
|
{
|
|
|
|
compile $(source) mpfr
|
|
: # requirements
|
|
<define>TEST_MPFR_50
|
|
[ check-target-builds ../config//has_mpfr : : <build>no ]
|
|
<debug-symbols>off
|
|
: $(source:B)_mpfr_50 ;
|
|
|
|
compile $(source) mpfr
|
|
: # requirements
|
|
<define>TEST_MPFR_6
|
|
[ check-target-builds ../config//has_mpfr : : <build>no ]
|
|
<debug-symbols>off
|
|
: $(source:B)_mpfr_6 ;
|
|
|
|
compile $(source) mpfr
|
|
: # requirements
|
|
<define>TEST_MPFR_15
|
|
[ check-target-builds ../config//has_mpfr : : <build>no ]
|
|
<debug-symbols>off
|
|
: $(source:B)_mpfr_15 ;
|
|
|
|
compile $(source) mpfr
|
|
: # requirements
|
|
<define>TEST_MPFR_17
|
|
[ check-target-builds ../config//has_mpfr : : <build>no ]
|
|
<debug-symbols>off
|
|
: $(source:B)_mpfr_17 ;
|
|
|
|
compile $(source) mpfr
|
|
: # requirements
|
|
<define>TEST_MPFR_30
|
|
[ check-target-builds ../config//has_mpfr : : <build>no ]
|
|
<debug-symbols>off
|
|
: $(source:B)_mpfr_30 ;
|
|
|
|
compile $(source) gmp
|
|
: # requirements
|
|
<define>TEST_MPF_50
|
|
[ check-target-builds ../config//has_gmp : : <build>no ]
|
|
<debug-symbols>off
|
|
: $(source:B)_mpf50 ;
|
|
|
|
compile $(source)
|
|
: # requirements
|
|
<define>TEST_CPP_DEC_FLOAT
|
|
<debug-symbols>off
|
|
: $(source:B)_cpp_dec_float ;
|
|
|
|
compile $(source)
|
|
: # requirements
|
|
<define>TEST_CPP_BIN_FLOAT
|
|
<debug-symbols>off
|
|
: $(source:B)_cpp_bin_float ;
|
|
|
|
compile $(source)
|
|
: # requirements
|
|
<define>TEST_CPP_DEC_FLOAT_NO_ET
|
|
<debug-symbols>off
|
|
: $(source:B)_cpp_dec_float_no_et ;
|
|
|
|
compile $(source)
|
|
: # requirements
|
|
<define>TEST_BACKEND
|
|
<debug-symbols>off
|
|
: $(source:B)_backend_concept ;
|
|
|
|
compile $(source)
|
|
: # requirements
|
|
<define>TEST_LOGGED_ADAPTER
|
|
<debug-symbols>off
|
|
: $(source:B)_logged_adaptor ;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|