tetl 0.1.0
Embedded Template Library
Loading...
Searching...
No Matches

Common mathematics functions. More...

Typedefs

using double_t = double
 Most efficient floating-point type at least as wide as double.
 
using float_t = float
 Most efficient floating-point type at least as wide as float.
 

Functions

constexpr auto isfinite (double arg) -> bool
 
constexpr auto isfinite (float arg) -> bool
 Determines if the given floating point number arg has finite value i.e. it is normal, subnormal or zero, but not infinite or NaN.
 
constexpr auto isfinite (long double arg) -> bool
 
constexpr auto isinf (double arg) -> bool
 
constexpr auto isinf (float arg) -> bool
 Determines if the given floating point number arg is a positive or negative infinity.
 
template<etl::integral Int>
constexpr auto isinf (Int arg) -> bool
 
constexpr auto isinf (long double arg) -> bool
 
constexpr auto isnan (double arg) -> bool
 
constexpr auto isnan (float arg) -> bool
 Determines if the given floating point number arg is a not-a-number (NaN) value.
 
template<integral Int>
constexpr auto isnan (Int arg) -> bool
 Determines if the given floating point number arg is a not-a-number (NaN) value.
 
constexpr auto isnan (long double arg) -> bool
 
template<floating_point Float>
constexpr auto lerp (Float a, Float b, Float t) noexcept -> Float
 Computes a+t(b−a), i.e. the linear interpolation between a and b for the parameter t (or extrapolation, when t is outside the range [0,1]).
 
constexpr auto lgamma (double arg) noexcept -> double
 Computes the natural logarithm of the absolute value of the gamma function of arg.
 
constexpr auto lgamma (float arg) noexcept -> float
 Computes the natural logarithm of the absolute value of the gamma function of arg.
 
constexpr auto lgamma (long double arg) noexcept -> long double
 Computes the natural logarithm of the absolute value of the gamma function of arg.
 
template<integral T>
constexpr auto lgamma (T arg) noexcept -> double
 Computes the natural logarithm of the absolute value of the gamma function of arg.
 
constexpr auto lgammaf (float arg) noexcept -> float
 Computes the natural logarithm of the absolute value of the gamma function of arg.
 
constexpr auto lgammal (long double arg) noexcept -> long double
 Computes the natural logarithm of the absolute value of the gamma function of arg.
 
constexpr auto llrint (double arg) noexcept -> long long
 Rounds the floating-point argument arg to an integer value, using the current rounding mode.
 
constexpr auto llrint (float arg) noexcept -> long long
 Rounds the floating-point argument arg to an integer value, using the current rounding mode.
 
constexpr auto llrint (long double arg) noexcept -> long long
 Rounds the floating-point argument arg to an integer value, using the current rounding mode.
 
template<integral T>
constexpr auto llrint (T arg) noexcept -> long long
 Rounds the floating-point argument arg to an integer value, using the current rounding mode.
 
constexpr auto llrintf (float arg) noexcept -> long long
 Rounds the floating-point argument arg to an integer value, using the current rounding mode.
 
constexpr auto llrintl (long double arg) noexcept -> long long
 Rounds the floating-point argument arg to an integer value, using the current rounding mode.
 
constexpr auto lrint (double arg) noexcept -> long
 Rounds the floating-point argument arg to an integer value, using the current rounding mode.
 
constexpr auto lrint (float arg) noexcept -> long
 Rounds the floating-point argument arg to an integer value, using the current rounding mode.
 
constexpr auto lrint (long double arg) noexcept -> long
 Rounds the floating-point argument arg to an integer value, using the current rounding mode.
 
template<integral T>
constexpr auto lrint (T arg) noexcept -> long
 Rounds the floating-point argument arg to an integer value, using the current rounding mode.
 
constexpr auto lrintf (float arg) noexcept -> long
 Rounds the floating-point argument arg to an integer value, using the current rounding mode.
 
constexpr auto lrintl (long double arg) noexcept -> long
 Rounds the floating-point argument arg to an integer value, using the current rounding mode.
 
constexpr auto pow (double base, double exp) -> double
 Computes the value of base raised to the power exp.
 
constexpr auto pow (double base, int iexp) -> double
 Computes the value of base raised to the power exp.
 
constexpr auto pow (float base, float exp) -> float
 Computes the value of base raised to the power exp.
 
constexpr auto pow (float base, int iexp) -> float
 Computes the value of base raised to the power exp.
 
constexpr auto pow (long double base, int iexp) -> long double
 Computes the value of base raised to the power exp.
 
constexpr auto pow (long double base, long double exp) -> long double
 Computes the value of base raised to the power exp.
 
constexpr auto powf (float base, float exp) -> float
 Computes the value of base raised to the power exp.
 
constexpr auto powl (long double base, long double exp) -> long double
 Computes the value of base raised to the power exp.
 
constexpr auto remainder (double x, double y) noexcept -> double
 Computes the remainder of the floating point division operation x/y.
 
constexpr auto remainder (float x, float y) noexcept -> float
 Computes the remainder of the floating point division operation x/y.
 
constexpr auto remainder (long double x, long double y) noexcept -> long double
 Computes the remainder of the floating point division operation x/y.
 
constexpr auto remainderf (float x, float y) noexcept -> float
 Computes the remainder of the floating point division operation x/y.
 
constexpr auto remainderl (long double x, long double y) noexcept -> long double
 Computes the remainder of the floating point division operation x/y.
 
constexpr auto rint (double arg) noexcept -> double
 Rounds the floating-point argument arg to an integer value (in floating-point format), using the current rounding mode.
 
constexpr auto rint (float arg) noexcept -> float
 Rounds the floating-point argument arg to an integer value (in floating-point format), using the current rounding mode.
 
constexpr auto rint (long double arg) noexcept -> long double
 Rounds the floating-point argument arg to an integer value (in floating-point format), using the current rounding mode.
 
template<integral T>
constexpr auto rint (T arg) noexcept -> double
 Rounds the floating-point argument arg to an integer value (in floating-point format), using the current rounding mode.
 
constexpr auto rintf (float arg) noexcept -> float
 Rounds the floating-point argument arg to an integer value (in floating-point format), using the current rounding mode.
 
constexpr auto rintl (long double arg) noexcept -> long double
 Rounds the floating-point argument arg to an integer value (in floating-point format), using the current rounding mode.
 
constexpr auto signbit (double arg) noexcept -> bool
 Determines if the given floating point number arg is negative.
 
constexpr auto signbit (float arg) noexcept -> bool
 Determines if the given floating point number arg is negative.
 
constexpr auto signbit (long double arg) noexcept -> bool
 Determines if the given floating point number arg is negative.
 
constexpr auto sinh (double arg) noexcept -> double
 Computes the hyperbolic sine of arg.
 
constexpr auto sinh (float arg) noexcept -> float
 Computes the hyperbolic sine of arg.
 
constexpr auto sinh (long double arg) noexcept -> long double
 Computes the hyperbolic sine of arg.
 
template<integral T>
constexpr auto sinh (T arg) noexcept -> double
 Computes the hyperbolic sine of arg.
 
constexpr auto sinhf (float arg) noexcept -> float
 Computes the hyperbolic sine of arg.
 
constexpr auto sinhl (long double arg) noexcept -> long double
 Computes the hyperbolic sine of arg.
 
constexpr auto sqrt (double arg) noexcept -> double
 Computes the square root of arg.
 
constexpr auto sqrt (float arg) noexcept -> float
 Computes the square root of arg.
 
constexpr auto sqrt (long double arg) noexcept -> long double
 Computes the square root of arg.
 
template<integral T>
constexpr auto sqrt (T arg) noexcept -> double
 Computes the square root of arg.
 
constexpr auto sqrtf (float arg) noexcept -> float
 Computes the square root of arg.
 
constexpr auto sqrtl (long double arg) noexcept -> long double
 Computes the square root of arg.
 
constexpr auto acos (float arg) noexcept -> float
 Computes the principal value of the arc cosine of arg.
 
constexpr auto acosf (float arg) noexcept -> float
 Computes the principal value of the arc cosine of arg.
 
constexpr auto acos (double arg) noexcept -> double
 Computes the principal value of the arc cosine of arg.
 
constexpr auto acos (long double arg) noexcept -> long double
 Computes the principal value of the arc cosine of arg.
 
constexpr auto acosl (long double arg) noexcept -> long double
 Computes the principal value of the arc cosine of arg.
 
constexpr auto acos (integral auto arg) noexcept -> double
 Computes the principal value of the arc cosine of arg.
 
constexpr auto acosh (float arg) noexcept -> float
 Computes the inverse hyperbolic cosine of arg.
 
constexpr auto acoshf (float arg) noexcept -> float
 Computes the inverse hyperbolic cosine of arg.
 
constexpr auto acosh (double arg) noexcept -> double
 Computes the inverse hyperbolic cosine of arg.
 
constexpr auto acosh (long double arg) noexcept -> long double
 Computes the inverse hyperbolic cosine of arg.
 
constexpr auto acoshl (long double arg) noexcept -> long double
 Computes the inverse hyperbolic cosine of arg.
 
constexpr auto acosh (integral auto arg) noexcept -> double
 Computes the inverse hyperbolic cosine of arg.
 
constexpr auto asin (float arg) noexcept -> float
 Computes the principal value of the arc sine of arg.
 
constexpr auto asinf (float arg) noexcept -> float
 Computes the principal value of the arc sine of arg.
 
constexpr auto asin (double arg) noexcept -> double
 Computes the principal value of the arc sine of arg.
 
constexpr auto asin (long double arg) noexcept -> long double
 Computes the principal value of the arc sine of arg.
 
constexpr auto asinl (long double arg) noexcept -> long double
 Computes the principal value of the arc sine of arg.
 
constexpr auto asin (integral auto arg) noexcept -> double
 Computes the principal value of the arc sine of arg.
 
constexpr auto asinh (float arg) noexcept -> float
 Computes the inverse hyperbolic sine of arg.
 
constexpr auto asinhf (float arg) noexcept -> float
 Computes the inverse hyperbolic sine of arg.
 
constexpr auto asinh (double arg) noexcept -> double
 Computes the inverse hyperbolic sine of arg.
 
constexpr auto asinh (long double arg) noexcept -> long double
 Computes the inverse hyperbolic sine of arg.
 
constexpr auto asinhl (long double arg) noexcept -> long double
 Computes the inverse hyperbolic sine of arg.
 
constexpr auto asinh (integral auto arg) noexcept -> double
 Computes the inverse hyperbolic sine of arg.
 
constexpr auto atan (float arg) noexcept -> float
 Computes the principal value of the arc tangent of arg.
 
constexpr auto atanf (float arg) noexcept -> float
 Computes the principal value of the arc tangent of arg.
 
constexpr auto atan (double arg) noexcept -> double
 Computes the principal value of the arc tangent of arg.
 
constexpr auto atan (long double arg) noexcept -> long double
 Computes the principal value of the arc tangent of arg.
 
constexpr auto atanl (long double arg) noexcept -> long double
 Computes the principal value of the arc tangent of arg.
 
constexpr auto atan (integral auto arg) noexcept -> double
 Computes the principal value of the arc tangent of arg.
 
constexpr auto atan2 (float x, float y) noexcept -> float
 Computes the arc tangent of y/x using the signs of arguments to determine the correct quadrant.
 
constexpr auto atan2f (float x, float y) noexcept -> float
 Computes the arc tangent of y/x using the signs of arguments to determine the correct quadrant.
 
constexpr auto atan2 (double x, double y) noexcept -> double
 Computes the arc tangent of y/x using the signs of arguments to determine the correct quadrant.
 
constexpr auto atan2 (long double x, long double y) noexcept -> long double
 Computes the arc tangent of y/x using the signs of arguments to determine the correct quadrant.
 
constexpr auto atan2l (long double x, long double y) noexcept -> long double
 Computes the arc tangent of y/x using the signs of arguments to determine the correct quadrant.
 
constexpr auto atanh (float arg) noexcept -> float
 Computes the inverse hyperbolic tangent of arg.
 
constexpr auto atanhf (float arg) noexcept -> float
 Computes the inverse hyperbolic tangent of arg.
 
constexpr auto atanh (double arg) noexcept -> double
 Computes the inverse hyperbolic tangent of arg.
 
constexpr auto atanh (long double arg) noexcept -> long double
 Computes the inverse hyperbolic tangent of arg.
 
constexpr auto atanhl (long double arg) noexcept -> long double
 Computes the inverse hyperbolic tangent of arg.
 
constexpr auto atanh (integral auto arg) noexcept -> double
 Computes the inverse hyperbolic tangent of arg.
 
constexpr auto beta (double x, double y) noexcept -> double
 Computes the beta function of x and y.
 
constexpr auto betaf (float x, float y) noexcept -> float
 Computes the beta function of x and y.
 
constexpr auto betal (long double x, long double y) noexcept -> long double
 Computes the beta function of x and y.
 
constexpr auto ceil (float arg) noexcept -> float
 Computes the smallest integer value not less than arg.
 
constexpr auto ceilf (float arg) noexcept -> float
 Computes the smallest integer value not less than arg.
 
constexpr auto ceil (double arg) noexcept -> double
 Computes the smallest integer value not less than arg.
 
constexpr auto ceil (long double arg) noexcept -> long double
 Computes the smallest integer value not less than arg.
 
constexpr auto ceill (long double arg) noexcept -> long double
 Computes the smallest integer value not less than arg.
 
constexpr auto ceil (integral auto arg) noexcept -> double
 Computes the smallest integer value not less than arg.
 
constexpr auto copysign (float mag, float sgn) -> float
 Composes a floating point value with the magnitude of mag and the sign of sgn.
 
constexpr auto copysignf (float mag, float sgn) -> float
 Composes a floating point value with the magnitude of mag and the sign of sgn.
 
constexpr auto copysign (double mag, double sgn) -> double
 Composes a floating point value with the magnitude of mag and the sign of sgn.
 
constexpr auto copysign (long double mag, long double sgn) -> long double
 Composes a floating point value with the magnitude of mag and the sign of sgn.
 
constexpr auto copysignl (long double mag, long double sgn) -> long double
 Composes a floating point value with the magnitude of mag and the sign of sgn.
 
constexpr auto cos (float arg) noexcept -> float
 Computes the cosine of arg (measured in radians).
 
constexpr auto cosf (float arg) noexcept -> float
 Computes the cosine of arg (measured in radians).
 
constexpr auto cos (double arg) noexcept -> double
 Computes the cosine of arg (measured in radians).
 
constexpr auto cos (long double arg) noexcept -> long double
 Computes the cosine of arg (measured in radians).
 
constexpr auto cosl (long double arg) noexcept -> long double
 Computes the cosine of arg (measured in radians).
 
constexpr auto cos (integral auto arg) noexcept -> double
 Computes the cosine of arg (measured in radians).
 
constexpr auto cosh (float arg) noexcept -> float
 Computes the hyperbolic cosine of arg.
 
constexpr auto coshf (float arg) noexcept -> float
 Computes the hyperbolic cosine of arg.
 
constexpr auto cosh (double arg) noexcept -> double
 Computes the hyperbolic cosine of arg.
 
constexpr auto cosh (long double arg) noexcept -> long double
 Computes the hyperbolic cosine of arg.
 
constexpr auto coshl (long double arg) noexcept -> long double
 Computes the hyperbolic cosine of arg.
 
constexpr auto cosh (integral auto arg) noexcept -> double
 Computes the hyperbolic cosine of arg.
 
constexpr auto erf (float arg) noexcept -> float
 Computes the error function of arg.
 
constexpr auto erff (float arg) noexcept -> float
 Computes the error function of arg.
 
constexpr auto erf (double arg) noexcept -> double
 Computes the error function of arg.
 
constexpr auto erf (long double arg) noexcept -> long double
 Computes the error function of arg.
 
constexpr auto erfl (long double arg) noexcept -> long double
 Computes the error function of arg.
 
constexpr auto erf (integral auto arg) noexcept -> double
 Computes the error function of arg.
 
constexpr auto exp (float arg) noexcept -> float
 Computes e (Euler's number, 2.7182...) raised to the given power arg.
 
constexpr auto expf (float arg) noexcept -> float
 Computes e (Euler's number, 2.7182...) raised to the given power arg.
 
constexpr auto exp (double arg) noexcept -> double
 Computes e (Euler's number, 2.7182...) raised to the given power arg.
 
constexpr auto exp (long double arg) noexcept -> long double
 Computes e (Euler's number, 2.7182...) raised to the given power arg.
 
constexpr auto expl (long double arg) noexcept -> long double
 Computes e (Euler's number, 2.7182...) raised to the given power arg.
 
constexpr auto exp (integral auto arg) noexcept -> double
 Computes e (Euler's number, 2.7182...) raised to the given power arg.
 
constexpr auto fdim (float x, float y) noexcept -> float
 Returns the positive difference between x and y, that is, if x>y, returns x-y, otherwise (if x≤y), returns +0.
 
constexpr auto fdimf (float x, float y) noexcept -> float
 Returns the positive difference between x and y, that is, if x>y, returns x-y, otherwise (if x≤y), returns +0.
 
constexpr auto fdim (double x, double y) noexcept -> double
 Returns the positive difference between x and y, that is, if x>y, returns x-y, otherwise (if x≤y), returns +0.
 
constexpr auto fdim (long double x, long double y) noexcept -> long double
 Returns the positive difference between x and y, that is, if x>y, returns x-y, otherwise (if x≤y), returns +0.
 
constexpr auto fdiml (long double x, long double y) noexcept -> long double
 Returns the positive difference between x and y, that is, if x>y, returns x-y, otherwise (if x≤y), returns +0.
 
constexpr auto floor (float arg) noexcept -> float
 Computes the largest integer value not greater than arg.
 
constexpr auto floorf (float arg) noexcept -> float
 Computes the largest integer value not greater than arg.
 
constexpr auto floor (double arg) noexcept -> double
 Computes the largest integer value not greater than arg.
 
constexpr auto floor (long double arg) noexcept -> long double
 Computes the largest integer value not greater than arg.
 
constexpr auto floorl (long double arg) noexcept -> long double
 Computes the largest integer value not greater than arg.
 
constexpr auto floor (integral auto arg) noexcept -> double
 Computes the largest integer value not greater than arg.
 
constexpr auto fma (float x, float y, float z) noexcept -> float
 Computes (x*y) + z as if to infinite precision and rounded only once to fit the result type.
 
constexpr auto fmaf (float x, float y, float z) noexcept -> float
 Computes (x*y) + z as if to infinite precision and rounded only once to fit the result type.
 
constexpr auto fma (double x, double y, double z) noexcept -> double
 Computes (x*y) + z as if to infinite precision and rounded only once to fit the result type.
 
constexpr auto fma (long double x, long double y, long double z) noexcept -> long double
 Computes (x*y) + z as if to infinite precision and rounded only once to fit the result type.
 
constexpr auto fmal (long double x, long double y, long double z) noexcept -> long double
 Computes (x*y) + z as if to infinite precision and rounded only once to fit the result type.
 
constexpr auto fmax (float x, float y) noexcept -> float
 Returns the larger of two floating point arguments, treating NaNs as missing data (between a NaN and a numeric value, the numeric value is chosen)
 
constexpr auto fmaxf (float x, float y) noexcept -> float
 Returns the larger of two floating point arguments, treating NaNs as missing data (between a NaN and a numeric value, the numeric value is chosen)
 
constexpr auto fmax (double x, double y) noexcept -> double
 Returns the larger of two floating point arguments, treating NaNs as missing data (between a NaN and a numeric value, the numeric value is chosen)
 
constexpr auto fmax (long double x, long double y) noexcept -> long double
 Returns the larger of two floating point arguments, treating NaNs as missing data (between a NaN and a numeric value, the numeric value is chosen)
 
constexpr auto fmaxl (long double x, long double y) noexcept -> long double
 Returns the larger of two floating point arguments, treating NaNs as missing data (between a NaN and a numeric value, the numeric value is chosen)
 
constexpr auto fmin (float x, float y) noexcept -> float
 Returns the smaller of two floating point arguments, treating NaNs as missing data (between a NaN and a numeric value, the numeric value is chosen)
 
constexpr auto fminf (float x, float y) noexcept -> float
 Returns the smaller of two floating point arguments, treating NaNs as missing data (between a NaN and a numeric value, the numeric value is chosen)
 
constexpr auto fmin (double x, double y) noexcept -> double
 Returns the smaller of two floating point arguments, treating NaNs as missing data (between a NaN and a numeric value, the numeric value is chosen)
 
constexpr auto fmin (long double x, long double y) noexcept -> long double
 Returns the smaller of two floating point arguments, treating NaNs as missing data (between a NaN and a numeric value, the numeric value is chosen)
 
constexpr auto fminl (long double x, long double y) noexcept -> long double
 Returns the smaller of two floating point arguments, treating NaNs as missing data (between a NaN and a numeric value, the numeric value is chosen)
 
constexpr auto fmod (float x, float y) noexcept -> float
 Computes the floating-point remainder of the division operation x/y.
 
constexpr auto fmodf (float x, float y) noexcept -> float
 Computes the floating-point remainder of the division operation x/y.
 
constexpr auto fmod (double x, double y) noexcept -> double
 Computes the floating-point remainder of the division operation x/y.
 
constexpr auto fmod (long double x, long double y) noexcept -> long double
 Computes the floating-point remainder of the division operation x/y.
 
constexpr auto fmodl (long double x, long double y) noexcept -> long double
 Computes the floating-point remainder of the division operation x/y.
 
constexpr auto hypot (float x, float y) noexcept -> float
 Computes the square root of the sum of the squares of x and y, without undue overflow or underflow at intermediate stages of the computation.
 
constexpr auto hypotf (float x, float y) noexcept -> float
 Computes the square root of the sum of the squares of x and y, without undue overflow or underflow at intermediate stages of the computation.
 
constexpr auto hypot (double x, double y) noexcept -> double
 Computes the square root of the sum of the squares of x and y, without undue overflow or underflow at intermediate stages of the computation.
 
constexpr auto hypot (long double x, long double y) noexcept -> long double
 Computes the square root of the sum of the squares of x and y, without undue overflow or underflow at intermediate stages of the computation.
 
constexpr auto hypotl (long double x, long double y) noexcept -> long double
 Computes the square root of the sum of the squares of x and y, without undue overflow or underflow at intermediate stages of the computation.
 
constexpr auto hypot (float x, float y, float z) noexcept -> float
 Computes the square root of the sum of the squares of x and y, without undue overflow or underflow at intermediate stages of the computation.
 
constexpr auto hypot (double x, double y, double z) noexcept -> double
 Computes the square root of the sum of the squares of x and y, without undue overflow or underflow at intermediate stages of the computation.
 
constexpr auto hypot (long double x, long double y, long double z) noexcept -> long double
 Computes the square root of the sum of the squares of x and y, without undue overflow or underflow at intermediate stages of the computation.
 
constexpr auto log (float v) noexcept -> float
 Computes the natural (base e) logarithm of arg.
 
constexpr auto logf (float v) noexcept -> float
 Computes the natural (base e) logarithm of arg.
 
constexpr auto log (double v) noexcept -> double
 Computes the natural (base e) logarithm of arg.
 
constexpr auto log (long double v) noexcept -> long double
 Computes the natural (base e) logarithm of arg.
 
constexpr auto logl (long double v) noexcept -> long double
 Computes the natural (base e) logarithm of arg.
 
constexpr auto log (integral auto arg) noexcept -> double
 Computes the natural (base e) logarithm of arg.
 
constexpr auto log10 (float arg) noexcept -> float
 Computes the binary (base-10) logarithm of arg.
 
constexpr auto log10f (float arg) noexcept -> float
 Computes the binary (base-10) logarithm of arg.
 
constexpr auto log10 (double arg) noexcept -> double
 Computes the binary (base-10) logarithm of arg.
 
constexpr auto log10 (long double arg) noexcept -> long double
 Computes the binary (base-10) logarithm of arg.
 
constexpr auto log10l (long double arg) noexcept -> long double
 Computes the binary (base-10) logarithm of arg.
 
constexpr auto log10 (integral auto arg) noexcept -> double
 Computes the binary (base-10) logarithm of arg.
 
constexpr auto log1p (float v) noexcept -> float
 Computes the natural (base e) logarithm of 1+arg. This function is more precise than the expression etl::log(1+arg) if arg is close to zero.
 
constexpr auto log1pf (float v) noexcept -> float
 Computes the natural (base e) logarithm of 1+arg. This function is more precise than the expression etl::log(1+arg) if arg is close to zero.
 
constexpr auto log1p (double v) noexcept -> double
 Computes the natural (base e) logarithm of 1+arg. This function is more precise than the expression etl::log(1+arg) if arg is close to zero.
 
constexpr auto log1p (long double v) noexcept -> long double
 Computes the natural (base e) logarithm of 1+arg. This function is more precise than the expression etl::log(1+arg) if arg is close to zero.
 
constexpr auto log1pl (long double v) noexcept -> long double
 Computes the natural (base e) logarithm of 1+arg. This function is more precise than the expression etl::log(1+arg) if arg is close to zero.
 
constexpr auto log1p (integral auto arg) noexcept -> double
 Computes the natural (base e) logarithm of 1+arg. This function is more precise than the expression etl::log(1+arg) if arg is close to zero.
 
constexpr auto log2 (float arg) noexcept -> float
 Computes the binary (base-2) logarithm of arg.
 
constexpr auto log2f (float arg) noexcept -> float
 Computes the binary (base-2) logarithm of arg.
 
constexpr auto log2 (double arg) noexcept -> double
 Computes the binary (base-2) logarithm of arg.
 
constexpr auto log2 (long double arg) noexcept -> long double
 Computes the binary (base-2) logarithm of arg.
 
constexpr auto log2l (long double arg) noexcept -> long double
 Computes the binary (base-2) logarithm of arg.
 
constexpr auto log2 (integral auto arg) noexcept -> double
 Computes the binary (base-2) logarithm of arg.
 
constexpr auto nanf (char const *arg) noexcept -> float
 Converts the implementation-defined character string arg into the corresponding quiet NaN value.
 
constexpr auto nan (char const *arg) noexcept -> double
 Converts the implementation-defined character string arg into the corresponding quiet NaN value.
 
constexpr auto nanl (char const *arg) noexcept -> long double
 Converts the implementation-defined character string arg into the corresponding quiet NaN value.
 
constexpr auto nextafter (float from, float to) noexcept -> float
 Returns the next representable value of from in the direction of to. If from equals to, to is returned.
 
constexpr auto nextafterf (float from, float to) noexcept -> float
 Returns the next representable value of from in the direction of to. If from equals to, to is returned.
 
constexpr auto nextafter (double from, double to) noexcept -> double
 Returns the next representable value of from in the direction of to. If from equals to, to is returned.
 
constexpr auto round (float arg) noexcept -> float
 Computes the nearest integer value to arg (in floating-point format), rounding halfway cases away from zero, regardless of the current rounding mode.
 
constexpr auto roundf (float arg) noexcept -> float
 Computes the nearest integer value to arg (in floating-point format), rounding halfway cases away from zero, regardless of the current rounding mode.
 
constexpr auto round (double arg) noexcept -> double
 Computes the nearest integer value to arg (in floating-point format), rounding halfway cases away from zero, regardless of the current rounding mode.
 
constexpr auto round (long double arg) noexcept -> long double
 Computes the nearest integer value to arg (in floating-point format), rounding halfway cases away from zero, regardless of the current rounding mode.
 
constexpr auto roundl (long double arg) noexcept -> long double
 Computes the nearest integer value to arg (in floating-point format), rounding halfway cases away from zero, regardless of the current rounding mode.
 
constexpr auto round (integral auto arg) noexcept -> double
 Computes the nearest integer value to arg (in floating-point format), rounding halfway cases away from zero, regardless of the current rounding mode.
 
constexpr auto sin (float arg) noexcept -> float
 Computes the sine of arg (measured in radians).
 
constexpr auto sinf (float arg) noexcept -> float
 Computes the sine of arg (measured in radians).
 
constexpr auto sin (double arg) noexcept -> double
 Computes the sine of arg (measured in radians).
 
constexpr auto sin (long double arg) noexcept -> long double
 Computes the sine of arg (measured in radians).
 
constexpr auto sinl (long double arg) noexcept -> long double
 Computes the sine of arg (measured in radians).
 
constexpr auto sin (integral auto arg) noexcept -> double
 Computes the sine of arg (measured in radians).
 
constexpr auto tan (float arg) noexcept -> float
 Computes the tangent of arg (measured in radians).
 
constexpr auto tanf (float arg) noexcept -> float
 Computes the tangent of arg (measured in radians).
 
constexpr auto tan (double arg) noexcept -> double
 Computes the tangent of arg (measured in radians).
 
constexpr auto tan (long double arg) noexcept -> long double
 Computes the tangent of arg (measured in radians).
 
constexpr auto tanl (long double arg) noexcept -> long double
 Computes the tangent of arg (measured in radians).
 
constexpr auto tan (integral auto arg) noexcept -> double
 Computes the tangent of arg (measured in radians).
 
constexpr auto tanh (float arg) noexcept -> float
 Computes e (Euler's number, 2.7182...) raised to the given power arg.
 
constexpr auto tanhf (float arg) noexcept -> float
 Computes e (Euler's number, 2.7182...) raised to the given power arg.
 
constexpr auto tanh (double arg) noexcept -> double
 Computes e (Euler's number, 2.7182...) raised to the given power arg.
 
constexpr auto tanh (long double arg) noexcept -> long double
 Computes e (Euler's number, 2.7182...) raised to the given power arg.
 
constexpr auto tanhl (long double arg) noexcept -> long double
 Computes e (Euler's number, 2.7182...) raised to the given power arg.
 
constexpr auto tanh (integral auto arg) noexcept -> double
 Computes e (Euler's number, 2.7182...) raised to the given power arg.
 
constexpr auto tgamma (float arg) noexcept -> float
 Computes the gamma function of arg.
 
constexpr auto tgammaf (float arg) noexcept -> float
 Computes the gamma function of arg.
 
constexpr auto tgamma (double arg) noexcept -> double
 Computes the gamma function of arg.
 
constexpr auto tgamma (long double arg) noexcept -> long double
 Computes the gamma function of arg.
 
constexpr auto tgammal (long double arg) noexcept -> long double
 Computes the gamma function of arg.
 
constexpr auto tgamma (integral auto arg) noexcept -> double
 Computes the gamma function of arg.
 
constexpr auto trunc (float arg) noexcept -> float
 Computes the nearest integer not greater in magnitude than arg.
 
constexpr auto truncf (float arg) noexcept -> float
 Computes the nearest integer not greater in magnitude than arg.
 
constexpr auto trunc (double arg) noexcept -> double
 Computes the nearest integer not greater in magnitude than arg.
 
constexpr auto trunc (long double arg) noexcept -> long double
 Computes the nearest integer not greater in magnitude than arg.
 
constexpr auto truncl (long double arg) noexcept -> long double
 Computes the nearest integer not greater in magnitude than arg.
 
constexpr auto trunc (integral auto arg) noexcept -> double
 Computes the nearest integer not greater in magnitude than arg.
 

Detailed Description

Common mathematics functions.

Typedef Documentation

◆ double_t

using double_t = double

Most efficient floating-point type at least as wide as double.

◆ float_t

using float_t = float

Most efficient floating-point type at least as wide as float.

Function Documentation

◆ acos() [1/4]

auto acos ( double arg) -> double
nodiscardconstexprnoexcept

Computes the principal value of the arc cosine of arg.

https://en.cppreference.com/w/cpp/numeric/math/acos

◆ acos() [2/4]

auto acos ( float arg) -> float
nodiscardconstexprnoexcept

Computes the principal value of the arc cosine of arg.

https://en.cppreference.com/w/cpp/numeric/math/acos

◆ acos() [3/4]

auto acos ( integral auto arg) -> double
nodiscardconstexprnoexcept

Computes the principal value of the arc cosine of arg.

https://en.cppreference.com/w/cpp/numeric/math/acos

◆ acos() [4/4]

auto acos ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the principal value of the arc cosine of arg.

https://en.cppreference.com/w/cpp/numeric/math/acos

◆ acosf()

auto acosf ( float arg) -> float
nodiscardconstexprnoexcept

Computes the principal value of the arc cosine of arg.

https://en.cppreference.com/w/cpp/numeric/math/acos

◆ acosh() [1/4]

auto acosh ( double arg) -> double
nodiscardconstexprnoexcept

Computes the inverse hyperbolic cosine of arg.

https://en.cppreference.com/w/cpp/numeric/math/acosh

◆ acosh() [2/4]

auto acosh ( float arg) -> float
nodiscardconstexprnoexcept

Computes the inverse hyperbolic cosine of arg.

https://en.cppreference.com/w/cpp/numeric/math/acosh

◆ acosh() [3/4]

auto acosh ( integral auto arg) -> double
nodiscardconstexprnoexcept

Computes the inverse hyperbolic cosine of arg.

https://en.cppreference.com/w/cpp/numeric/math/acosh

◆ acosh() [4/4]

auto acosh ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the inverse hyperbolic cosine of arg.

https://en.cppreference.com/w/cpp/numeric/math/acosh

◆ acoshf()

auto acoshf ( float arg) -> float
nodiscardconstexprnoexcept

Computes the inverse hyperbolic cosine of arg.

https://en.cppreference.com/w/cpp/numeric/math/acosh

◆ acoshl()

auto acoshl ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the inverse hyperbolic cosine of arg.

https://en.cppreference.com/w/cpp/numeric/math/acosh

◆ acosl()

auto acosl ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the principal value of the arc cosine of arg.

https://en.cppreference.com/w/cpp/numeric/math/acos

◆ asin() [1/4]

auto asin ( double arg) -> double
nodiscardconstexprnoexcept

Computes the principal value of the arc sine of arg.

https://en.cppreference.com/w/cpp/numeric/math/asin

◆ asin() [2/4]

auto asin ( float arg) -> float
nodiscardconstexprnoexcept

Computes the principal value of the arc sine of arg.

https://en.cppreference.com/w/cpp/numeric/math/asin

◆ asin() [3/4]

auto asin ( integral auto arg) -> double
nodiscardconstexprnoexcept

Computes the principal value of the arc sine of arg.

https://en.cppreference.com/w/cpp/numeric/math/asin

◆ asin() [4/4]

auto asin ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the principal value of the arc sine of arg.

https://en.cppreference.com/w/cpp/numeric/math/asin

◆ asinf()

auto asinf ( float arg) -> float
nodiscardconstexprnoexcept

Computes the principal value of the arc sine of arg.

https://en.cppreference.com/w/cpp/numeric/math/asin

◆ asinh() [1/4]

auto asinh ( double arg) -> double
nodiscardconstexprnoexcept

Computes the inverse hyperbolic sine of arg.

https://en.cppreference.com/w/cpp/numeric/math/asinh

◆ asinh() [2/4]

auto asinh ( float arg) -> float
nodiscardconstexprnoexcept

Computes the inverse hyperbolic sine of arg.

https://en.cppreference.com/w/cpp/numeric/math/asinh

◆ asinh() [3/4]

auto asinh ( integral auto arg) -> double
nodiscardconstexprnoexcept

Computes the inverse hyperbolic sine of arg.

https://en.cppreference.com/w/cpp/numeric/math/asinh

◆ asinh() [4/4]

auto asinh ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the inverse hyperbolic sine of arg.

https://en.cppreference.com/w/cpp/numeric/math/asinh

◆ asinhf()

auto asinhf ( float arg) -> float
nodiscardconstexprnoexcept

Computes the inverse hyperbolic sine of arg.

https://en.cppreference.com/w/cpp/numeric/math/asinh

◆ asinhl()

auto asinhl ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the inverse hyperbolic sine of arg.

https://en.cppreference.com/w/cpp/numeric/math/asinh

◆ asinl()

auto asinl ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the principal value of the arc sine of arg.

https://en.cppreference.com/w/cpp/numeric/math/asin

◆ atan() [1/4]

auto atan ( double arg) -> double
nodiscardconstexprnoexcept

Computes the principal value of the arc tangent of arg.

https://en.cppreference.com/w/cpp/numeric/math/atan

◆ atan() [2/4]

auto atan ( float arg) -> float
nodiscardconstexprnoexcept

Computes the principal value of the arc tangent of arg.

https://en.cppreference.com/w/cpp/numeric/math/atan

◆ atan() [3/4]

auto atan ( integral auto arg) -> double
nodiscardconstexprnoexcept

Computes the principal value of the arc tangent of arg.

https://en.cppreference.com/w/cpp/numeric/math/atan

◆ atan() [4/4]

auto atan ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the principal value of the arc tangent of arg.

https://en.cppreference.com/w/cpp/numeric/math/atan

◆ atan2() [1/3]

auto atan2 ( double x,
double y ) -> double
nodiscardconstexprnoexcept

Computes the arc tangent of y/x using the signs of arguments to determine the correct quadrant.

https://en.cppreference.com/w/cpp/numeric/math/atan2

◆ atan2() [2/3]

auto atan2 ( float x,
float y ) -> float
nodiscardconstexprnoexcept

Computes the arc tangent of y/x using the signs of arguments to determine the correct quadrant.

https://en.cppreference.com/w/cpp/numeric/math/atan2

◆ atan2() [3/3]

auto atan2 ( long double x,
long double y ) -> long double
nodiscardconstexprnoexcept

Computes the arc tangent of y/x using the signs of arguments to determine the correct quadrant.

https://en.cppreference.com/w/cpp/numeric/math/atan2

◆ atan2f()

auto atan2f ( float x,
float y ) -> float
nodiscardconstexprnoexcept

Computes the arc tangent of y/x using the signs of arguments to determine the correct quadrant.

https://en.cppreference.com/w/cpp/numeric/math/atan2

◆ atan2l()

auto atan2l ( long double x,
long double y ) -> long double
nodiscardconstexprnoexcept

Computes the arc tangent of y/x using the signs of arguments to determine the correct quadrant.

https://en.cppreference.com/w/cpp/numeric/math/atan2

◆ atanf()

auto atanf ( float arg) -> float
nodiscardconstexprnoexcept

Computes the principal value of the arc tangent of arg.

https://en.cppreference.com/w/cpp/numeric/math/atan

◆ atanh() [1/4]

auto atanh ( double arg) -> double
nodiscardconstexprnoexcept

Computes the inverse hyperbolic tangent of arg.

https://en.cppreference.com/w/cpp/numeric/math/atanh

◆ atanh() [2/4]

auto atanh ( float arg) -> float
nodiscardconstexprnoexcept

Computes the inverse hyperbolic tangent of arg.

https://en.cppreference.com/w/cpp/numeric/math/atanh

◆ atanh() [3/4]

auto atanh ( integral auto arg) -> double
nodiscardconstexprnoexcept

Computes the inverse hyperbolic tangent of arg.

https://en.cppreference.com/w/cpp/numeric/math/atanh

◆ atanh() [4/4]

auto atanh ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the inverse hyperbolic tangent of arg.

https://en.cppreference.com/w/cpp/numeric/math/atanh

◆ atanhf()

auto atanhf ( float arg) -> float
nodiscardconstexprnoexcept

Computes the inverse hyperbolic tangent of arg.

https://en.cppreference.com/w/cpp/numeric/math/atanh

◆ atanhl()

auto atanhl ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the inverse hyperbolic tangent of arg.

https://en.cppreference.com/w/cpp/numeric/math/atanh

◆ atanl()

auto atanl ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the principal value of the arc tangent of arg.

https://en.cppreference.com/w/cpp/numeric/math/atan

◆ beta()

auto beta ( double x,
double y ) -> double
nodiscardconstexprnoexcept

◆ betaf()

auto betaf ( float x,
float y ) -> float
nodiscardconstexprnoexcept

◆ betal()

auto betal ( long double x,
long double y ) -> long double
nodiscardconstexprnoexcept

◆ ceil() [1/4]

auto ceil ( double arg) -> double
nodiscardconstexprnoexcept

Computes the smallest integer value not less than arg.

https://en.cppreference.com/w/cpp/numeric/math/ceil

◆ ceil() [2/4]

auto ceil ( float arg) -> float
nodiscardconstexprnoexcept

Computes the smallest integer value not less than arg.

https://en.cppreference.com/w/cpp/numeric/math/ceil

◆ ceil() [3/4]

auto ceil ( integral auto arg) -> double
nodiscardconstexprnoexcept

Computes the smallest integer value not less than arg.

https://en.cppreference.com/w/cpp/numeric/math/ceil

◆ ceil() [4/4]

auto ceil ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the smallest integer value not less than arg.

https://en.cppreference.com/w/cpp/numeric/math/ceil

◆ ceilf()

auto ceilf ( float arg) -> float
nodiscardconstexprnoexcept

Computes the smallest integer value not less than arg.

https://en.cppreference.com/w/cpp/numeric/math/ceil

◆ ceill()

auto ceill ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the smallest integer value not less than arg.

https://en.cppreference.com/w/cpp/numeric/math/ceil

◆ copysign() [1/3]

auto copysign ( double mag,
double sgn ) -> double
nodiscardconstexpr

Composes a floating point value with the magnitude of mag and the sign of sgn.

etl::copysign is the only portable way to manipulate the sign of a NaN value (to examine the sign of a NaN, signbit may also be used)

https://en.cppreference.com/w/cpp/numeric/math/copysign

Returns
If no errors occur, the floating point value with the magnitude of mag and the sign of sgn is returned. If mag is NaN, then NaN with the sign of sgn is returned. If sgn is -0, the result is only negative if the implementation supports the signed zero consistently in arithmetic operations.

◆ copysign() [2/3]

auto copysign ( float mag,
float sgn ) -> float
nodiscardconstexpr

Composes a floating point value with the magnitude of mag and the sign of sgn.

etl::copysign is the only portable way to manipulate the sign of a NaN value (to examine the sign of a NaN, signbit may also be used)

https://en.cppreference.com/w/cpp/numeric/math/copysign

Returns
If no errors occur, the floating point value with the magnitude of mag and the sign of sgn is returned. If mag is NaN, then NaN with the sign of sgn is returned. If sgn is -0, the result is only negative if the implementation supports the signed zero consistently in arithmetic operations.

◆ copysign() [3/3]

auto copysign ( long double mag,
long double sgn ) -> long double
nodiscardconstexpr

Composes a floating point value with the magnitude of mag and the sign of sgn.

etl::copysign is the only portable way to manipulate the sign of a NaN value (to examine the sign of a NaN, signbit may also be used)

https://en.cppreference.com/w/cpp/numeric/math/copysign

Returns
If no errors occur, the floating point value with the magnitude of mag and the sign of sgn is returned. If mag is NaN, then NaN with the sign of sgn is returned. If sgn is -0, the result is only negative if the implementation supports the signed zero consistently in arithmetic operations.

◆ copysignf()

auto copysignf ( float mag,
float sgn ) -> float
nodiscardconstexpr

Composes a floating point value with the magnitude of mag and the sign of sgn.

etl::copysign is the only portable way to manipulate the sign of a NaN value (to examine the sign of a NaN, signbit may also be used)

https://en.cppreference.com/w/cpp/numeric/math/copysign

Returns
If no errors occur, the floating point value with the magnitude of mag and the sign of sgn is returned. If mag is NaN, then NaN with the sign of sgn is returned. If sgn is -0, the result is only negative if the implementation supports the signed zero consistently in arithmetic operations.

◆ copysignl()

auto copysignl ( long double mag,
long double sgn ) -> long double
nodiscardconstexpr

Composes a floating point value with the magnitude of mag and the sign of sgn.

etl::copysign is the only portable way to manipulate the sign of a NaN value (to examine the sign of a NaN, signbit may also be used)

https://en.cppreference.com/w/cpp/numeric/math/copysign

Returns
If no errors occur, the floating point value with the magnitude of mag and the sign of sgn is returned. If mag is NaN, then NaN with the sign of sgn is returned. If sgn is -0, the result is only negative if the implementation supports the signed zero consistently in arithmetic operations.

◆ cos() [1/4]

auto cos ( double arg) -> double
nodiscardconstexprnoexcept

Computes the cosine of arg (measured in radians).

https://en.cppreference.com/w/cpp/numeric/math/cos

◆ cos() [2/4]

auto cos ( float arg) -> float
nodiscardconstexprnoexcept

Computes the cosine of arg (measured in radians).

https://en.cppreference.com/w/cpp/numeric/math/cos

◆ cos() [3/4]

auto cos ( integral auto arg) -> double
nodiscardconstexprnoexcept

Computes the cosine of arg (measured in radians).

https://en.cppreference.com/w/cpp/numeric/math/cos

◆ cos() [4/4]

auto cos ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the cosine of arg (measured in radians).

https://en.cppreference.com/w/cpp/numeric/math/cos

◆ cosf()

auto cosf ( float arg) -> float
nodiscardconstexprnoexcept

Computes the cosine of arg (measured in radians).

https://en.cppreference.com/w/cpp/numeric/math/cos

◆ cosh() [1/4]

auto cosh ( double arg) -> double
nodiscardconstexprnoexcept

Computes the hyperbolic cosine of arg.

https://en.cppreference.com/w/cpp/numeric/math/cosh

◆ cosh() [2/4]

auto cosh ( float arg) -> float
nodiscardconstexprnoexcept

Computes the hyperbolic cosine of arg.

https://en.cppreference.com/w/cpp/numeric/math/cosh

◆ cosh() [3/4]

auto cosh ( integral auto arg) -> double
nodiscardconstexprnoexcept

Computes the hyperbolic cosine of arg.

https://en.cppreference.com/w/cpp/numeric/math/cosh

◆ cosh() [4/4]

auto cosh ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the hyperbolic cosine of arg.

https://en.cppreference.com/w/cpp/numeric/math/cosh

◆ coshf()

auto coshf ( float arg) -> float
nodiscardconstexprnoexcept

Computes the hyperbolic cosine of arg.

https://en.cppreference.com/w/cpp/numeric/math/cosh

◆ coshl()

auto coshl ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the hyperbolic cosine of arg.

https://en.cppreference.com/w/cpp/numeric/math/cosh

◆ cosl()

auto cosl ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the cosine of arg (measured in radians).

https://en.cppreference.com/w/cpp/numeric/math/cos

◆ erf() [1/4]

auto erf ( double arg) -> double
nodiscardconstexprnoexcept

Computes the error function of arg.

https://en.cppreference.com/w/cpp/numeric/math/erf

◆ erf() [2/4]

auto erf ( float arg) -> float
nodiscardconstexprnoexcept

Computes the error function of arg.

https://en.cppreference.com/w/cpp/numeric/math/erf

◆ erf() [3/4]

auto erf ( integral auto arg) -> double
nodiscardconstexprnoexcept

Computes the error function of arg.

https://en.cppreference.com/w/cpp/numeric/math/erf

◆ erf() [4/4]

auto erf ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the error function of arg.

https://en.cppreference.com/w/cpp/numeric/math/erf

◆ erff()

auto erff ( float arg) -> float
nodiscardconstexprnoexcept

Computes the error function of arg.

https://en.cppreference.com/w/cpp/numeric/math/erf

◆ erfl()

auto erfl ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the error function of arg.

https://en.cppreference.com/w/cpp/numeric/math/erf

◆ exp() [1/4]

auto exp ( double arg) -> double
nodiscardconstexprnoexcept

Computes e (Euler's number, 2.7182...) raised to the given power arg.

https://en.cppreference.com/w/cpp/numeric/math/exp

◆ exp() [2/4]

auto exp ( float arg) -> float
nodiscardconstexprnoexcept

Computes e (Euler's number, 2.7182...) raised to the given power arg.

https://en.cppreference.com/w/cpp/numeric/math/exp

◆ exp() [3/4]

auto exp ( integral auto arg) -> double
nodiscardconstexprnoexcept

Computes e (Euler's number, 2.7182...) raised to the given power arg.

https://en.cppreference.com/w/cpp/numeric/math/exp

◆ exp() [4/4]

auto exp ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes e (Euler's number, 2.7182...) raised to the given power arg.

https://en.cppreference.com/w/cpp/numeric/math/exp

◆ expf()

auto expf ( float arg) -> float
nodiscardconstexprnoexcept

Computes e (Euler's number, 2.7182...) raised to the given power arg.

https://en.cppreference.com/w/cpp/numeric/math/exp

◆ expl()

auto expl ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes e (Euler's number, 2.7182...) raised to the given power arg.

https://en.cppreference.com/w/cpp/numeric/math/exp

◆ fdim() [1/3]

auto fdim ( double x,
double y ) -> double
nodiscardconstexprnoexcept

Returns the positive difference between x and y, that is, if x>y, returns x-y, otherwise (if x≤y), returns +0.

https://en.cppreference.com/w/cpp/numeric/math/fdim

◆ fdim() [2/3]

auto fdim ( float x,
float y ) -> float
nodiscardconstexprnoexcept

Returns the positive difference between x and y, that is, if x>y, returns x-y, otherwise (if x≤y), returns +0.

https://en.cppreference.com/w/cpp/numeric/math/fdim

◆ fdim() [3/3]

auto fdim ( long double x,
long double y ) -> long double
nodiscardconstexprnoexcept

Returns the positive difference between x and y, that is, if x>y, returns x-y, otherwise (if x≤y), returns +0.

https://en.cppreference.com/w/cpp/numeric/math/fdim

◆ fdimf()

auto fdimf ( float x,
float y ) -> float
nodiscardconstexprnoexcept

Returns the positive difference between x and y, that is, if x>y, returns x-y, otherwise (if x≤y), returns +0.

https://en.cppreference.com/w/cpp/numeric/math/fdim

◆ fdiml()

auto fdiml ( long double x,
long double y ) -> long double
nodiscardconstexprnoexcept

Returns the positive difference between x and y, that is, if x>y, returns x-y, otherwise (if x≤y), returns +0.

https://en.cppreference.com/w/cpp/numeric/math/fdim

◆ floor() [1/4]

auto floor ( double arg) -> double
nodiscardconstexprnoexcept

Computes the largest integer value not greater than arg.

https://en.cppreference.com/w/cpp/numeric/math/floor

◆ floor() [2/4]

auto floor ( float arg) -> float
nodiscardconstexprnoexcept

Computes the largest integer value not greater than arg.

https://en.cppreference.com/w/cpp/numeric/math/floor

◆ floor() [3/4]

auto floor ( integral auto arg) -> double
nodiscardconstexprnoexcept

Computes the largest integer value not greater than arg.

https://en.cppreference.com/w/cpp/numeric/math/floor

◆ floor() [4/4]

auto floor ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the largest integer value not greater than arg.

https://en.cppreference.com/w/cpp/numeric/math/floor

◆ floorf()

auto floorf ( float arg) -> float
nodiscardconstexprnoexcept

Computes the largest integer value not greater than arg.

https://en.cppreference.com/w/cpp/numeric/math/floor

◆ floorl()

auto floorl ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the largest integer value not greater than arg.

https://en.cppreference.com/w/cpp/numeric/math/floor

◆ fma() [1/3]

auto fma ( double x,
double y,
double z ) -> double
nodiscardconstexprnoexcept

Computes (x*y) + z as if to infinite precision and rounded only once to fit the result type.

https://en.cppreference.com/w/cpp/numeric/math/fma

◆ fma() [2/3]

auto fma ( float x,
float y,
float z ) -> float
nodiscardconstexprnoexcept

Computes (x*y) + z as if to infinite precision and rounded only once to fit the result type.

https://en.cppreference.com/w/cpp/numeric/math/fma

◆ fma() [3/3]

auto fma ( long double x,
long double y,
long double z ) -> long double
nodiscardconstexprnoexcept

Computes (x*y) + z as if to infinite precision and rounded only once to fit the result type.

https://en.cppreference.com/w/cpp/numeric/math/fma

◆ fmaf()

auto fmaf ( float x,
float y,
float z ) -> float
nodiscardconstexprnoexcept

Computes (x*y) + z as if to infinite precision and rounded only once to fit the result type.

https://en.cppreference.com/w/cpp/numeric/math/fma

◆ fmal()

auto fmal ( long double x,
long double y,
long double z ) -> long double
nodiscardconstexprnoexcept

Computes (x*y) + z as if to infinite precision and rounded only once to fit the result type.

https://en.cppreference.com/w/cpp/numeric/math/fma

◆ fmax() [1/3]

auto fmax ( double x,
double y ) -> double
nodiscardconstexprnoexcept

Returns the larger of two floating point arguments, treating NaNs as missing data (between a NaN and a numeric value, the numeric value is chosen)

https://en.cppreference.com/w/cpp/numeric/math/fmax

◆ fmax() [2/3]

auto fmax ( float x,
float y ) -> float
nodiscardconstexprnoexcept

Returns the larger of two floating point arguments, treating NaNs as missing data (between a NaN and a numeric value, the numeric value is chosen)

https://en.cppreference.com/w/cpp/numeric/math/fmax

◆ fmax() [3/3]

auto fmax ( long double x,
long double y ) -> long double
nodiscardconstexprnoexcept

Returns the larger of two floating point arguments, treating NaNs as missing data (between a NaN and a numeric value, the numeric value is chosen)

https://en.cppreference.com/w/cpp/numeric/math/fmax

◆ fmaxf()

auto fmaxf ( float x,
float y ) -> float
nodiscardconstexprnoexcept

Returns the larger of two floating point arguments, treating NaNs as missing data (between a NaN and a numeric value, the numeric value is chosen)

https://en.cppreference.com/w/cpp/numeric/math/fmax

◆ fmaxl()

auto fmaxl ( long double x,
long double y ) -> long double
nodiscardconstexprnoexcept

Returns the larger of two floating point arguments, treating NaNs as missing data (between a NaN and a numeric value, the numeric value is chosen)

https://en.cppreference.com/w/cpp/numeric/math/fmax

◆ fmin() [1/3]

auto fmin ( double x,
double y ) -> double
nodiscardconstexprnoexcept

Returns the smaller of two floating point arguments, treating NaNs as missing data (between a NaN and a numeric value, the numeric value is chosen)

https://en.cppreference.com/w/cpp/numeric/math/fmin

◆ fmin() [2/3]

auto fmin ( float x,
float y ) -> float
nodiscardconstexprnoexcept

Returns the smaller of two floating point arguments, treating NaNs as missing data (between a NaN and a numeric value, the numeric value is chosen)

https://en.cppreference.com/w/cpp/numeric/math/fmin

◆ fmin() [3/3]

auto fmin ( long double x,
long double y ) -> long double
nodiscardconstexprnoexcept

Returns the smaller of two floating point arguments, treating NaNs as missing data (between a NaN and a numeric value, the numeric value is chosen)

https://en.cppreference.com/w/cpp/numeric/math/fmin

◆ fminf()

auto fminf ( float x,
float y ) -> float
nodiscardconstexprnoexcept

Returns the smaller of two floating point arguments, treating NaNs as missing data (between a NaN and a numeric value, the numeric value is chosen)

https://en.cppreference.com/w/cpp/numeric/math/fmin

◆ fminl()

auto fminl ( long double x,
long double y ) -> long double
nodiscardconstexprnoexcept

Returns the smaller of two floating point arguments, treating NaNs as missing data (between a NaN and a numeric value, the numeric value is chosen)

https://en.cppreference.com/w/cpp/numeric/math/fmin

◆ fmod() [1/3]

auto fmod ( double x,
double y ) -> double
nodiscardconstexprnoexcept

Computes the floating-point remainder of the division operation x/y.

https://en.cppreference.com/w/cpp/numeric/math/fmod

◆ fmod() [2/3]

auto fmod ( float x,
float y ) -> float
nodiscardconstexprnoexcept

Computes the floating-point remainder of the division operation x/y.

https://en.cppreference.com/w/cpp/numeric/math/fmod

◆ fmod() [3/3]

auto fmod ( long double x,
long double y ) -> long double
nodiscardconstexprnoexcept

Computes the floating-point remainder of the division operation x/y.

https://en.cppreference.com/w/cpp/numeric/math/fmod

◆ fmodf()

auto fmodf ( float x,
float y ) -> float
nodiscardconstexprnoexcept

Computes the floating-point remainder of the division operation x/y.

https://en.cppreference.com/w/cpp/numeric/math/fmod

◆ fmodl()

auto fmodl ( long double x,
long double y ) -> long double
nodiscardconstexprnoexcept

Computes the floating-point remainder of the division operation x/y.

https://en.cppreference.com/w/cpp/numeric/math/fmod

◆ hypot() [1/6]

auto hypot ( double x,
double y ) -> double
nodiscardconstexprnoexcept

Computes the square root of the sum of the squares of x and y, without undue overflow or underflow at intermediate stages of the computation.

  • hypot(x,y) is INF if x or y is +INF or -INF; else
  • hypot(x,y) is NAN if x or y is NAN.

https://en.cppreference.com/w/cpp/numeric/math/hypot

◆ hypot() [2/6]

auto hypot ( double x,
double y,
double z ) -> double
nodiscardconstexprnoexcept

Computes the square root of the sum of the squares of x and y, without undue overflow or underflow at intermediate stages of the computation.

  • hypot(x,y) is INF if x or y is +INF or -INF; else
  • hypot(x,y) is NAN if x or y is NAN.

https://en.cppreference.com/w/cpp/numeric/math/hypot

◆ hypot() [3/6]

auto hypot ( float x,
float y ) -> float
nodiscardconstexprnoexcept

Computes the square root of the sum of the squares of x and y, without undue overflow or underflow at intermediate stages of the computation.

  • hypot(x,y) is INF if x or y is +INF or -INF; else
  • hypot(x,y) is NAN if x or y is NAN.

https://en.cppreference.com/w/cpp/numeric/math/hypot

◆ hypot() [4/6]

auto hypot ( float x,
float y,
float z ) -> float
nodiscardconstexprnoexcept

Computes the square root of the sum of the squares of x and y, without undue overflow or underflow at intermediate stages of the computation.

  • hypot(x,y) is INF if x or y is +INF or -INF; else
  • hypot(x,y) is NAN if x or y is NAN.

https://en.cppreference.com/w/cpp/numeric/math/hypot

◆ hypot() [5/6]

auto hypot ( long double x,
long double y ) -> long double
nodiscardconstexprnoexcept

Computes the square root of the sum of the squares of x and y, without undue overflow or underflow at intermediate stages of the computation.

  • hypot(x,y) is INF if x or y is +INF or -INF; else
  • hypot(x,y) is NAN if x or y is NAN.

https://en.cppreference.com/w/cpp/numeric/math/hypot

◆ hypot() [6/6]

auto hypot ( long double x,
long double y,
long double z ) -> long double
nodiscardconstexprnoexcept

Computes the square root of the sum of the squares of x and y, without undue overflow or underflow at intermediate stages of the computation.

  • hypot(x,y) is INF if x or y is +INF or -INF; else
  • hypot(x,y) is NAN if x or y is NAN.

https://en.cppreference.com/w/cpp/numeric/math/hypot

◆ hypotf()

auto hypotf ( float x,
float y ) -> float
nodiscardconstexprnoexcept

Computes the square root of the sum of the squares of x and y, without undue overflow or underflow at intermediate stages of the computation.

  • hypot(x,y) is INF if x or y is +INF or -INF; else
  • hypot(x,y) is NAN if x or y is NAN.

https://en.cppreference.com/w/cpp/numeric/math/hypot

◆ hypotl()

auto hypotl ( long double x,
long double y ) -> long double
nodiscardconstexprnoexcept

Computes the square root of the sum of the squares of x and y, without undue overflow or underflow at intermediate stages of the computation.

  • hypot(x,y) is INF if x or y is +INF or -INF; else
  • hypot(x,y) is NAN if x or y is NAN.

https://en.cppreference.com/w/cpp/numeric/math/hypot

◆ isfinite() [1/3]

auto isfinite ( double arg) -> bool
nodiscardconstexpr

◆ isfinite() [2/3]

auto isfinite ( float arg) -> bool
nodiscardconstexpr

Determines if the given floating point number arg has finite value i.e. it is normal, subnormal or zero, but not infinite or NaN.

https://en.cppreference.com/w/cpp/numeric/math/isfinite

◆ isfinite() [3/3]

auto isfinite ( long double arg) -> bool
nodiscardconstexpr

◆ isinf() [1/4]

auto isinf ( double arg) -> bool
nodiscardconstexpr

◆ isinf() [2/4]

auto isinf ( float arg) -> bool
nodiscardconstexpr

Determines if the given floating point number arg is a positive or negative infinity.

https://en.cppreference.com/w/cpp/numeric/math/isinf

◆ isinf() [3/4]

template<etl::integral Int>
auto isinf ( Int arg) -> bool
nodiscardconstexpr

◆ isinf() [4/4]

auto isinf ( long double arg) -> bool
nodiscardconstexpr

◆ isnan() [1/4]

auto isnan ( double arg) -> bool
nodiscardconstexpr

◆ isnan() [2/4]

auto isnan ( float arg) -> bool
nodiscardconstexpr

Determines if the given floating point number arg is a not-a-number (NaN) value.

https://en.cppreference.com/w/cpp/numeric/math/isnan

◆ isnan() [3/4]

template<integral Int>
auto isnan ( Int arg) -> bool
nodiscardconstexpr

Determines if the given floating point number arg is a not-a-number (NaN) value.

https://en.cppreference.com/w/cpp/numeric/math/isnan

◆ isnan() [4/4]

auto isnan ( long double arg) -> bool
nodiscardconstexpr

◆ lerp()

template<floating_point Float>
auto lerp ( Float a,
Float b,
Float t ) -> Float
nodiscardconstexprnoexcept

Computes a+t(b−a), i.e. the linear interpolation between a and b for the parameter t (or extrapolation, when t is outside the range [0,1]).

https://en.cppreference.com/w/cpp/numeric/lerp

◆ lgamma() [1/4]

auto lgamma ( double arg) -> double
nodiscardconstexprnoexcept

Computes the natural logarithm of the absolute value of the gamma function of arg.

https://en.cppreference.com/w/cpp/numeric/math/lgamma

◆ lgamma() [2/4]

auto lgamma ( float arg) -> float
nodiscardconstexprnoexcept

Computes the natural logarithm of the absolute value of the gamma function of arg.

https://en.cppreference.com/w/cpp/numeric/math/lgamma

◆ lgamma() [3/4]

auto lgamma ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the natural logarithm of the absolute value of the gamma function of arg.

https://en.cppreference.com/w/cpp/numeric/math/lgamma

◆ lgamma() [4/4]

template<integral T>
auto lgamma ( T arg) -> double
nodiscardconstexprnoexcept

Computes the natural logarithm of the absolute value of the gamma function of arg.

https://en.cppreference.com/w/cpp/numeric/math/lgamma

◆ lgammaf()

auto lgammaf ( float arg) -> float
nodiscardconstexprnoexcept

Computes the natural logarithm of the absolute value of the gamma function of arg.

https://en.cppreference.com/w/cpp/numeric/math/lgamma

◆ lgammal()

auto lgammal ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the natural logarithm of the absolute value of the gamma function of arg.

https://en.cppreference.com/w/cpp/numeric/math/lgamma

◆ llrint() [1/4]

auto llrint ( double arg) -> long long
nodiscardconstexprnoexcept

Rounds the floating-point argument arg to an integer value, using the current rounding mode.

◆ llrint() [2/4]

auto llrint ( float arg) -> long long
nodiscardconstexprnoexcept

Rounds the floating-point argument arg to an integer value, using the current rounding mode.

◆ llrint() [3/4]

auto llrint ( long double arg) -> long long
nodiscardconstexprnoexcept

Rounds the floating-point argument arg to an integer value, using the current rounding mode.

◆ llrint() [4/4]

template<integral T>
auto llrint ( T arg) -> long long
nodiscardconstexprnoexcept

Rounds the floating-point argument arg to an integer value, using the current rounding mode.

◆ llrintf()

auto llrintf ( float arg) -> long long
nodiscardconstexprnoexcept

Rounds the floating-point argument arg to an integer value, using the current rounding mode.

◆ llrintl()

auto llrintl ( long double arg) -> long long
nodiscardconstexprnoexcept

Rounds the floating-point argument arg to an integer value, using the current rounding mode.

◆ log() [1/4]

auto log ( double v) -> double
nodiscardconstexprnoexcept

Computes the natural (base e) logarithm of arg.

https://en.cppreference.com/w/cpp/numeric/math/log

◆ log() [2/4]

auto log ( float v) -> float
nodiscardconstexprnoexcept

Computes the natural (base e) logarithm of arg.

https://en.cppreference.com/w/cpp/numeric/math/log

◆ log() [3/4]

auto log ( integral auto arg) -> double
nodiscardconstexprnoexcept

Computes the natural (base e) logarithm of arg.

https://en.cppreference.com/w/cpp/numeric/math/log

◆ log() [4/4]

auto log ( long double v) -> long double
nodiscardconstexprnoexcept

Computes the natural (base e) logarithm of arg.

https://en.cppreference.com/w/cpp/numeric/math/log

◆ log10() [1/4]

auto log10 ( double arg) -> double
nodiscardconstexprnoexcept

Computes the binary (base-10) logarithm of arg.

https://en.cppreference.com/w/cpp/numeric/math/log10

◆ log10() [2/4]

auto log10 ( float arg) -> float
nodiscardconstexprnoexcept

Computes the binary (base-10) logarithm of arg.

https://en.cppreference.com/w/cpp/numeric/math/log10

◆ log10() [3/4]

auto log10 ( integral auto arg) -> double
nodiscardconstexprnoexcept

Computes the binary (base-10) logarithm of arg.

https://en.cppreference.com/w/cpp/numeric/math/log10

◆ log10() [4/4]

auto log10 ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the binary (base-10) logarithm of arg.

https://en.cppreference.com/w/cpp/numeric/math/log10

◆ log10f()

auto log10f ( float arg) -> float
nodiscardconstexprnoexcept

Computes the binary (base-10) logarithm of arg.

https://en.cppreference.com/w/cpp/numeric/math/log10

◆ log10l()

auto log10l ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the binary (base-10) logarithm of arg.

https://en.cppreference.com/w/cpp/numeric/math/log10

◆ log1p() [1/4]

auto log1p ( double v) -> double
nodiscardconstexprnoexcept

Computes the natural (base e) logarithm of 1+arg. This function is more precise than the expression etl::log(1+arg) if arg is close to zero.

https://en.cppreference.com/w/cpp/numeric/math/log1p

◆ log1p() [2/4]

auto log1p ( float v) -> float
nodiscardconstexprnoexcept

Computes the natural (base e) logarithm of 1+arg. This function is more precise than the expression etl::log(1+arg) if arg is close to zero.

https://en.cppreference.com/w/cpp/numeric/math/log1p

◆ log1p() [3/4]

auto log1p ( integral auto arg) -> double
nodiscardconstexprnoexcept

Computes the natural (base e) logarithm of 1+arg. This function is more precise than the expression etl::log(1+arg) if arg is close to zero.

https://en.cppreference.com/w/cpp/numeric/math/log1p

◆ log1p() [4/4]

auto log1p ( long double v) -> long double
nodiscardconstexprnoexcept

Computes the natural (base e) logarithm of 1+arg. This function is more precise than the expression etl::log(1+arg) if arg is close to zero.

https://en.cppreference.com/w/cpp/numeric/math/log1p

◆ log1pf()

auto log1pf ( float v) -> float
nodiscardconstexprnoexcept

Computes the natural (base e) logarithm of 1+arg. This function is more precise than the expression etl::log(1+arg) if arg is close to zero.

https://en.cppreference.com/w/cpp/numeric/math/log1p

◆ log1pl()

auto log1pl ( long double v) -> long double
nodiscardconstexprnoexcept

Computes the natural (base e) logarithm of 1+arg. This function is more precise than the expression etl::log(1+arg) if arg is close to zero.

https://en.cppreference.com/w/cpp/numeric/math/log1p

◆ log2() [1/4]

auto log2 ( double arg) -> double
nodiscardconstexprnoexcept

Computes the binary (base-2) logarithm of arg.

https://en.cppreference.com/w/cpp/numeric/math/log2

◆ log2() [2/4]

auto log2 ( float arg) -> float
nodiscardconstexprnoexcept

Computes the binary (base-2) logarithm of arg.

https://en.cppreference.com/w/cpp/numeric/math/log2

◆ log2() [3/4]

auto log2 ( integral auto arg) -> double
nodiscardconstexprnoexcept

Computes the binary (base-2) logarithm of arg.

https://en.cppreference.com/w/cpp/numeric/math/log2

◆ log2() [4/4]

auto log2 ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the binary (base-2) logarithm of arg.

https://en.cppreference.com/w/cpp/numeric/math/log2

◆ log2f()

auto log2f ( float arg) -> float
nodiscardconstexprnoexcept

Computes the binary (base-2) logarithm of arg.

https://en.cppreference.com/w/cpp/numeric/math/log2

◆ log2l()

auto log2l ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the binary (base-2) logarithm of arg.

https://en.cppreference.com/w/cpp/numeric/math/log2

◆ logf()

auto logf ( float v) -> float
nodiscardconstexprnoexcept

Computes the natural (base e) logarithm of arg.

https://en.cppreference.com/w/cpp/numeric/math/log

◆ logl()

auto logl ( long double v) -> long double
nodiscardconstexprnoexcept

Computes the natural (base e) logarithm of arg.

https://en.cppreference.com/w/cpp/numeric/math/log

◆ lrint() [1/4]

auto lrint ( double arg) -> long
nodiscardconstexprnoexcept

Rounds the floating-point argument arg to an integer value, using the current rounding mode.

◆ lrint() [2/4]

auto lrint ( float arg) -> long
nodiscardconstexprnoexcept

Rounds the floating-point argument arg to an integer value, using the current rounding mode.

◆ lrint() [3/4]

auto lrint ( long double arg) -> long
nodiscardconstexprnoexcept

Rounds the floating-point argument arg to an integer value, using the current rounding mode.

◆ lrint() [4/4]

template<integral T>
auto lrint ( T arg) -> long
nodiscardconstexprnoexcept

Rounds the floating-point argument arg to an integer value, using the current rounding mode.

◆ lrintf()

auto lrintf ( float arg) -> long
nodiscardconstexprnoexcept

Rounds the floating-point argument arg to an integer value, using the current rounding mode.

◆ lrintl()

auto lrintl ( long double arg) -> long
nodiscardconstexprnoexcept

Rounds the floating-point argument arg to an integer value, using the current rounding mode.

◆ nan()

auto nan ( char const * arg) -> double
nodiscardconstexprnoexcept

Converts the implementation-defined character string arg into the corresponding quiet NaN value.

Returns the quiet NaN value that corresponds to the identifying string arg or zero if the implementation does not support quiet NaNs.

https://en.cppreference.com/w/cpp/numeric/math/nan

◆ nanf()

auto nanf ( char const * arg) -> float
nodiscardconstexprnoexcept

Converts the implementation-defined character string arg into the corresponding quiet NaN value.

Returns the quiet NaN value that corresponds to the identifying string arg or zero if the implementation does not support quiet NaNs.

https://en.cppreference.com/w/cpp/numeric/math/nan

◆ nanl()

auto nanl ( char const * arg) -> long double
nodiscardconstexprnoexcept

Converts the implementation-defined character string arg into the corresponding quiet NaN value.

Returns the quiet NaN value that corresponds to the identifying string arg or zero if the implementation does not support quiet NaNs.

https://en.cppreference.com/w/cpp/numeric/math/nan

◆ nextafter() [1/2]

auto nextafter ( double from,
double to ) -> double
nodiscardconstexprnoexcept

Returns the next representable value of from in the direction of to. If from equals to, to is returned.

ttps://en.cppreference.com/w/cpp/numeric/math/nextafter

◆ nextafter() [2/2]

auto nextafter ( float from,
float to ) -> float
nodiscardconstexprnoexcept

Returns the next representable value of from in the direction of to. If from equals to, to is returned.

ttps://en.cppreference.com/w/cpp/numeric/math/nextafter

◆ nextafterf()

auto nextafterf ( float from,
float to ) -> float
nodiscardconstexprnoexcept

Returns the next representable value of from in the direction of to. If from equals to, to is returned.

ttps://en.cppreference.com/w/cpp/numeric/math/nextafter

◆ pow() [1/6]

auto pow ( double base,
double exp ) -> double
nodiscardconstexpr

Computes the value of base raised to the power exp.

https://en.cppreference.com/w/cpp/numeric/math/pow

◆ pow() [2/6]

auto pow ( double base,
int iexp ) -> double
nodiscardconstexpr

Computes the value of base raised to the power exp.

https://en.cppreference.com/w/cpp/numeric/math/pow

◆ pow() [3/6]

auto pow ( float base,
float exp ) -> float
nodiscardconstexpr

Computes the value of base raised to the power exp.

https://en.cppreference.com/w/cpp/numeric/math/pow

◆ pow() [4/6]

auto pow ( float base,
int iexp ) -> float
nodiscardconstexpr

Computes the value of base raised to the power exp.

https://en.cppreference.com/w/cpp/numeric/math/pow

◆ pow() [5/6]

auto pow ( long double base,
int iexp ) -> long double
nodiscardconstexpr

Computes the value of base raised to the power exp.

https://en.cppreference.com/w/cpp/numeric/math/pow

◆ pow() [6/6]

auto pow ( long double base,
long double exp ) -> long double
nodiscardconstexpr

Computes the value of base raised to the power exp.

https://en.cppreference.com/w/cpp/numeric/math/pow

◆ powf()

auto powf ( float base,
float exp ) -> float
nodiscardconstexpr

Computes the value of base raised to the power exp.

https://en.cppreference.com/w/cpp/numeric/math/pow

◆ powl()

auto powl ( long double base,
long double exp ) -> long double
nodiscardconstexpr

Computes the value of base raised to the power exp.

https://en.cppreference.com/w/cpp/numeric/math/pow

◆ remainder() [1/3]

auto remainder ( double x,
double y ) -> double
nodiscardconstexprnoexcept

Computes the remainder of the floating point division operation x/y.

https://en.cppreference.com/w/cpp/numeric/math/remainder

◆ remainder() [2/3]

auto remainder ( float x,
float y ) -> float
nodiscardconstexprnoexcept

Computes the remainder of the floating point division operation x/y.

https://en.cppreference.com/w/cpp/numeric/math/remainder

◆ remainder() [3/3]

auto remainder ( long double x,
long double y ) -> long double
nodiscardconstexprnoexcept

Computes the remainder of the floating point division operation x/y.

https://en.cppreference.com/w/cpp/numeric/math/remainder

◆ remainderf()

auto remainderf ( float x,
float y ) -> float
nodiscardconstexprnoexcept

Computes the remainder of the floating point division operation x/y.

https://en.cppreference.com/w/cpp/numeric/math/remainder

◆ remainderl()

auto remainderl ( long double x,
long double y ) -> long double
nodiscardconstexprnoexcept

Computes the remainder of the floating point division operation x/y.

https://en.cppreference.com/w/cpp/numeric/math/remainder

◆ rint() [1/4]

auto rint ( double arg) -> double
nodiscardconstexprnoexcept

Rounds the floating-point argument arg to an integer value (in floating-point format), using the current rounding mode.

◆ rint() [2/4]

auto rint ( float arg) -> float
nodiscardconstexprnoexcept

Rounds the floating-point argument arg to an integer value (in floating-point format), using the current rounding mode.

◆ rint() [3/4]

auto rint ( long double arg) -> long double
nodiscardconstexprnoexcept

Rounds the floating-point argument arg to an integer value (in floating-point format), using the current rounding mode.

◆ rint() [4/4]

template<integral T>
auto rint ( T arg) -> double
nodiscardconstexprnoexcept

Rounds the floating-point argument arg to an integer value (in floating-point format), using the current rounding mode.

◆ rintf()

auto rintf ( float arg) -> float
nodiscardconstexprnoexcept

Rounds the floating-point argument arg to an integer value (in floating-point format), using the current rounding mode.

◆ rintl()

auto rintl ( long double arg) -> long double
nodiscardconstexprnoexcept

Rounds the floating-point argument arg to an integer value (in floating-point format), using the current rounding mode.

◆ round() [1/4]

auto round ( double arg) -> double
nodiscardconstexprnoexcept

Computes the nearest integer value to arg (in floating-point format), rounding halfway cases away from zero, regardless of the current rounding mode.

https://en.cppreference.com/w/cpp/numeric/math/round

◆ round() [2/4]

auto round ( float arg) -> float
nodiscardconstexprnoexcept

Computes the nearest integer value to arg (in floating-point format), rounding halfway cases away from zero, regardless of the current rounding mode.

https://en.cppreference.com/w/cpp/numeric/math/round

◆ round() [3/4]

auto round ( integral auto arg) -> double
nodiscardconstexprnoexcept

Computes the nearest integer value to arg (in floating-point format), rounding halfway cases away from zero, regardless of the current rounding mode.

https://en.cppreference.com/w/cpp/numeric/math/round

◆ round() [4/4]

auto round ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the nearest integer value to arg (in floating-point format), rounding halfway cases away from zero, regardless of the current rounding mode.

https://en.cppreference.com/w/cpp/numeric/math/round

◆ roundf()

auto roundf ( float arg) -> float
nodiscardconstexprnoexcept

Computes the nearest integer value to arg (in floating-point format), rounding halfway cases away from zero, regardless of the current rounding mode.

https://en.cppreference.com/w/cpp/numeric/math/round

◆ roundl()

auto roundl ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the nearest integer value to arg (in floating-point format), rounding halfway cases away from zero, regardless of the current rounding mode.

https://en.cppreference.com/w/cpp/numeric/math/round

◆ signbit() [1/3]

auto signbit ( double arg) -> bool
nodiscardconstexprnoexcept

Determines if the given floating point number arg is negative.

This function detects the sign bit of zeroes, infinities, and NaNs. Along with etl::copysign, etl::signbit is one of the only two portable ways to examine the sign of a NaN.

https://en.cppreference.com/w/cpp/numeric/math/signbit

◆ signbit() [2/3]

auto signbit ( float arg) -> bool
nodiscardconstexprnoexcept

Determines if the given floating point number arg is negative.

This function detects the sign bit of zeroes, infinities, and NaNs. Along with etl::copysign, etl::signbit is one of the only two portable ways to examine the sign of a NaN.

https://en.cppreference.com/w/cpp/numeric/math/signbit

◆ signbit() [3/3]

auto signbit ( long double arg) -> bool
nodiscardconstexprnoexcept

Determines if the given floating point number arg is negative.

This function detects the sign bit of zeroes, infinities, and NaNs. Along with etl::copysign, etl::signbit is one of the only two portable ways to examine the sign of a NaN.

https://en.cppreference.com/w/cpp/numeric/math/signbit

◆ sin() [1/4]

auto sin ( double arg) -> double
nodiscardconstexprnoexcept

Computes the sine of arg (measured in radians).

https://en.cppreference.com/w/cpp/numeric/math/sin

◆ sin() [2/4]

auto sin ( float arg) -> float
nodiscardconstexprnoexcept

Computes the sine of arg (measured in radians).

https://en.cppreference.com/w/cpp/numeric/math/sin

◆ sin() [3/4]

auto sin ( integral auto arg) -> double
nodiscardconstexprnoexcept

Computes the sine of arg (measured in radians).

https://en.cppreference.com/w/cpp/numeric/math/sin

◆ sin() [4/4]

auto sin ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the sine of arg (measured in radians).

https://en.cppreference.com/w/cpp/numeric/math/sin

◆ sinf()

auto sinf ( float arg) -> float
nodiscardconstexprnoexcept

Computes the sine of arg (measured in radians).

https://en.cppreference.com/w/cpp/numeric/math/sin

◆ sinh() [1/4]

auto sinh ( double arg) -> double
nodiscardconstexprnoexcept

Computes the hyperbolic sine of arg.

https://en.cppreference.com/w/cpp/numeric/math/sinh

◆ sinh() [2/4]

auto sinh ( float arg) -> float
nodiscardconstexprnoexcept

Computes the hyperbolic sine of arg.

https://en.cppreference.com/w/cpp/numeric/math/sinh

◆ sinh() [3/4]

auto sinh ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the hyperbolic sine of arg.

https://en.cppreference.com/w/cpp/numeric/math/sinh

◆ sinh() [4/4]

template<integral T>
auto sinh ( T arg) -> double
nodiscardconstexprnoexcept

Computes the hyperbolic sine of arg.

https://en.cppreference.com/w/cpp/numeric/math/sinh

◆ sinhf()

auto sinhf ( float arg) -> float
nodiscardconstexprnoexcept

Computes the hyperbolic sine of arg.

https://en.cppreference.com/w/cpp/numeric/math/sinh

◆ sinhl()

auto sinhl ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the hyperbolic sine of arg.

https://en.cppreference.com/w/cpp/numeric/math/sinh

◆ sinl()

auto sinl ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the sine of arg (measured in radians).

https://en.cppreference.com/w/cpp/numeric/math/sin

◆ sqrt() [1/4]

auto sqrt ( double arg) -> double
nodiscardconstexprnoexcept

Computes the square root of arg.

https://en.cppreference.com/w/cpp/numeric/math/sqrt

◆ sqrt() [2/4]

auto sqrt ( float arg) -> float
nodiscardconstexprnoexcept

Computes the square root of arg.

https://en.cppreference.com/w/cpp/numeric/math/sqrt

◆ sqrt() [3/4]

auto sqrt ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the square root of arg.

https://en.cppreference.com/w/cpp/numeric/math/sqrt

◆ sqrt() [4/4]

template<integral T>
auto sqrt ( T arg) -> double
nodiscardconstexprnoexcept

Computes the square root of arg.

https://en.cppreference.com/w/cpp/numeric/math/sqrt

◆ sqrtf()

auto sqrtf ( float arg) -> float
nodiscardconstexprnoexcept

Computes the square root of arg.

https://en.cppreference.com/w/cpp/numeric/math/sqrt

◆ sqrtl()

auto sqrtl ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the square root of arg.

https://en.cppreference.com/w/cpp/numeric/math/sqrt

◆ tan() [1/4]

auto tan ( double arg) -> double
nodiscardconstexprnoexcept

Computes the tangent of arg (measured in radians).

https://en.cppreference.com/w/cpp/numeric/math/tan

◆ tan() [2/4]

auto tan ( float arg) -> float
nodiscardconstexprnoexcept

Computes the tangent of arg (measured in radians).

https://en.cppreference.com/w/cpp/numeric/math/tan

◆ tan() [3/4]

auto tan ( integral auto arg) -> double
nodiscardconstexprnoexcept

Computes the tangent of arg (measured in radians).

https://en.cppreference.com/w/cpp/numeric/math/tan

◆ tan() [4/4]

auto tan ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the tangent of arg (measured in radians).

https://en.cppreference.com/w/cpp/numeric/math/tan

◆ tanf()

auto tanf ( float arg) -> float
nodiscardconstexprnoexcept

Computes the tangent of arg (measured in radians).

https://en.cppreference.com/w/cpp/numeric/math/tan

◆ tanh() [1/4]

auto tanh ( double arg) -> double
nodiscardconstexprnoexcept

Computes e (Euler's number, 2.7182...) raised to the given power arg.

https://en.cppreference.com/w/cpp/numeric/math/tanh

◆ tanh() [2/4]

auto tanh ( float arg) -> float
nodiscardconstexprnoexcept

Computes e (Euler's number, 2.7182...) raised to the given power arg.

https://en.cppreference.com/w/cpp/numeric/math/tanh

◆ tanh() [3/4]

auto tanh ( integral auto arg) -> double
nodiscardconstexprnoexcept

Computes e (Euler's number, 2.7182...) raised to the given power arg.

https://en.cppreference.com/w/cpp/numeric/math/tanh

◆ tanh() [4/4]

auto tanh ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes e (Euler's number, 2.7182...) raised to the given power arg.

https://en.cppreference.com/w/cpp/numeric/math/tanh

◆ tanhf()

auto tanhf ( float arg) -> float
nodiscardconstexprnoexcept

Computes e (Euler's number, 2.7182...) raised to the given power arg.

https://en.cppreference.com/w/cpp/numeric/math/tanh

◆ tanhl()

auto tanhl ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes e (Euler's number, 2.7182...) raised to the given power arg.

https://en.cppreference.com/w/cpp/numeric/math/tanh

◆ tanl()

auto tanl ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the tangent of arg (measured in radians).

https://en.cppreference.com/w/cpp/numeric/math/tan

◆ tgamma() [1/4]

auto tgamma ( double arg) -> double
nodiscardconstexprnoexcept

Computes the gamma function of arg.

https://en.cppreference.com/w/cpp/numeric/math/tgamma

◆ tgamma() [2/4]

auto tgamma ( float arg) -> float
nodiscardconstexprnoexcept

Computes the gamma function of arg.

https://en.cppreference.com/w/cpp/numeric/math/tgamma

◆ tgamma() [3/4]

auto tgamma ( integral auto arg) -> double
nodiscardconstexprnoexcept

Computes the gamma function of arg.

https://en.cppreference.com/w/cpp/numeric/math/tgamma

◆ tgamma() [4/4]

auto tgamma ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the gamma function of arg.

https://en.cppreference.com/w/cpp/numeric/math/tgamma

◆ tgammaf()

auto tgammaf ( float arg) -> float
nodiscardconstexprnoexcept

Computes the gamma function of arg.

https://en.cppreference.com/w/cpp/numeric/math/tgamma

◆ tgammal()

auto tgammal ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the gamma function of arg.

https://en.cppreference.com/w/cpp/numeric/math/tgamma

◆ trunc() [1/4]

auto trunc ( double arg) -> double
nodiscardconstexprnoexcept

Computes the nearest integer not greater in magnitude than arg.

https://en.cppreference.com/w/cpp/numeric/math/trunc

◆ trunc() [2/4]

auto trunc ( float arg) -> float
nodiscardconstexprnoexcept

Computes the nearest integer not greater in magnitude than arg.

https://en.cppreference.com/w/cpp/numeric/math/trunc

◆ trunc() [3/4]

auto trunc ( integral auto arg) -> double
nodiscardconstexprnoexcept

Computes the nearest integer not greater in magnitude than arg.

https://en.cppreference.com/w/cpp/numeric/math/trunc

◆ trunc() [4/4]

auto trunc ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the nearest integer not greater in magnitude than arg.

https://en.cppreference.com/w/cpp/numeric/math/trunc

◆ truncf()

auto truncf ( float arg) -> float
nodiscardconstexprnoexcept

Computes the nearest integer not greater in magnitude than arg.

https://en.cppreference.com/w/cpp/numeric/math/trunc

◆ truncl()

auto truncl ( long double arg) -> long double
nodiscardconstexprnoexcept

Computes the nearest integer not greater in magnitude than arg.

https://en.cppreference.com/w/cpp/numeric/math/trunc