12 #include <type_traits> 19 std::enable_if_t<std::is_arithmetic_v<T>,
T>
hypot(
T x,
T y);
32 inline std::enable_if_t<std::is_arithmetic_v<T>,
T>
42 std::enable_if_t<std::is_arithmetic_v<T>,
T>
46 if (std::isinf(x) || std::isinf(y))
47 return std::numeric_limits<T>::infinity();
48 else if (std::isnan(x) || std::isnan(y))
49 return std::numeric_limits<T>::quiet_NaN();
59 inline std::enable_if_t<std::is_arithmetic_v<T>,
T>
std::enable_if_t< std::is_arithmetic_v< T >, T > checked_hypot(T x, T y)
std::enable_if_t< std::is_arithmetic_v< T >, T > unchecked_hypot(T x, T y)
std::enable_if_t< std::is_arithmetic_v< T >, T > hypot(T x, T y)