// 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(ldexp(f128, 0)); check_result(frexp(f128, 0)); check_result(std::fabs(f128)); check_result(std::abs(f128)); check_result(floor(f128)); check_result(ceil(f128)); check_result(sqrt(f128)); check_result(trunc(f128)); check_result(exp(f128)); check_result(expm1(f128)); check_result(pow(f128, 0)); check_result(log(f128)); check_result(log10(f128)); check_result(sin(f128)); check_result(cos(f128)); check_result(tan(f128)); check_result(asin(f128)); check_result(acos(f128)); check_result(atan(f128)); check_result(sinh(f128)); check_result(cosh(f128)); check_result(tanh(f128)); check_result(asinh(f128)); check_result(acosh(f128)); check_result(atanh(f128)); check_result(fmod(f128, f128)); check_result(atan2(f128, f128)); check_result(lgamma(f128)); check_result(tgamma(f128)); check_result(remainder(f128, f128)); check_result(remquo(f128, f128, 0)); check_result(fma(f128, f128, f128)); check_result(fmax(f128, f128)); check_result(fmin(f128, f128)); check_result(fdim(f128, f128)); check_result(nanq(0)); check_result(exp2(f128)); check_result(log2(f128)); check_result(log1p(f128)); check_result(cbrt(f128)); check_result(hypot(f128, f128)); check_result(erf(f128)); check_result(erfc(f128)); check_result(llround(f128)); check_result(lround(f128)); check_result(round(f128)); check_result(nearbyint(f128)); check_result(llrint(f128)); check_result(lrint(f128)); check_result(rint(f128)); check_result(modf(f128, nullptr)); check_result(scalbln(f128, 0)); check_result(scalbn(f128, 0)); check_result(ilogb(f128)); check_result(logb(f128)); check_result(nextafter(f128, f128)); check_result(nexttoward(f128, f128)); check_result(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 }