# 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 $(gmp_path) $(gmp_path)/mpfr $(gmp_path)/gmpfrxx $(mpfr_path) $(mpfi_path) $(mpfi_path)/src $(tommath_path) ../include ../../.. # We set these to make it easier to set up and test GMP and MPFR under Win32: msvc:static msvc:static msvc:all msvc:/fp:precise intel-win:static intel-win:static # Speed up compiles: msvc:off intel:off gcc:-Wall gcc:-Wextra intel:SLOW_COMPILER ; local enable-specfun = [ MATCH (--enable-specfun) : [ modules.peek : ARGV ] ] ; local disable-concepts = [ MATCH (--disable-concepts) : [ modules.peek : ARGV ] ] ; lib gmp : : $(gmp_path) ; lib mpfr : : $(gmp_path) $(mpfr_path) $(mpfr_path)/build.vc10/lib/Win32/Debug ; lib mpfi : : $(gmp_path) $(mpfr_path) $(mpfr_path)/build.vc10/lib/Win32/Debug $(mpfi_path) $(mpfi_path)/src ; lib quadmath ; if $(tommath_path) { lib tommath : [ GLOB $(tommath_path) : *.c ] ; TOMMATH = tommath ; } else { lib tommath : : $(tommath_path) ; TOMMATH = tommath ; } run test_arithmetic_backend_concept.cpp ; run test_arithmetic_cpp_dec_float_1.cpp ; run test_arithmetic_cpp_dec_float_2.cpp ; run test_arithmetic_cpp_dec_float_3.cpp ; run test_arithmetic_cpp_bin_float_1.cpp ; run test_arithmetic_cpp_bin_float_2.cpp ; run test_arithmetic_cpp_bin_float_3.cpp ; run test_arithmetic_mpf_50.cpp gmp : : : [ check-target-builds ../config//has_gmp : : no ] ; run test_arithmetic_mpf.cpp gmp : : : [ check-target-builds ../config//has_gmp : : no ] ; run test_arithmetic_mpz.cpp gmp : : : [ check-target-builds ../config//has_gmp : : no ] ; run test_arithmetic_mpz_rat.cpp gmp : : : [ check-target-builds ../config//has_gmp : : no ] ; run test_arithmetic_mpz_br.cpp gmp : : : [ check-target-builds ../config//has_gmp : : no ] ; run test_arithmetic_mpq.cpp gmp : : : [ check-target-builds ../config//has_gmp : : no ] ; run test_arithmetic_mpfr.cpp mpfr gmp : : : [ check-target-builds ../config//has_mpfr : : no ] ; run test_arithmetic_mpfr_50.cpp mpfr gmp : : : [ check-target-builds ../config//has_mpfr : : no ] ; run test_arithmetic_mpfr_50_static.cpp mpfr gmp : : : [ check-target-builds ../config//has_mpfr : : no ] ; run test_arithmetic_tommath.cpp $(TOMMATH) : : : [ check-target-builds ../config//has_tommath : : no ] ; run test_arithmetic_tommath_rat.cpp $(TOMMATH) : : : [ check-target-builds ../config//has_tommath : : no ] ; run test_arithmetic_tommath_br.cpp $(TOMMATH) : : : [ check-target-builds ../config//has_tommath : : no ] ; run test_arithmetic_cpp_int_1.cpp ; run test_arithmetic_cpp_int_2.cpp ; run test_arithmetic_cpp_int_3.cpp ; run test_arithmetic_cpp_int_4.cpp ; run test_arithmetic_cpp_int_5.cpp ; run test_arithmetic_cpp_int_6.cpp ; run test_arithmetic_cpp_int_7.cpp ; run test_arithmetic_cpp_int_8.cpp ; run test_arithmetic_cpp_int_9.cpp ; run test_arithmetic_cpp_int_10.cpp ; run test_arithmetic_cpp_int_11.cpp ; run test_arithmetic_cpp_int_12.cpp ; run test_arithmetic_cpp_int_13.cpp ; run test_arithmetic_cpp_int_14.cpp ; run test_arithmetic_cpp_int_15.cpp ; run test_arithmetic_cpp_int_16.cpp ; run test_arithmetic_cpp_int_17.cpp ; run test_arithmetic_cpp_int_18.cpp ; run test_arithmetic_cpp_int_br.cpp ; run test_arithmetic_ab_1.cpp ; run test_arithmetic_ab_2.cpp ; run test_arithmetic_ab_3.cpp ; run test_cpp_dec_float_round.cpp ; run test_arithmetic_logged_1.cpp ; run test_arithmetic_logged_2.cpp ; run test_arithmetic_dbg_adptr1.cpp ; run test_arithmetic_dbg_adptr2.cpp ; run test_arithmetic_mpfi_50.cpp mpfi mpfr gmp : : : [ check-target-builds ../config//has_mpfi : : no ] ; run test_arithmetic_float_128.cpp quadmath : : : [ check-target-builds ../config//has_float128 : : no ] ; run test_arithmetic_float_128.cpp : : : [ check-target-builds ../config//has_intel_quad : -Qoption,cpp,--extended_float_type : no ] [ check-target-builds ../config//has_float128 : quadmath ] : test_arithmetic_intel_quad ; run test_numeric_limits.cpp : # command line : # input files : # requirements TEST_BACKEND : test_numeric_limits_backend_concept ; run test_numeric_limits.cpp gmp : # command line : # input files : # requirements TEST_MPF_50 [ check-target-builds ../config//has_gmp : : no ] : test_numeric_limits_mpf50 ; run test_numeric_limits.cpp gmp : # command line : # input files : # requirements TEST_MPF [ check-target-builds ../config//has_gmp : : no ] : test_numeric_limits_mpf ; run test_numeric_limits.cpp gmp : # command line : # input files : # requirements TEST_MPZ [ check-target-builds ../config//has_gmp : : no ] : test_numeric_limits_mpz ; run test_numeric_limits.cpp gmp : # command line : # input files : # requirements TEST_MPQ [ check-target-builds ../config//has_gmp : : no ] : test_numeric_limits_mpq ; run test_numeric_limits.cpp mpfr gmp : # command line : # input files : # requirements TEST_MPFR [ check-target-builds ../config//has_mpfr : : no ] : test_numeric_limits_mpfr ; run test_numeric_limits.cpp mpfr gmp : # command line : # input files : # requirements TEST_MPFR_50 [ check-target-builds ../config//has_mpfr : : no ] : test_numeric_limits_mpfr_50 ; run test_numeric_limits.cpp : # command line : # input files : # requirements TEST_CPP_DEC_FLOAT : test_numeric_limits_cpp_dec_float ; run test_numeric_limits.cpp : # command line : # input files : # requirements TEST_CPP_BIN_FLOAT : test_numeric_limits_cpp_bin_float ; run test_numeric_limits.cpp $(TOMMATH) : # command line : # input files : # requirements TEST_TOMMATH [ check-target-builds ../config//has_tommath : : no ] : test_numeric_limits_tommath ; run test_numeric_limits.cpp : # command line : # input files : # requirements TEST_CPP_INT : test_numeric_limits_cpp_int ; run test_numeric_limits.cpp mpfi mpfr gmp : # command line : # input files : # requirements TEST_MPFI_50 [ check-target-builds ../config//has_mpfi : : no ] : test_numeric_limits_mpfi_50 ; run test_numeric_limits.cpp quadmath : # command line : # input files : # requirements TEST_FLOAT128 [ check-target-builds ../config//has_float128 : : no ] : test_numeric_limits_float128 ; run test_numeric_limits.cpp : # command line : # input files : # requirements TEST_FLOAT128 [ check-target-builds ../config//has_intel_quad : -Qoption,cpp,--extended_float_type : no ] [ check-target-builds ../config//has_float128 : 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 { run $(source) gmp : # command line : # input files : # requirements [ check-target-builds ../config//has_gmp : : no ] TEST_MPF_50 : $(source:B)_mpf50 ; run $(source) mpfr gmp : # command line : # input files : # requirements [ check-target-builds ../config//has_mpfr : : no ] TEST_MPFR_50 : $(source:B)_mpfr50 ; run $(source) mpfi mpfr gmp : # command line : # input files : # requirements [ check-target-builds ../config//has_mpfi : : no ] TEST_MPFI_50 : $(source:B)_mpfi50 ; run $(source) : # command line : # input files : # requirements TEST_CPP_DEC_FLOAT : $(source:B)_cpp_dec_float ; run $(source) : # command line : # input files : # requirements TEST_CPP_BIN_FLOAT : $(source:B)_cpp_bin_float ; run $(source) quadmath : # command line : # input files : # requirements [ check-target-builds ../config//has_float128 : : no ] TEST_FLOAT128 : $(source:B)_float128 ; run $(source) : # command line : # input files : # requirements [ check-target-builds ../config//has_intel_quad : -Qoption,cpp,--extended_float_type : no ] [ check-target-builds ../config//has_float128 : quadmath ] TEST_FLOAT128 : $(source:B)_intel_quad ; } run test_gmp_conversions.cpp gmp : # command line : # input files : # requirements [ check-target-builds ../config//has_gmp : : no ] ; run test_mpfr_conversions.cpp gmp mpfr : # command line : # input files : # requirements [ check-target-builds ../config//has_mpfr : : no ] ; run test_constants.cpp gmp : # command line : # input files : # requirements TEST_MPF_50 [ check-target-builds ../config//has_gmp : : no ] : test_constants_mpf50 ; run test_constants.cpp mpfr gmp : # command line : # input files : # requirements TEST_MPFR_50 [ check-target-builds ../config//has_mpfr : : no ] : test_constants_mpfr_50 ; run test_constants.cpp : # command line : # input files : # requirements TEST_CPP_DEC_FLOAT : test_constants_cpp_dec_float ; run test_move.cpp mpfr gmp : # command line : # input files : # requirements TEST_MPFR [ check-target-builds ../config//has_mpfr : : no ] : test_move_mpfr ; run test_move.cpp gmp : # command line : # input files : # requirements TEST_GMP [ check-target-builds ../config//has_gmp : : no ] : test_move_gmp ; run test_move.cpp $(TOMMATH) : # command line : # input files : # requirements TEST_TOMMATH [ check-target-builds ../config//has_tommath : : no ] : test_move_tommath ; run test_move.cpp : # command line : # input files : # requirements TEST_CPP_INT : test_move_cpp_int ; run test_test.cpp ; run test_cpp_int_lit.cpp ; compile test_constexpr.cpp : [ check-target-builds ../config//has_float128 : HAVE_FLOAT128 : ] [ check-target-builds ../config//has_intel_quad : -Qoption,cpp,--extended_float_type 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 : : no ] ; compile test_nothrow_gmp.cpp : [ check-target-builds ../config//has_gmp : : no ] ; compile test_nothrow_mpfr.cpp : [ check-target-builds ../config//has_mpfr : : no ] ; run test_cpp_bin_float_io.cpp /boost/system//boost_system /boost/chrono//boost_chrono : # command line : # input files : # requirements TEST_CPP_BIN_FLOAT TEST1 release # Otherwise runtime is slow : test_cpp_bin_float_io_1 ; run test_cpp_bin_float_io.cpp /boost/system//boost_system /boost/chrono//boost_chrono : # command line : # input files : # requirements TEST_CPP_BIN_FLOAT TEST2 release # Otherwise runtime is slow : test_cpp_bin_float_io_2 ; run test_cpp_bin_float.cpp mpfr gmp /boost/system//boost_system /boost/chrono//boost_chrono : # command line : # input files : # requirements TEST_MPFR [ check-target-builds ../config//has_mpfr : : no ] release # Otherwise runtime is slow ; run test_float_io.cpp : # command line : # input files : # requirements TEST_CPP_DEC_FLOAT release # Otherwise runtime is slow : test_float_io_cpp_dec_float ; run test_float_io.cpp gmp : # command line : # input files : # requirements TEST_MPF_50 release # Otherwise runtime is slow [ check-target-builds ../config//has_gmp : : no ] : test_float_io_mpf ; run test_float_io.cpp mpfr gmp : # command line : # input files : # requirements TEST_MPFR_50 release # Otherwise runtime is slow [ check-target-builds ../config//has_mpfr : : no ] : test_float_io_mpfr ; run test_float_io.cpp mpfi mpfr gmp : # command line : # input files : # requirements TEST_MPFI_50 release # Otherwise runtime is slow [ check-target-builds ../config//has_mpfi : : no ] : test_float_io_mpfi ; run test_float_io.cpp quadmath : # command line : # input files : # requirements TEST_FLOAT128 release # Otherwise runtime is slow [ check-target-builds ../config//has_float128 : : no ] : test_float_io_float128 ; run test_float_io.cpp : # command line : # input files : # requirements TEST_FLOAT128 release # Otherwise runtime is slow [ check-target-builds ../config//has_intel_quad : -Qoption,cpp,--extended_float_type : no ] [ check-target-builds ../config//has_float128 : quadmath ] : test_float_io_intel_quad ; run test_int_io.cpp $(TOMMATH) : # command line : # input files : # requirements TEST_TOMMATH release # Otherwise runtime is slow [ check-target-builds ../config//has_tommath : : no ] : test_int_io_tommath ; run test_int_io.cpp gmp : # command line : # input files : # requirements TEST_MPZ release # Otherwise runtime is slow [ check-target-builds ../config//has_gmp : : no ] : test_int_io_mpz ; run test_int_io.cpp : # command line : # input files : # requirements TEST_CPP_INT release # Otherwise runtime is slow : test_int_io_cpp_int ; run test_cpp_int.cpp gmp : # command line : # input files : # requirements [ check-target-builds ../config//has_gmp : : no ] release # otherwise runtime is too slow!! TEST1 : test_cpp_int_1 ; run test_cpp_int.cpp gmp : # command line : # input files : # requirements [ check-target-builds ../config//has_gmp : : no ] release # otherwise runtime is too slow!! TEST2 : test_cpp_int_2 ; run test_cpp_int.cpp gmp : # command line : # input files : # requirements [ check-target-builds ../config//has_gmp : : no ] release # otherwise runtime is too slow!! TEST3 : test_cpp_int_3 ; run test_checked_cpp_int.cpp ; run test_miller_rabin.cpp gmp : # command line : # input files : # requirements [ check-target-builds ../config//has_gmp : : no ] release # otherwise runtime is too slow!! ; run test_rational_io.cpp $(TOMMATH) : # command line : # input files : # requirements TEST_TOMMATH [ check-target-builds ../config//has_tommath : : no ] release # Otherwise runtime is slow : test_rational_io_tommath ; run test_rational_io.cpp gmp : # command line : # input files : # requirements TEST_MPQ [ check-target-builds ../config//has_gmp : : no ] release # Otherwise runtime is slow : test_rational_io_mpz ; run test_rational_io.cpp : # command line : # input files : # requirements TEST_CPP_INT release # Otherwise runtime is slow : test_rational_io_cpp_int ; run test_generic_conv.cpp : # command line : # input files : # requirements [ check-target-builds ../config//has_gmp : TEST_GMP gmp : ] [ check-target-builds ../config//has_tommath : TEST_TOMMATH $(TOMMATH) : ] [ check-target-builds ../config//has_mpfr : TEST_MPFR mpfr : ] release # Otherwise runtime is slow ; run test_rat_float_interconv.cpp /boost/system//boost_system /boost/chrono//boost_chrono : # command line : # input files : # requirements TEST1 release : test_rat_float_interconv_1 ; run test_rat_float_interconv.cpp /boost/system//boost_system /boost/chrono//boost_chrono : # command line : # input files : # requirements TEST2 release : test_rat_float_interconv_2 ; run test_rat_float_interconv.cpp /boost/system//boost_system /boost/chrono//boost_chrono : # command line : # input files : # requirements TEST3 release : test_rat_float_interconv_3 ; run test_rat_float_interconv.cpp /boost/system//boost_system /boost/chrono//boost_chrono : # command line : # input files : # requirements TEST4 release : test_rat_float_interconv_4 ; run test_rat_float_interconv.cpp /boost/system//boost_system /boost/chrono//boost_chrono mpfr gmp : # command line : # input files : # requirements TEST5 [ check-target-builds ../config//has_mpfr : : no ] release : test_rat_float_interconv_5 ; run test_rat_float_interconv.cpp /boost/system//boost_system /boost/chrono//boost_chrono mpfr gmp : # command line : # input files : # requirements TEST6 [ check-target-builds ../config//has_mpfr : : no ] release : test_rat_float_interconv_6 ; run test_rat_float_interconv.cpp /boost/system//boost_system /boost/chrono//boost_chrono mpfr gmp : # command line : # input files : # requirements TEST7 [ check-target-builds ../config//has_mpfr : : no ] release : test_rat_float_interconv_7 ; run test_rat_float_interconv.cpp /boost/system//boost_system /boost/chrono//boost_chrono mpfr gmp : # command line : # input files : # requirements TEST8 [ check-target-builds ../config//has_mpfr : : no ] release : test_rat_float_interconv_8 ; build-project ../example ; run test_cpp_int_conv.cpp ; run test_native_integer.cpp ; run test_mixed_cpp_int.cpp ; run test_mixed_float.cpp : # command line : # input files : # requirements [ check-target-builds ../config//has_gmp : TEST_GMP gmp : ] [ check-target-builds ../config//has_mpfr : TEST_MPFR mpfr gmp : ] ; compile include_test/mpfr_include_test.cpp : # requirements [ check-target-builds ../config//has_mpfr : : no ] ; compile include_test/gmp_include_test.cpp : # requirements [ check-target-builds ../config//has_gmp : : no ] ; compile include_test/tommath_include_test.cpp : # requirements [ check-target-builds ../config//has_tommath : : 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 ; run ublas_interop/test2.cpp ublas_interop/test21.cpp ublas_interop/test22.cpp ublas_interop/test23.cpp ; #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 ; run ublas_interop/test5.cpp ublas_interop/test52.cpp ublas_interop/test53.cpp ; run ublas_interop/test6.cpp ublas_interop/test62.cpp ublas_interop/test63.cpp ; #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 : : : TEST_ET=1 : ublas1_et ; run ublas_interop/test2.cpp ublas_interop/test21.cpp ublas_interop/test22.cpp ublas_interop/test23.cpp : : : TEST_ET=1 : ublas2_et ; #run ublas_interop/test3.cpp ublas_interop/test31.cpp ublas_interop/test32.cpp ublas_interop/test33.cpp : : : TEST_ET=1 : ublas3_et ; run ublas_interop/test4.cpp ublas_interop/test42.cpp ublas_interop/test43.cpp : : : TEST_ET=1 : ublas3_et ; run ublas_interop/test5.cpp ublas_interop/test52.cpp ublas_interop/test53.cpp : : : TEST_ET=1 : ublas4_et ; run ublas_interop/test6.cpp ublas_interop/test62.cpp ublas_interop/test63.cpp : : : TEST_ET=1 : ublas5_et ; #run ublas_interop/test7.cpp ublas_interop/test71.cpp ublas_interop/test72.cpp ublas_interop/test73.cpp : : : 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 TEST1 : test_cpp_int_serial_1 ; run test_cpp_int_serial.cpp ../../serialization/build//boost_serialization : : : release TEST2 : test_cpp_int_serial_2 ; run test_cpp_int_serial.cpp ../../serialization/build//boost_serialization : : : release TEST3 : test_cpp_int_serial_3 ; run test_cpp_int_serial.cpp ../../serialization/build//boost_serialization : : : release 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 TEST1 : test_cpp_dec_float_serial_1 ; run test_cpp_dec_float_serial.cpp ../../serialization/build//boost_serialization : : : release TEST2 : test_cpp_dec_float_serial_2 ; run test_float128_serial.cpp ../../serialization/build//boost_serialization quadmath : : : release [ check-target-builds ../config//has_float128 : : no ] ; run test_cpp_bin_float_serial.cpp ../../serialization/build//boost_serialization : : : release TEST1 : test_bin_dec_float_serial_1 ; run test_cpp_bin_float_serial.cpp ../../serialization/build//boost_serialization : : : release 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 ; run test_mixed_cpp_bin_float.cpp ; run test_mixed_cpp_dec_float.cpp ; run test_mixed_mpf_float.cpp gmp : : : [ check-target-builds ../config//has_gmp : : no ] ; run test_mixed_mpfr_float.cpp mpfr gmp : : : [ check-target-builds ../config//has_mpfr : : no ] ; if $(enable-specfun) { for local source in [ glob math/*.cpp ] { run $(source) mpfr gmp /boost/test//boost_unit_test_framework/static /boost/regex//boost_regex/static math/instances//test_instances_mpfr/static : # command line : # input files : # requirements [ check-target-builds ../config//has_mpfr : : no ] TEST_MPFR_50 speed BOOST_ALL_NO_LIB BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE msvc:-bigobj ../../math/include_private release : $(source:B)_mpfr ; run $(source) gmp /boost/test//boost_unit_test_framework/static /boost/regex//boost_regex/static math/instances//test_instances_mpf/static : # command line : # input files : # requirements [ check-target-builds ../config//has_gmp : : no ] speed TEST_MPF_50 BOOST_ALL_NO_LIB BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE msvc:-bigobj ../../math/include_private release : $(source:B)_mpf ; run $(source) /boost/test//boost_unit_test_framework/static /boost/regex//boost_regex/static math/instances//test_instances_cpp_dec_float/static : # command line : # input files : # requirements TEST_CPP_DEC_FLOAT BOOST_ALL_NO_LIB BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE speed msvc:-bigobj ../../math/include_private release : $(source:B)_cpp_dec_float ; run $(source) /boost/test//boost_unit_test_framework/static /boost/regex//boost_regex/static math/instances//test_instances_cpp_bin_float/static : # command line : # input files : # requirements TEST_CPP_BIN_FLOAT BOOST_ALL_NO_LIB BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE speed msvc:-bigobj ../../math/include_private release : $(source:B)_cpp_bin_float ; run $(source) quadmath /boost/test//boost_unit_test_framework/static /boost/regex//boost_regex/static math/instances//test_instances_float128/static : # command line : # input files : # requirements [ check-target-builds ../config//has_float128 : : no ] speed TEST_FLOAT128 BOOST_ALL_NO_LIB BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE msvc:-bigobj ../../math/include_private release : $(source:B)_float128 ; run $(source) /boost/test//boost_unit_test_framework/static /boost/regex//boost_regex/static math/instances//test_instances_intel_quad/static : # command line : # input files : # requirements [ check-target-builds ../config//has_intel_quad : -Qoption,cpp,--extended_float_type : no ] [ check-target-builds ../config//has_float128 : quadmath ] speed TEST_FLOAT128 BOOST_ALL_NO_LIB BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE msvc:-bigobj ../../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/static /boost/regex//boost_regex/static : # command line : # input files : # requirements speed BOOST_ALL_NO_LIB BOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE msvc:-bigobj [ check-target-builds ../config//has_mpfr : TEST_MPFR gmp mpfr : ] ../../math/include_private release ; } } for local source in [ glob compile_fail/*.cpp ] { compile-fail $(source) : [ check-target-builds ../config//has_gmp : TEST_GMP off : ] [ check-target-builds ../config//has_mpfr : TEST_MPFR off : ] ; } if ! $(disable-concepts) { for local source in [ glob concepts/*.cpp ] { compile $(source) mpfr : # requirements TEST_MPFR_50 [ check-target-builds ../config//has_mpfr : : no ] off : $(source:B)_mpfr_50 ; compile $(source) mpfr : # requirements TEST_MPFR_6 [ check-target-builds ../config//has_mpfr : : no ] off : $(source:B)_mpfr_6 ; compile $(source) mpfr : # requirements TEST_MPFR_15 [ check-target-builds ../config//has_mpfr : : no ] off : $(source:B)_mpfr_15 ; compile $(source) mpfr : # requirements TEST_MPFR_17 [ check-target-builds ../config//has_mpfr : : no ] off : $(source:B)_mpfr_17 ; compile $(source) mpfr : # requirements TEST_MPFR_30 [ check-target-builds ../config//has_mpfr : : no ] off : $(source:B)_mpfr_30 ; compile $(source) gmp : # requirements TEST_MPF_50 [ check-target-builds ../config//has_gmp : : no ] off : $(source:B)_mpf50 ; compile $(source) : # requirements TEST_CPP_DEC_FLOAT off : $(source:B)_cpp_dec_float ; compile $(source) : # requirements TEST_CPP_BIN_FLOAT off : $(source:B)_cpp_bin_float ; compile $(source) : # requirements TEST_CPP_DEC_FLOAT_NO_ET off : $(source:B)_cpp_dec_float_no_et ; compile $(source) : # requirements TEST_BACKEND off : $(source:B)_backend_concept ; compile $(source) : # requirements TEST_LOGGED_ADAPTER off : $(source:B)_logged_adaptor ; } }