mirror of
https://github.com/boostorg/math.git
synced 2025-05-11 21:33:52 +00:00
* Make the library modular usable. * Fix -Wundef warnings * Switch to library requirements instead of source. As source puts extra source in install targets. * Add missing NO_LIB usage requirements. * Remove boost-root relative include path. * Add missing import-search for cconfig/predef checks. * Add requires-b2 check to top-level build file. * Sync upstream. * Fix typo in test framework reference. * Bump B2 require to 5.2 * Update copyright dates. * Move inter-lib dependencies to a project variable and into the build targets. * Switch to /boost/test//included target for header only mode of Boost.Test. * Adjust doc build to avoid boost-root references. * Update build deps. * Fix project props not applying to the no_eh.obj compile. * Update build deps. * Add missing import-search. * Fix float128_type checks to actually disable tests. Problem was that build is a non-free feature. Which can't be acquired through a usage requirement. * GPU Batch 7 Fix igamma_large support on device Add GPU support to toms748 Add GPU support to igamma_inv Add GPU markers to gamma_inva Add GPU Markers to lgamma_small Remove STL usage from gamma Remove NVRTC workaround Fix fraction use of STL headers Mark gamma functions in fwd Disable declval on all GPU platforms Disable more unneeded code on device Add forward decl for NVRTC tgamma Disable unneeded items for all GPU Change workaround for missing overloads Rearrange definition location Add include path to cuda now that workaround is removed Fix NVRTC incompatibility with recursion and forward decls Add tgamma_ratio CUDA and NVRTC testing Fix NVRTC handling of gamma_p_derivative Add gamma_p_derivative CUDA and NVRTC testing Remove recursion from gamma_incomplete_imp Add SYCL testing of igamma, igamma_inv, and igamma_inva Ignore literal-range warnings Remove use of static const char* for function name Fix missing CUDA header Remove calls under NVRTC to fwd decl Add more nvrtc workarounds Use builtin erfc instead of header cycle Add CUDA and NVRTC testing of gamma_p_inv Adjust tolerances Add GPU support to chi squared dist Fix static local variable Add chi squared dist SYCL testing Add chi squared dist CUDA testing Add chi squared dist NVRTC testing Add GPU support to weibull dist Add weibull dist SYCL testing Add weibull dist CUDA testing Add weibull dist NVRTC testing * Fix policy macro definition for MSVC platforms * Don't add quadmath lib for has_128bit_floatmax_t check. It was accidentally copy+pasted. * Fix incorrect name for float128 type check that caused it to not apear. --------- Co-authored-by: Matt Borland <matt@mattborland.com>
165 lines
11 KiB
Plaintext
165 lines
11 KiB
Plaintext
# \libs\math\example\jamfile.v2
|
|
# Runs statistics and floating-point examples.
|
|
# Copyright 2007 John Maddock
|
|
# Copyright Paul A. Bristow 2007, 2010, 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)
|
|
|
|
# bring in the rules for testing
|
|
import testing ;
|
|
import-search /boost/config/checks ;
|
|
import config : requires ;
|
|
|
|
project
|
|
: requirements
|
|
<library>/boost/math//boost_math
|
|
<library>/boost/multiprecision//boost_multiprecision
|
|
<toolset>gcc:<cxxflags>-Wno-missing-braces
|
|
<toolset>darwin:<cxxflags>-Wno-missing-braces
|
|
<toolset>acc:<cxxflags>+W2068,2461,2236,4070
|
|
<toolset>intel:<cxxflags>-Qwd264,239
|
|
<toolset>msvc:<warnings>all
|
|
<toolset>msvc:<asynch-exceptions>on
|
|
<toolset>msvc:<define>_CRT_SECURE_NO_DEPRECATE
|
|
<toolset>msvc:<define>_SCL_SECURE_NO_DEPRECATE
|
|
<toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS
|
|
<toolset>msvc:<define>_CRT_SECURE_NO_WARNINGS
|
|
<toolset>msvc:<cxxflags>/wd4996
|
|
<toolset>msvc:<cxxflags>/wd4512
|
|
<toolset>msvc:<cxxflags>/wd4610
|
|
<toolset>msvc:<cxxflags>/wd4510
|
|
<toolset>msvc:<cxxflags>/wd4127
|
|
<toolset>msvc:<cxxflags>/wd4701
|
|
<toolset>msvc:<cxxflags>/wd4127
|
|
<toolset>msvc:<cxxflags>/wd4305
|
|
<toolset>msvc:<cxxflags>/wd4459
|
|
<toolset>msvc:<cxxflags>/wd4456 # declaration of hides previous local declaration.
|
|
#-<toolset>msvc:<cxxflags>/Za # nonfinite Serialization examples fail link if disable MS extensions,
|
|
# because serialization library is built with MS extensions enabled (default).
|
|
<toolset>clang:<cxxflags>-Wno-unknown-pragmas
|
|
<toolset>clang:<cxxflags>-Wno-language-extension-token
|
|
|
|
<include>../include_private
|
|
<exception-handling>off:<source>../test//no_eh
|
|
[ requires cxx11_noexcept cxx11_rvalue_references sfinae_expr cxx11_auto_declarations cxx11_lambdas cxx11_unified_initialization_syntax cxx11_hdr_tuple cxx11_hdr_initializer_list cxx11_hdr_chrono cxx11_thread_local cxx11_constexpr cxx11_nullptr cxx11_numeric_limits cxx11_decltype cxx11_hdr_array cxx11_hdr_atomic cxx11_hdr_type_traits cxx11_allocator cxx11_explicit_conversion_operators ]
|
|
;
|
|
|
|
test-suite examples :
|
|
[ run bessel_zeros_example_1.cpp : : : [ check-target-builds ../config//is_ci_standalone_run "Standalone CI run" : <build>no ] <exception-handling>off:<build>no ]
|
|
[ run bessel_zeros_interator_example.cpp : : : <exception-handling>off:<build>no ]
|
|
[ run neumann_zeros_example_1.cpp : : : [ check-target-builds ../config//is_ci_standalone_run "Standalone CI run" : <build>no ] <exception-handling>off:<build>no ]
|
|
|
|
[ run test_cpp_float_close_fraction.cpp ../../test/build//boost_unit_test_framework/<link>static : : : <exception-handling>off:<build>no ]
|
|
[ run binomial_coinflip_example.cpp : : : <exception-handling>off:<build>no ]
|
|
[ run binomial_confidence_limits.cpp ]
|
|
[ run binomial_example_nag.cpp ]
|
|
[ run binomial_quiz_example.cpp : : : <exception-handling>off:<build>no ]
|
|
[ run binomial_sample_sizes.cpp ]
|
|
[ run brent_minimise_example.cpp /boost/test//included : : : [ requires cxx11_hdr_tuple ] ]
|
|
|
|
[ run c_error_policy_example.cpp ]
|
|
[ run chi_square_std_dev_test.cpp : : : <exception-handling>off:<build>no ]
|
|
[ run distribution_construction.cpp : : : <exception-handling>off:<build>no ]
|
|
[ run error_handling_example.cpp : : : <exception-handling>off:<build>no ]
|
|
[ run error_policies_example.cpp ]
|
|
[ run error_policy_example.cpp : : : <exception-handling>off:<build>no ]
|
|
[ run f_test.cpp ]
|
|
# [ run fft_sines_table.cpp : : : [ requires cxx11_numeric_limits ] ]
|
|
# No need to re-run this routinely as it only creates a table of sines for a documentation example.
|
|
|
|
[ run find_location_example.cpp : : : <exception-handling>off:<build>no ]
|
|
[ run find_mean_and_sd_normal.cpp : : : <exception-handling>off:<build>no ]
|
|
[ run find_root_example.cpp : : : <exception-handling>off:<build>no ]
|
|
[ run find_scale_example.cpp : : : <exception-handling>off:<build>no ]
|
|
[ run geometric_examples.cpp : : : <exception-handling>off:<build>no ]
|
|
[ run hyperexponential_snips.cpp ]
|
|
[ run hyperexponential_more_snips.cpp ]
|
|
[ run inverse_chi_squared_example.cpp ]
|
|
[ run legendre_stieltjes_example.cpp : : : [ requires cxx11_auto_declarations cxx11_defaulted_functions cxx11_lambdas ] ]
|
|
[ run airy_ulps_plot.cpp : : : [ requires cxx17_std_apply cxx17_if_constexpr ] ]
|
|
[ run agm_example.cpp : : : [ check-target-builds ../config//has_float128 "GCC libquadmath and __float128 support" : <linkflags>-lquadmath ] [ requires cxx17_std_apply cxx17_if_constexpr ] ]
|
|
#[ # run inverse_chi_squared_find_df_example.cpp ]
|
|
#[ run lambert_w_basic_example.cpp ]
|
|
[ run lambert_w_basic_example.cpp : : : [ requires cxx11_numeric_limits ] ]
|
|
[ run lambert_w_simple_examples.cpp : : : [ requires cxx11_numeric_limits ] [ check-target-builds ../config//has_float128 "GCC libquadmath and __float128 support" : <linkflags>-lquadmath ] ]
|
|
[ run lambert_w_precision_example.cpp : : : [ check-target-builds ../config//has_float128 "GCC libquadmath and __float128 support" : <linkflags>-lquadmath ] [ requires cxx11_numeric_limits cxx11_explicit_conversion_operators ] ]
|
|
|
|
[ run inverse_gamma_example.cpp ]
|
|
[ run inverse_gamma_distribution_example.cpp : : : <exception-handling>off:<build>no ]
|
|
[ run laplace_example.cpp : : : <exception-handling>off:<build>no ]
|
|
[ run nc_chi_sq_example.cpp ]
|
|
[ run neg_binom_confidence_limits.cpp ]
|
|
[ run neg_binomial_sample_sizes.cpp ]
|
|
[ run negative_binomial_example1.cpp : : : <exception-handling>off:<build>no ]
|
|
[ run negative_binomial_example2.cpp ]
|
|
|
|
[ run nonfinite_num_facet.cpp ]
|
|
[ run nonfinite_facet_simple.cpp ]
|
|
#[ run nonfinite_num_facet_serialization.cpp /boost/serialization//boost_serialization : : : <exception-handling>off:<build>no <toolset>gcc-mingw:<link>static ]
|
|
#[ # run lexical_cast_native.cpp ] # Expected to fail on some (but not all) platforms.
|
|
[ run lexical_cast_nonfinite_facets.cpp ]
|
|
[ run nonfinite_loopback_ok.cpp ]
|
|
#[ run nonfinite_serialization_archives.cpp /boost/serialization//boost_serialization : : : <exception-handling>off:<build>no <toolset>gcc-mingw:<link>static ]
|
|
[ run nonfinite_facet_sstream.cpp ]
|
|
|
|
[ run constants_eg1.cpp ]
|
|
|
|
[ run normal_misc_examples.cpp : : : <exception-handling>off:<build>no ]
|
|
[ run owens_t_example.cpp ]
|
|
[ run policy_eg_1.cpp ]
|
|
[ run policy_eg_10.cpp : : : <target-os>vxworks:<build>no ] # VxWorks' complex.h has conflicting declaration of real
|
|
[ run policy_eg_2.cpp ]
|
|
[ run policy_eg_3.cpp ]
|
|
[ run policy_eg_4.cpp ]
|
|
[ run policy_eg_5.cpp ]
|
|
[ run policy_eg_6.cpp ]
|
|
[ run policy_eg_7.cpp ]
|
|
[ run policy_eg_8.cpp ]
|
|
[ run policy_eg_9.cpp /boost/format//boost_format ]
|
|
[ run policy_ref_snip1.cpp : : : <exception-handling>off:<build>no ]
|
|
[ run policy_ref_snip10.cpp ]
|
|
[ run policy_ref_snip11.cpp ]
|
|
[ run policy_ref_snip12.cpp ]
|
|
[ run policy_ref_snip13.cpp : : : <exception-handling>off:<build>no ] # Fails clang-win - thrown exception from no Cauchy mean.
|
|
[ run policy_ref_snip2.cpp ]
|
|
[ run policy_ref_snip3.cpp : : : <exception-handling>off:<build>no ]
|
|
[ run policy_ref_snip4.cpp ]
|
|
[ run policy_ref_snip5.cpp : : : <target-os>vxworks:<build>no ]
|
|
[ run policy_ref_snip6.cpp ]
|
|
[ run policy_ref_snip7.cpp ]
|
|
[ run policy_ref_snip8.cpp ]
|
|
[ run policy_ref_snip9.cpp ]
|
|
[ run skew_normal_example.cpp ]
|
|
[ run students_t_example1.cpp ]
|
|
[ run students_t_example2.cpp ]
|
|
[ run students_t_example3.cpp ]
|
|
[ run students_t_single_sample.cpp ]
|
|
[ run students_t_two_samples.cpp ]
|
|
[ run HSO3SO4.cpp ]
|
|
[ run series.cpp ]
|
|
[ run continued_fractions.cpp ]
|
|
|
|
[ run barycentric_interpolation_example.cpp : : : [ requires cxx11_smart_ptr cxx11_function_template_default_args cxx11_unified_initialization_syntax cxx11_defaulted_functions cxx11_allocator cxx11_auto_declarations cxx11_lambdas ] ]
|
|
[ run barycentric_interpolation_example_2.cpp : : : [ requires cxx11_smart_ptr cxx11_function_template_default_args cxx11_unified_initialization_syntax cxx11_defaulted_functions cxx11_allocator cxx11_auto_declarations cxx11_lambdas ] ]
|
|
[ run cardinal_cubic_b_spline_example.cpp : : : [ requires cxx11_smart_ptr cxx11_hdr_random cxx11_defaulted_functions ] ]
|
|
[ compile naive_monte_carlo_example.cpp : [ requires cxx11_auto_declarations cxx11_lambdas cxx11_unified_initialization_syntax cxx11_hdr_thread cxx11_hdr_atomic cxx11_decltype cxx11_hdr_future cxx11_hdr_chrono cxx11_hdr_random cxx11_allocator ] ] # requires user input, can't run it, take a long time too!
|
|
[ run catmull_rom_example.cpp : : : [ requires cxx17_if_constexpr cxx11_auto_declarations cxx17_std_apply ] ] # Actually the C++17 features used is std::size, not if constexpr; looks like there isn't yet a test for it.
|
|
[ run autodiff_black_scholes_brief.cpp : : : [ requires cxx11_inline_namespaces ] ]
|
|
[ run autodiff_black_scholes.cpp : : : [ requires cxx11_inline_namespaces ] ]
|
|
[ run autodiff_fourth_power.cpp : : : [ requires cxx11_inline_namespaces ] ]
|
|
[ run autodiff_mixed_partials.cpp : : : [ check-target-builds ../config//is_ci_standalone_run "Standalone CI run" : <build>no ] [ requires cxx11_inline_namespaces ] ]
|
|
[ run autodiff_multiprecision.cpp : : : [ check-target-builds ../config//is_ci_standalone_run "Standalone CI run" : <build>no ] [ requires cxx11_inline_namespaces ] ]
|
|
[ run ooura_fourier_integrals_example.cpp : : : [ requires cxx11_hdr_mutex cxx11_lambdas cxx11_inline_namespaces cxx11_auto_declarations ] ]
|
|
[ run ooura_fourier_integrals_cosine_example.cpp : : : [ requires cxx11_hdr_mutex cxx11_inline_namespaces cxx11_auto_declarations cxx17_std_apply ] ]
|
|
[ run ooura_fourier_integrals_multiprecision_example.cpp : : : [ check-target-builds ../config//has_float128 "GCC libquadmath and __float128 support" : <linkflags>-lquadmath ] [ requires cxx11_hdr_mutex cxx11_inline_namespaces cxx11_auto_declarations cxx17_std_apply ] ]
|
|
[ run reciprocal_fibonacci_constant.cpp : : : [ check-target-builds ../config//has_mpfr "MPFR Support" : <linkflags>"-lmpfr -lgmp" : <build>no ] ]
|
|
;
|
|
|
|
run root_elliptic_finding.cpp /boost/timer : : : release <link>static [ requires cxx11_unified_initialization_syntax cxx11_defaulted_functions ] <target-os>freebsd:<linkflags>"-lrt" <target-os>linux:<linkflags>"-lrt -lpthread" ;
|
|
run root_finding_algorithms.cpp /boost/timer : : : release <link>static [ requires cxx11_hdr_tuple cxx11_unified_initialization_syntax ] <target-os>freebsd:<linkflags>"-lrt" <target-os>linux:<linkflags>"-lrt -lpthread" ;
|
|
run root_n_finding_algorithms.cpp /boost/timer : : : release <link>static [ requires cxx11_unified_initialization_syntax cxx11_defaulted_functions ] <target-os>freebsd:<linkflags>"-lrt" <target-os>linux:<linkflags>"-lrt -lpthread" ;
|
|
|
|
explicit root_elliptic_finding ;
|
|
explicit root_finding_algorithms ;
|
|
explicit root_n_finding_algorithms ;
|