diff --git a/test/static/limits_test.cpp b/test/static/limits_test.cpp index 24048708..7338fab3 100644 --- a/test/static/limits_test.cpp +++ b/test/static/limits_test.cpp @@ -26,6 +26,9 @@ import std; #else #include +#if MP_UNITS_HOSTED +#include +#endif // MP_UNITS_HOSTED #endif namespace { @@ -94,12 +97,16 @@ static_assert(std::numeric_limits::infinity().numerical_value_in(mp_un static_assert(std::numeric_limits::infinity().numerical_value_in(mp_units::si::metre) == std::numeric_limits::infinity()); +#if MP_UNITS_HOSTED && (__cpp_lib_constexpr_cmath || MP_UNITS_COMP_GCC) + // quiet_NaN static_assert(std::isnan(std::numeric_limits::quiet_NaN().numerical_value_in(mp_units::si::metre))); // signaling_NaN static_assert(std::isnan(std::numeric_limits::signaling_NaN().numerical_value_in(mp_units::si::metre))); +#endif + // denorm_min static_assert(std::numeric_limits::denorm_min().numerical_value_in(mp_units::si::metre) == std::numeric_limits::denorm_min()); @@ -171,6 +178,8 @@ static_assert(std::numeric_limits::infinity().quantity_from_zero().nu static_assert(std::numeric_limits::infinity().quantity_from_zero().numerical_value_in(mp_units::si::metre) == std::numeric_limits::infinity()); +#if MP_UNITS_HOSTED && (__cpp_lib_constexpr_cmath || MP_UNITS_COMP_GCC) + // quiet_NaN static_assert( std::isnan(std::numeric_limits::quiet_NaN().quantity_from_zero().numerical_value_in(mp_units::si::metre))); @@ -179,6 +188,8 @@ static_assert( static_assert(std::isnan( std::numeric_limits::signaling_NaN().quantity_from_zero().numerical_value_in(mp_units::si::metre))); +#endif + // denorm_min static_assert(std::numeric_limits::denorm_min().quantity_from_zero().numerical_value_in( mp_units::si::metre) == std::numeric_limits::denorm_min());