mirror of
https://github.com/boostorg/math.git
synced 2026-01-19 16:32:10 +00:00
* Add missing distribution compile tests * Add cstdfloat compile tests * Rename and finish differentiation * Add interpolators compile tests and fixes * Reorganize/add quadrature compile tests * Add missing sf tests and fixes for failures * Add tools incl tests and fixes * Add compile tests to jamfile plus collected fixes * Collected fixes for CI failures * Fix fftw config * Remove lexical cast from arcsine dist [ci skip] * Improve cstdfloat tests [ci skip] * Improve differentiation tests [ci skip] * Improve distribution testing [ci skip] * Updates to interpolator tests [ci skip] * Improve quadrature tests [ci skip] * Improve sf tests [ci skip] * Improve tools tests * Collected CI fixes * Fix for MSVC 14.2 array allocation error [windows] * MSVC 14.2 workarounds [windows] * Fix float128 and interpolators tests * Add standalone testing on clang [standalone] * Fixes for type mismatches on MSVC [windows] * Fix for MSVC 14.0 fail from missing header [windows] * Change barycentric rational namespace [ci skip] * Fix standalone clang warnings * Change namespace in barycentric examples
52 lines
3.0 KiB
C++
52 lines
3.0 KiB
C++
// Copyright Matt Borland 2021.
|
|
// Use, modification and distribution are subject to 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)
|
|
//
|
|
// Basic sanity check that header
|
|
// #includes all the files that it needs to.
|
|
//
|
|
#include <boost/math/cstdfloat/cstdfloat_limits.hpp>
|
|
//
|
|
// Note this header includes no other headers, this is
|
|
// important if this test is to be meaningful:
|
|
//
|
|
#include "test_compile_result.hpp"
|
|
|
|
void compile_and_link_test()
|
|
{
|
|
#ifdef BOOST_FLOAT128_C
|
|
check_result<bool>(std::numeric_limits<boost::float128_t>::is_specialized);
|
|
check_result<boost::float128_t>((std::numeric_limits<boost::float128_t>::min)());
|
|
check_result<boost::float128_t>((std::numeric_limits<boost::float128_t>::max)());
|
|
check_result<boost::float128_t>(std::numeric_limits<boost::float128_t>::lowest());
|
|
check_result<int>(std::numeric_limits<boost::float128_t>::digits);
|
|
check_result<int>(std::numeric_limits<boost::float128_t>::digits10);
|
|
check_result<int>(std::numeric_limits<boost::float128_t>::max_digits10);
|
|
check_result<bool>(std::numeric_limits<boost::float128_t>::is_signed);
|
|
check_result<bool>(std::numeric_limits<boost::float128_t>::is_integer);
|
|
check_result<bool>(std::numeric_limits<boost::float128_t>::is_exact);
|
|
check_result<int>(std::numeric_limits<boost::float128_t>::radix);
|
|
check_result<boost::float128_t>(std::numeric_limits<boost::float128_t>::epsilon());
|
|
check_result<int>(std::numeric_limits<boost::float128_t>::min_exponent);
|
|
check_result<int>(std::numeric_limits<boost::float128_t>::min_exponent10);
|
|
check_result<int>(std::numeric_limits<boost::float128_t>::max_exponent);
|
|
check_result<int>(std::numeric_limits<boost::float128_t>::max_exponent10);
|
|
check_result<bool>(std::numeric_limits<boost::float128_t>::has_infinity);
|
|
check_result<bool>(std::numeric_limits<boost::float128_t>::has_quiet_NaN);
|
|
check_result<bool>(std::numeric_limits<boost::float128_t>::has_signaling_NaN);
|
|
check_result<std::float_denorm_style>(std::numeric_limits<boost::float128_t>::has_denorm);
|
|
check_result<bool>(std::numeric_limits<boost::float128_t>::has_denorm_loss);
|
|
check_result<boost::float128_t>(std::numeric_limits<boost::float128_t>::infinity());
|
|
check_result<boost::float128_t>(std::numeric_limits<boost::float128_t>::quiet_NaN());
|
|
check_result<boost::float128_t>(std::numeric_limits<boost::float128_t>::signaling_NaN());
|
|
check_result<boost::float128_t>(std::numeric_limits<boost::float128_t>::denorm_min());
|
|
check_result<bool>(std::numeric_limits<boost::float128_t>::is_iec559);
|
|
check_result<bool>(std::numeric_limits<boost::float128_t>::is_bounded);
|
|
check_result<bool>(std::numeric_limits<boost::float128_t>::is_modulo);
|
|
check_result<bool>(std::numeric_limits<boost::float128_t>::traps);
|
|
check_result<bool>(std::numeric_limits<boost::float128_t>::tinyness_before);
|
|
check_result<std::float_round_style>(std::numeric_limits<boost::float128_t>::round_style);
|
|
#endif
|
|
}
|