# \libs\multiprecision\example\jamfile.v2 # Runs multiprecision examples. # Copyright 2014 John Maddock # Copyright Paul A. Bristow 2014. # Copyright Christopher Kormanyos 2014 # 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) # Bring in the rules for testing. import testing ; 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 ../../.. gcc:-Wno-missing-braces darwin:-Wno-missing-braces acc:+W2068,2461,2236,4070 intel:-Qwd264,239 msvc:static msvc:static msvc:all msvc:on msvc:_CRT_SECURE_NO_DEPRECATE msvc:_SCL_SECURE_NO_DEPRECATE msvc:_SCL_SECURE_NO_WARNINGS msvc:_CRT_SECURE_NO_WARNINGS msvc:/wd4996 msvc:/wd4512 msvc:/wd4610 msvc:/wd4510 #msvc:/wd4127 msvc:/wd4701 msvc:/wd4305 clang:static [ requires cxx11_rvalue_references cxx11_template_aliases cxx11_hdr_array cxx11_allocator cxx11_constexpr cxx11_explicit_conversion_operators cxx11_ref_qualifiers cxx11_hdr_functional cxx11_variadic_templates cxx11_user_defined_literals cxx11_decltype cxx11_static_assert cxx11_defaulted_functions cxx11_noexcept cxx11_ref_qualifiers cxx11_user_defined_literals cxx11_hdr_type_traits ] ; 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 ] : global ; TOMMATH = tommath ; } else { lib tommath : : $(tommath_path) ; TOMMATH = tommath ; } lib no_eh_eg_support : ../test/no_eh_test_support.cpp ; test-suite examples : [ run cpp_int_snips.cpp no_eh_eg_support ] [ run cpp_int_import_export.cpp no_eh_eg_support ] [ run cpp_bin_float_import_export.cpp no_eh_eg_support ] [ run cpp_dec_float_snips.cpp no_eh_eg_support ] [ run cpp_bin_float_snips.cpp no_eh_eg_support ] [ run debug_adaptor_snips.cpp no_eh_eg_support ] [ run float128_snips.cpp quadmath no_eh_eg_support : : : [ check-target-builds ../config//has_float128 : : no ] ] [ run floating_point_examples.cpp no_eh_eg_support : : : [ check-target-builds ../config//has_big_obj : -Wa,-mbig-obj off ] ] [ run gauss_laguerre_quadrature.cpp no_eh_eg_support : : : release [ requires cxx11_lambdas ] ] [ run hypergeometric_luke_algorithms.cpp no_eh_eg_support ../../chrono/build//boost_chrono ../../system/build//boost_system : : : [ requires cxx11_nullptr ] ] [ run integer_examples.cpp no_eh_eg_support ] [ run logged_adaptor.cpp no_eh_eg_support mpfi mpfr gmp : : : [ check-target-builds ../config//has_mpfi : : no ] ] [ run mixed_integer_arithmetic.cpp no_eh_eg_support ] [ run numeric_limits_snips.cpp no_eh_eg_support /boost//test_exec_monitor : : : [ requires cxx11_numeric_limits ] [ check-target-builds ../config//has_float128 : quadmath ] ] [ run random_snips.cpp gmp no_eh_eg_support : : : [ requires cxx11_explicit_conversion_operators ] [ check-target-builds ../config//has_gmp : : no ] ] [ run safe_prime.cpp no_eh_eg_support ] [ run gmp_snips.cpp gmp no_eh_eg_support : : : [ check-target-builds ../config//has_gmp : : no ] ] [ run mpfi_snips.cpp mpfi mpfr gmp no_eh_eg_support : : : [ check-target-builds ../config//has_mpfi : : no ] ] [ run mpfr_snips.cpp mpfr gmp no_eh_eg_support : : : [ check-target-builds ../config//has_mpfr : : no ] ] [ run tommath_snips.cpp $(TOMMATH) no_eh_eg_support : : : [ check-target-builds ../config//has_tommath : : no ] ] [ compile constexpr_float_arithmetic_examples.cpp : [ requires cxx14_constexpr cxx17_if_constexpr ] ] [ run big_seventh.cpp no_eh_eg_support ] [ run exercise_threading_log_agm.cpp : : : BOOST_MULTIPRECISION_EXERCISE_THREADING_BACKEND_TYPE=101 release [ requires cxx11_hdr_atomic cxx11_hdr_thread ] : exercise_threading_log_agm_cpp_dec_float ] [ run exercise_threading_log_agm.cpp gmp : : : BOOST_MULTIPRECISION_EXERCISE_THREADING_BACKEND_TYPE=102 release [ requires cxx11_hdr_atomic cxx11_hdr_thread ] [ check-target-builds ../config//has_gmp : : no ] : exercise_threading_log_agm_gmp ] [ run exercise_threading_log_agm.cpp mpfr gmp : : : BOOST_MULTIPRECISION_EXERCISE_THREADING_BACKEND_TYPE=104 release [ requires cxx11_hdr_atomic cxx11_hdr_thread ] [ check-target-builds ../config//has_mpfr : : no ] : exercise_threading_log_agm_mpfr ] [ run exercise_threading_log_agm.cpp : : : BOOST_MULTIPRECISION_EXERCISE_THREADING_BACKEND_TYPE=103 release [ requires cxx11_hdr_atomic cxx11_hdr_thread ] : exercise_threading_log_agm_cpp_bin_float ] ;