// 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 // // 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 boost::float128_t f128 = 0; check_result(std::ldexp(f128, 0)); check_result(std::frexp(f128, 0)); check_result(std::fabs(f128)); check_result(std::abs(f128)); check_result(std::floor(f128)); check_result(std::ceil(f128)); check_result(std::sqrt(f128)); check_result(std::trunc(f128)); check_result(std::exp(f128)); check_result(std::expm1(f128)); check_result(std::pow(f128, 0)); check_result(std::log(f128)); check_result(std::log10(f128)); check_result(std::sin(f128)); check_result(std::cos(f128)); check_result(std::tan(f128)); check_result(std::asin(f128)); check_result(std::acos(f128)); check_result(std::atan(f128)); check_result(std::sinh(f128)); check_result(std::cosh(f128)); check_result(std::tanh(f128)); check_result(std::asinh(f128)); check_result(std::acosh(f128)); check_result(std::atanh(f128)); check_result(std::fmod(f128, f128)); check_result(std::atan2(f128, f128)); check_result(std::lgamma(f128)); check_result(std::tgamma(f128)); check_result(std::remainder(f128, f128)); check_result(std::remquo(f128, f128, 0)); check_result(std::fma(f128, f128, f128)); check_result(std::fmax(f128, f128)); check_result(std::fmin(f128, f128)); check_result(std::fdim(f128, f128)); #if __LDBL_MANT_DIG__ == 113 check_result(std::nanl("")); #else check_result(std::nanq("")); #endif check_result(std::exp2(f128)); check_result(std::log2(f128)); check_result(std::log1p(f128)); check_result(std::cbrt(f128)); check_result(std::hypot(f128, f128)); check_result(std::erf(f128)); check_result(std::erfc(f128)); check_result(std::llround(f128)); check_result(std::lround(f128)); check_result(std::round(f128)); check_result(std::nearbyint(f128)); check_result(std::llrint(f128)); check_result(std::lrint(f128)); check_result(std::rint(f128)); check_result(std::modf(f128, nullptr)); check_result(std::scalbln(f128, 0)); check_result(std::scalbn(f128, 0)); check_result(std::ilogb(f128)); check_result(std::logb(f128)); check_result(std::nextafter(f128, f128)); check_result(std::nexttoward(f128, f128)); check_result(std::copysign(f128, f128)); check_result(std::signbit(f128)); check_result(std::fpclassify(f128)); check_result(std::isfinite(f128)); check_result(std::isinf(f128)); check_result(std::isnan(f128)); check_result(std::isnormal(f128)); check_result(std::isgreater(f128, f128)); check_result(std::isgreaterequal(f128, f128)); check_result(std::isless(f128, f128)); check_result(std::islessequal(f128, f128)); check_result(std::islessgreater(f128, f128)); check_result(std::isunordered(f128, f128)); #endif // boost::float128_t }