4#ifndef TETL_CMATH_ISNAN_HPP
5#define TETL_CMATH_ISNAN_HPP
7#include <etl/_config/all.hpp>
9#include <etl/_concepts/integral.hpp>
10#include <etl/_type_traits/is_constant_evaluated.hpp>
19#if __has_builtin(__builtin_isnanf) or defined(TETL_COMPILER_GCC)
20 return __builtin_isnanf(arg);
29#if __has_builtin(__builtin_isnan) or defined(TETL_COMPILER_GCC)
30 return __builtin_isnan(arg) != 0;
39#if __has_builtin(__builtin_isnanl) or defined(TETL_COMPILER_GCC)
40 return __builtin_isnanl(arg);
49template <integral Int>
50[[nodiscard]]
constexpr auto isnan(Int arg) ->
bool
52 return isnan(static_cast<
double>(arg)
);
constexpr auto isnan(double arg) -> bool
Definition isnan.hpp:27
constexpr auto isnan(float arg) -> bool
Determines if the given floating point number arg is a not-a-number (NaN) value.
Definition isnan.hpp:17
constexpr auto isnan(Int arg) -> bool
Determines if the given floating point number arg is a not-a-number (NaN) value.
Definition isnan.hpp:50
constexpr auto isnan(long double arg) -> bool
Definition isnan.hpp:37
Definition adjacent_find.hpp:9