diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 08a9cc81..6a715b14 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -1329,6 +1329,7 @@ test-suite standalone : [ run standalone_test_arithmetic_float_128.cpp quadmath no_eh_support : : : [ check-target-builds ../config//has_float128 : : no ] ] [ run standalone_test_arithmetic_gmp.cpp gmp no_eh_support : : : [ check-target-builds ../config//has_gmp : : no ] [ check-target-builds ../config//has_float128 : quadmath ] ] [ run standalone_test_arithmetic_mpf_logged_adptr.cpp gmp : : : msvc:-bigobj [ check-target-builds ../config//has_gmp : : no ] [ check-target-builds ../config//has_float128 : quadmath ] ] + [ run standalone_test_arithmetic_cpp_double_fp.cpp no_eh_support : : : msvc:-bigobj [ check-target-builds ../config//has_float128 : quadmath ] ] [ run standalone_test_miller_rabin.cpp no_eh_support gmp : # command line diff --git a/test/standalone_test_arithmetic_cpp_double_fp.cpp b/test/standalone_test_arithmetic_cpp_double_fp.cpp new file mode 100644 index 00000000..be07d355 --- /dev/null +++ b/test/standalone_test_arithmetic_cpp_double_fp.cpp @@ -0,0 +1,37 @@ +/////////////////////////////////////////////////////////////// +// Copyright 2012 John Maddock. +// Copyright 2021 - 2025 Christopher Kormanyos. +// Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt + +#if defined(_MSC_VER) +#define _SCL_SECURE_NO_WARNINGS +#endif + +#define BOOST_MP_STANDALONE + +#include +#include "test_arithmetic.hpp" + +int main() +{ + using boost::multiprecision::cpp_double_float; + using boost::multiprecision::cpp_double_double; + using boost::multiprecision::cpp_double_long_double; + #ifdef BOOST_HAS_FLOAT128 + using boost::multiprecision::cpp_double_float128; + #endif + + constexpr cpp_double_double one { 1 }; + + static_assert(static_cast(one) == 1, "Error:constexpr-ness of cpp_double_double constructor failed"); + + test(); + test(); + test(); + #ifdef BOOST_HAS_FLOAT128 + test(); + #endif + return boost::report_errors(); +}