21#ifndef _gcem_trunc_HPP
22#define _gcem_trunc_HPP
39 return( T(
static_cast<llint_t>(x)) );
57 return(
abs(x) >= 8388608.f ? \
70 return(
abs(x) >= 4503599627370496. ? \
83 return(
abs(x) >= 9223372036854775808.l ? \
124 if (std::is_constant_evaluated()) {
127 return std::trunc(x);
constexpr long double trunc_check_internal< long double >(const long double x) noexcept
Definition trunc.hpp:80
constexpr bool is_nan(const T x) noexcept
Definition is_nan.hpp:39
constexpr T trunc_check(const T x) noexcept
Definition trunc.hpp:93
constexpr T trunc_int(const T x) noexcept
Definition trunc.hpp:36
constexpr float trunc_check_internal< float >(const float x) noexcept
Definition trunc.hpp:54
constexpr double trunc_check_internal< double >(const double x) noexcept
Definition trunc.hpp:67
constexpr T trunc_check_internal(const T x) noexcept
Definition trunc.hpp:45
constexpr bool is_finite(const T x) noexcept
Definition is_finite.hpp:37
constexpr T abs(const T x) noexcept
Compile-time absolute value function.
Definition abs.hpp:40
std::numeric_limits< T > GCLIM
Definition gcem_options.hpp:74
long long int llint_t
Definition gcem_options.hpp:71
constexpr return_t< T > trunc(const T x) noexcept
Compile-time trunc function.
Definition trunc.hpp:121
typename std::conditional< std::is_integral< T >::value, double, T >::type return_t
Definition gcem_options.hpp:77
constexpr int sgn(const T x) noexcept
Compile-time sign function.
Definition sgn.hpp:37
unsigned long long int ullint_t
Definition gcem_options.hpp:69