Tuesday
|
Global math functions for basic scalar types.
The allowable types are restricted to those which can be used as SIMD components.
Functions | |
template<typename T > | |
std::enable_if_t< is_floating_point_simd_component< T >::value, T > | tue::math::sin (T x) noexcept |
Computes the sine of x (measured in radians). More... | |
template<typename T > | |
std::enable_if_t< is_floating_point_simd_component< T >::value, T > | tue::math::cos (T x) noexcept |
Computes the cosine of x (measured in radians). More... | |
template<typename T > | |
std::enable_if_t< is_floating_point_simd_component< T >::value > | tue::math::sincos (T x, T &sin_out, T &cos_out) noexcept |
Computes the sine and cosine of x (measured in radians). More... | |
template<typename T > | |
std::enable_if_t< is_floating_point_simd_component< T >::value, T > | tue::math::exp (T x) noexcept |
Computes the base-e exponential of x . More... | |
template<typename T > | |
std::enable_if_t< is_floating_point_simd_component< T >::value, T > | tue::math::log (T x) noexcept |
Computes the base-e (natural) logarithm of x . More... | |
template<typename T > | |
std::enable_if_t< is_arithmetic_simd_component< T >::value, T > | tue::math::abs (T x) noexcept |
Computes the absolute value of x . More... | |
template<typename T > | |
std::enable_if_t< is_floating_point_simd_component< T >::value, T > | tue::math::pow (T x, T y) noexcept |
Computes x raised to the power y . More... | |
template<typename T > | |
std::enable_if_t< is_floating_point_simd_component< T >::value, T > | tue::math::recip (T x) noexcept |
Computes the reciprocal of x . More... | |
template<typename T > | |
std::enable_if_t< is_floating_point_simd_component< T >::value, T > | tue::math::sqrt (T x) noexcept |
Computes the nonnegative square root of x . More... | |
template<typename T > | |
std::enable_if_t< is_floating_point_simd_component< T >::value, T > | tue::math::rsqrt (T x) noexcept |
Computes the reciprocal of the nonnegative square root of x . More... | |
template<typename T > | |
std::enable_if_t< is_arithmetic_simd_component< T >::value, T > | tue::math::min (T x, T y) noexcept |
Determines the minimum numeric value of the arguments. More... | |
template<typename T > | |
std::enable_if_t< is_arithmetic_simd_component< T >::value, T > | tue::math::max (T x, T y) noexcept |
Determines the maximum numeric value of the arguments. More... | |
template<typename T , typename U > | |
std::enable_if_t< is_sized_bool< T >::value &&is_simd_component< U >::value &&sizeof(T)==sizeof(U), U > | tue::math::mask (T condition, U value) noexcept |
Computes the bitwise AND of condition and value . More... | |
template<typename T , typename U > | |
std::enable_if_t< is_sized_bool< T >::value &&is_simd_component< U >::value &&sizeof(T)==sizeof(U), U > | tue::math::select (T condition, U value, U otherwise) noexcept |
Selects a return value based on condition . More... | |
template<typename T > | |
std::enable_if_t< is_arithmetic_simd_component< T >::value, sized_bool_t< sizeof(T)> > | tue::math::less (T lhs, T rhs) noexcept |
Computes whether or not lhs is less than rhs . More... | |
template<typename T > | |
std::enable_if_t< is_arithmetic_simd_component< T >::value, sized_bool_t< sizeof(T)> > | tue::math::less_equal (T lhs, T rhs) noexcept |
Computes whether or not lhs is less than or equal to rhs . More... | |
template<typename T > | |
std::enable_if_t< is_arithmetic_simd_component< T >::value, sized_bool_t< sizeof(T)> > | tue::math::greater (T lhs, T rhs) noexcept |
Computes whether or not lhs is greater than rhs . More... | |
template<typename T > | |
std::enable_if_t< is_arithmetic_simd_component< T >::value, sized_bool_t< sizeof(T)> > | tue::math::greater_equal (T lhs, T rhs) noexcept |
Computes whether or not lhs is greater than or equal to rhs . More... | |
template<typename T > | |
std::enable_if_t< is_simd_component< T >::value, sized_bool_t< sizeof(T)> > | tue::math::equal (T lhs, T rhs) noexcept |
Computes whether or not lhs is equal to rhs . More... | |
template<typename T > | |
std::enable_if_t< is_simd_component< T >::value, sized_bool_t< sizeof(T)> > | tue::math::not_equal (T lhs, T rhs) noexcept |
Computes whether or not lhs is not equal to rhs . More... | |
|
inlinenoexcept |
Computes the sine of x
(measured in radians).
T | The type of parameter x . |
x | A floating-point number. |
x
(measured in radians).
|
inlinenoexcept |
Computes the cosine of x
(measured in radians).
T | The type of parameter x . |
x | A floating-point number. |
x
(measured in radians).
|
inlinenoexcept |
Computes the sine and cosine of x
(measured in radians).
T | The type of parameter x . |
x | A floating-point number. |
sin_out | A reference to the value where the sine of x (measured in radians) will be stored. |
cos_out | A reference to the value where the cosine of x (measured in radians) will be stored. |
|
inlinenoexcept |
Computes the base-e exponential of x
.
T | The type of parameter x . |
x | A floating-point number. |
x
.
|
inlinenoexcept |
Computes the base-e (natural) logarithm of x
.
If x
is negative, behavior is undefined.
T | The type of parameter x . |
x | A floating-point number. |
x
.
|
inlinenoexcept |
Computes the absolute value of x
.
T | The type of parameter x . |
x | A number. |
x
.
|
inlinenoexcept |
Computes x
raised to the power y
.
If x
is negative, behavior is undefined.
T | The type of parameters x and y . |
x | A floating-point number. |
y | Another floating-point number. |
x
raised to the power y
.
|
inlinenoexcept |
Computes the reciprocal of x
.
If x
equals 0
, behavior is undefined.
T | The type of parameter x . |
x | A floating-point number. |
x
.
|
inlinenoexcept |
Computes the nonnegative square root of x
.
If x
is negative, behavior is undefined.
T | The type of parameter x . |
x | A floating-point number. |
x
.
|
inlinenoexcept |
Computes the reciprocal of the nonnegative square root of x
.
If x
is less than or equal to 0
, behavior is undefined.
T | The type of parameter x . |
x | A floating-point number. |
x
.
|
inlinenoexcept |
Determines the minimum numeric value of the arguments.
T | The type of parameters x and y . |
x | A number. |
y | Another number. |
|
inlinenoexcept |
Determines the maximum numeric value of the arguments.
T | The type of parameters x and y . |
x | A number. |
y | Another number. |
|
inlinenoexcept |
Computes the bitwise AND of condition
and value
.
T | The condition type. |
U | The return type. |
condition | The condition. |
value | The return value when condition is trueX (where X is the number of bits in T ). |
value
or 0
depending on condition
.
|
inlinenoexcept |
Selects a return value based on condition
.
T | The condition type. |
U | The return type. |
condition | The condition. |
value | The return value when condition is trueX (where X is the number of bits in T ). |
otherwise | The return value when condition is falseX (where X is the number of bits in T ). |
value
or otherwise
depending on condition
.
|
inlinenoexcept |
Computes whether or not lhs
is less than rhs
.
T | The type of parameters lhs and rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
trueX
if lhs
is less than rhs
and falseX
otherwise (where X
is the number of bits in T
).
|
inlinenoexcept |
Computes whether or not lhs
is less than or equal to rhs
.
T | The type of parameters lhs and rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
trueX
if lhs
is less than or equal to rhs
and falseX
otherwise (where X
is the number of bits in T
).
|
inlinenoexcept |
Computes whether or not lhs
is greater than rhs
.
T | The type of parameters lhs and rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
trueX
if lhs
is greater than rhs
and falseX
otherwise (where X
is the number of bits in T
).
|
inlinenoexcept |
Computes whether or not lhs
is greater than or equal to rhs
.
T | The type of parameters lhs and rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
trueX
if lhs
is greater than or equal to rhs
and falseX
otherwise (where X
is the number of bits in T
).
|
inlinenoexcept |
Computes whether or not lhs
is equal to rhs
.
T | The type of parameters lhs and rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
trueX
if lhs
is equal to rhs
and falseX
otherwise (where X
is the number of bits in T
).
|
inlinenoexcept |
Computes whether or not lhs
is not equal to rhs
.
T | The type of parameters lhs and rhs . |
lhs | The left-hand side operand. |
rhs | The right-hand side operand. |
trueX
if lhs
is not equal to rhs
and falseX
otherwise (where X
is the number of bits in T
).