4#ifndef TETL_CMATH_ISINF_HPP
5#define TETL_CMATH_ISINF_HPP
7#include <etl/_config/all.hpp>
9#include <etl/_concepts/integral.hpp>
10#include <etl/_limits/numeric_limits.hpp>
16inline constexpr struct isinf {
17 template <
typename Float>
18 [[nodiscard]]
constexpr auto operator()(Float arg)
const ->
bool
20#if __has_builtin(__builtin_isinf)
21 return __builtin_isinf(arg) != 0;
23 return arg == etl::numeric_limits<Float>::infinity();
37 return etl::detail::isinf(arg);
42 return etl::detail::isinf(arg);
47 return etl::detail::isinf(arg);
50template <
etl::integral Int>
51[[nodiscard]]
constexpr auto isinf(Int arg) ->
bool
53 return etl::detail::isinf(
static_cast<
double>(arg));
constexpr auto isinf(double arg) -> bool
Definition isinf.hpp:40
constexpr auto isinf(Int arg) -> bool
Definition isinf.hpp:51
constexpr auto isinf(float arg) -> bool
Definition isinf.hpp:35
constexpr auto isinf(long double arg) -> bool
Definition isinf.hpp:45
Definition adjacent_find.hpp:9