Classes | |
struct | equal_strict_impl |
struct | equal_strict_impl< X, Y, true, false, true, true > |
struct | equal_strict_impl< X, Y, true, true, true, false > |
struct | get_integer_by_size |
struct | get_integer_by_size< 1 > |
struct | get_integer_by_size< 2 > |
struct | get_integer_by_size< 4 > |
struct | get_integer_by_size< 8 > |
struct | signbit_impl |
struct | signbit_impl< Scalar, false, true > |
struct | signbit_impl< Scalar, true, false > |
struct | signbit_impl< Scalar, true, true > |
Typedefs | |
typedef std::int16_t | int16_t |
typedef std::int32_t | int32_t |
typedef std::int64_t | int64_t |
typedef std::int8_t | int8_t |
typedef std::uint16_t | uint16_t |
typedef std::uint32_t | uint32_t |
typedef std::uint64_t | uint64_t |
typedef std::uint8_t | uint8_t |
Functions | |
template<typename T > | |
EIGEN_ALWAYS_INLINE std::enable_if_t< NumTraits< T >::IsSigned||NumTraits< T >::IsComplex, typename NumTraits< T >::Real > | abs (const T &x) |
template<typename T > | |
EIGEN_ALWAYS_INLINE std::enable_if_t<!(NumTraits< T >::IsSigned||NumTraits< T >::IsComplex), typename NumTraits< T >::Real > | abs (const T &x) |
bool | abs2 (bool x) |
template<> | |
EIGEN_ALWAYS_INLINE double | absdiff (const double &x, const double &y) |
template<> | |
EIGEN_ALWAYS_INLINE float | absdiff (const float &x, const float &y) |
template<> | |
EIGEN_ALWAYS_INLINE long double | absdiff (const long double &x, const long double &y) |
template<typename T > | |
EIGEN_ALWAYS_INLINE T | absdiff (const T &x, const T &y) |
template<typename T > | |
EIGEN_ALWAYS_INLINE T | acos (const T &x) |
template<typename T > | |
EIGEN_ALWAYS_INLINE T | acosh (const T &x) |
template<typename T > | |
EIGEN_ALWAYS_INLINE T | asin (const T &x) |
template<typename T > | |
EIGEN_ALWAYS_INLINE T | asinh (const T &x) |
template<typename T > | |
EIGEN_ALWAYS_INLINE T | atan (const T &x) |
template<typename T , std::enable_if_t<!NumTraits< T >::IsComplex, int > = 0> | |
EIGEN_ALWAYS_INLINE T | atan2 (const T &y, const T &x) |
template<typename T > | |
EIGEN_ALWAYS_INLINE T | atanh (const T &x) |
template<typename Tgt , typename Src > | |
Tgt | bit_cast (const Src &src) |
template<> | |
Eigen::bfloat16 | bit_cast< Eigen::bfloat16, uint16_t > (const uint16_t &src) |
template<> | |
Eigen::half | bit_cast< Eigen::half, uint16_t > (const uint16_t &src) |
template<> | |
uint16_t | bit_cast< uint16_t, Eigen::bfloat16 > (const Eigen::bfloat16 &src) |
template<> | |
uint16_t | bit_cast< uint16_t, Eigen::half > (const Eigen::half &src) |
template<typename Scalar > | |
Scalar() | ceil (const Scalar &x) |
template<typename T > | |
EIGEN_ALWAYS_INLINE T | cos (const T &x) |
template<typename T > | |
EIGEN_ALWAYS_INLINE T | cosh (const T &x) |
template<typename T > | |
T | div_ceil (const T &a, const T &b) |
template<typename Scalar > | |
EIGEN_MATHFUNC_RETVAL (abs2, Scalar) abs2(const Scalar &x) | |
template<typename Scalar > | |
EIGEN_MATHFUNC_RETVAL (arg, Scalar) arg(const Scalar &x) | |
template<typename Scalar > | |
EIGEN_MATHFUNC_RETVAL (conj, Scalar) conj(const Scalar &x) | |
template<typename Scalar > | |
EIGEN_MATHFUNC_RETVAL (expm1, Scalar) expm1(const Scalar &x) | |
template<typename Scalar > | |
EIGEN_MATHFUNC_RETVAL (hypot, Scalar) hypot(const Scalar &x | |
template<typename Scalar > | |
EIGEN_MATHFUNC_RETVAL (imag, Scalar) imag(const Scalar &x) | |
template<typename Scalar > | |
EIGEN_MATHFUNC_RETVAL (imag_ref, Scalar) imag_ref(Scalar &x) | |
template<typename Scalar > | |
EIGEN_MATHFUNC_RETVAL (log1p, Scalar) log1p(const Scalar &x) | |
template<typename Scalar > | |
EIGEN_MATHFUNC_RETVAL (norm1, Scalar) norm1(const Scalar &x) | |
template<typename Scalar > | |
EIGEN_MATHFUNC_RETVAL (real, Scalar) real(const Scalar &x) | |
template<typename Scalar > | |
EIGEN_MATHFUNC_RETVAL (real_ref, Scalar) real_ref(Scalar &x) | |
template<typename Scalar > | |
EIGEN_MATHFUNC_RETVAL (sign, Scalar) sign(const Scalar &x) | |
template<typename Scalar > | |
EIGEN_ALWAYS_INLINE | EIGEN_MATHFUNC_RETVAL (sqrt, Scalar) sqrt(const Scalar &x) |
template<> | |
bool | equal_strict (const double &x, const double &y) |
template<> | |
bool | equal_strict (const float &x, const float &y) |
template<typename X , typename Y > | |
bool | equal_strict (const X &x, const Y &y) |
template<typename T > | |
EIGEN_ALWAYS_INLINE T | exp (const T &x) |
template<typename Scalar > | |
Scalar() | floor (const Scalar &x) |
template<typename T > | |
EIGEN_ALWAYS_INLINE T | fmod (const T &a, const T &b) |
template<typename Scalar > | |
internal::add_const_on_value_type_t< EIGEN_MATHFUNC_RETVAL(imag_ref, Scalar) > | imag_ref (const Scalar &x) |
template<typename X > | |
bool | is_exactly_one (const X &x) |
template<typename X > | |
bool | is_exactly_zero (const X &x) |
template<> | |
EIGEN_ALWAYS_INLINE bool() | isfinite (const Eigen::bfloat16 &h) |
template<typename T > | |
bool() | isfinite (const T &x) |
template<> | |
EIGEN_ALWAYS_INLINE bool() | isinf (const Eigen::bfloat16 &h) |
template<typename T > | |
bool() | isinf (const T &x) |
template<> | |
EIGEN_ALWAYS_INLINE bool() | isnan (const Eigen::bfloat16 &h) |
template<typename T > | |
bool() | isnan (const T &x) |
template<typename T > | |
EIGEN_ALWAYS_INLINE T | log (const T &x) |
int | log2 (int x) |
template<typename T > | |
EIGEN_ALWAYS_INLINE T | maxi (const T &x, const T &y) |
template<typename T > | |
EIGEN_ALWAYS_INLINE T | mini (const T &x, const T &y) |
template<> | |
bool | not_equal_strict (const double &x, const double &y) |
template<> | |
bool | not_equal_strict (const float &x, const float &y) |
template<typename X , typename Y > | |
bool | not_equal_strict (const X &x, const Y &y) |
template<typename ScalarX , typename ScalarY > | |
internal::pow_impl< ScalarX, ScalarY >::result_type | pow (const ScalarX &x, const ScalarY &y) |
template<typename Scalar > | |
internal::add_const_on_value_type_t< EIGEN_MATHFUNC_RETVAL(real_ref, Scalar) > | real_ref (const Scalar &x) |
template<typename Scalar > | |
Scalar | rint (const Scalar &x) |
template<typename Scalar > | |
Scalar | round (const Scalar &x) |
template<typename T > | |
EIGEN_ALWAYS_INLINE T | rsqrt (const T &x) |
template<typename Scalar > | |
static constexpr EIGEN_ALWAYS_INLINE Scalar | signbit (const Scalar &x) |
template<typename T > | |
EIGEN_ALWAYS_INLINE T | sin (const T &x) |
template<typename T > | |
EIGEN_ALWAYS_INLINE T | sinh (const T &x) |
template<> | |
EIGEN_ALWAYS_INLINE double | sqrt (const double &x) |
template<> | |
EIGEN_ALWAYS_INLINE float | sqrt (const float &x) |
template<> | |
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS bool | sqrt< bool > (const bool &x) |
template<typename T > | |
void | swap (T &a, T &b) |
template<typename T > | |
EIGEN_ALWAYS_INLINE T | tan (const T &x) |
template<typename T > | |
EIGEN_ALWAYS_INLINE T | tanh (const T &x) |
Variables | |
const Scalar & | y |
Generic math functions *
typedef std::int16_t Eigen::numext::int16_t |
typedef std::int32_t Eigen::numext::int32_t |
typedef std::int64_t Eigen::numext::int64_t |
typedef std::int8_t Eigen::numext::int8_t |
typedef std::uint16_t Eigen::numext::uint16_t |
typedef std::uint32_t Eigen::numext::uint32_t |
typedef std::uint64_t Eigen::numext::uint64_t |
typedef std::uint8_t Eigen::numext::uint8_t |
EIGEN_ALWAYS_INLINE std::enable_if_t<NumTraits<T>::IsSigned || NumTraits<T>::IsComplex,typename NumTraits<T>::Real> Eigen::numext::abs | ( | const T & | x | ) |
Definition at line 1413 of file MathFunctions.h.
EIGEN_ALWAYS_INLINE std::enable_if_t<!(NumTraits<T>::IsSigned || NumTraits<T>::IsComplex),typename NumTraits<T>::Real> Eigen::numext::abs | ( | const T & | x | ) |
Definition at line 1421 of file MathFunctions.h.
Definition at line 1198 of file MathFunctions.h.
EIGEN_ALWAYS_INLINE double Eigen::numext::absdiff | ( | const double & | x, |
const double & | y | ||
) |
Definition at line 1214 of file MathFunctions.h.
EIGEN_ALWAYS_INLINE float Eigen::numext::absdiff | ( | const float & | x, |
const float & | y | ||
) |
Definition at line 1208 of file MathFunctions.h.
EIGEN_ALWAYS_INLINE long double Eigen::numext::absdiff | ( | const long double & | x, |
const long double & | y | ||
) |
Definition at line 1223 of file MathFunctions.h.
EIGEN_ALWAYS_INLINE T Eigen::numext::absdiff | ( | const T & | x, |
const T & | y | ||
) |
EIGEN_ALWAYS_INLINE T Eigen::numext::acos | ( | const T & | x | ) |
Definition at line 1592 of file MathFunctions.h.
EIGEN_ALWAYS_INLINE T Eigen::numext::acosh | ( | const T & | x | ) |
Definition at line 1599 of file MathFunctions.h.
EIGEN_ALWAYS_INLINE T Eigen::numext::asin | ( | const T & | x | ) |
Definition at line 1619 of file MathFunctions.h.
EIGEN_ALWAYS_INLINE T Eigen::numext::asinh | ( | const T & | x | ) |
Definition at line 1626 of file MathFunctions.h.
EIGEN_ALWAYS_INLINE T Eigen::numext::atan | ( | const T & | x | ) |
Definition at line 1646 of file MathFunctions.h.
EIGEN_ALWAYS_INLINE T Eigen::numext::atan2 | ( | const T & | y, |
const T & | x | ||
) |
Definition at line 1652 of file MathFunctions.h.
EIGEN_ALWAYS_INLINE T Eigen::numext::atanh | ( | const T & | x | ) |
Definition at line 1659 of file MathFunctions.h.
|
inline |
Definition at line 87 of file NumTraits.h.
|
inline |
Definition at line 795 of file BFloat16.h.
|
inline |
Definition at line 925 of file Half.h.
|
inline |
Definition at line 800 of file BFloat16.h.
|
inline |
Definition at line 930 of file Half.h.
|
inline |
Definition at line 1325 of file MathFunctions.h.
EIGEN_ALWAYS_INLINE T Eigen::numext::cos | ( | const T & | x | ) |
Definition at line 1535 of file MathFunctions.h.
EIGEN_ALWAYS_INLINE T Eigen::numext::cosh | ( | const T & | x | ) |
Definition at line 1680 of file MathFunctions.h.
|
inline |
Definition at line 1192 of file MathFunctions.h.
|
inline |
Definition at line 1157 of file MathFunctions.h.
|
inline |
Definition at line 1178 of file MathFunctions.h.
|
inline |
Definition at line 1516 of file MathFunctions.h.
|
inline |
|
inline |
Definition at line 1150 of file MathFunctions.h.
|
inline |
Definition at line 1171 of file MathFunctions.h.
|
inline |
Definition at line 1248 of file MathFunctions.h.
|
inline |
Definition at line 1230 of file MathFunctions.h.
|
inline |
Definition at line 1129 of file MathFunctions.h.
|
inline |
Definition at line 1143 of file MathFunctions.h.
|
inline |
Definition at line 1185 of file MathFunctions.h.
EIGEN_ALWAYS_INLINE Eigen::numext::EIGEN_MATHFUNC_RETVAL | ( | sqrt | , |
Scalar | |||
) | const & |
It is essentially equivalent to
but slightly faster for float/double and some compilers (e.g., gcc), thanks to specializations when SSE is enabled.
It's usage is justified in performance critical functions, like norm/normalize.
Definition at line 1369 of file MathFunctions.h.
|
inline |
|
inline |
EIGEN_ALWAYS_INLINE T Eigen::numext::exp | ( | const T & | x | ) |
Definition at line 1481 of file MathFunctions.h.
|
inline |
Definition at line 1306 of file MathFunctions.h.
EIGEN_ALWAYS_INLINE T Eigen::numext::fmod | ( | const T & | a, |
const T & | b | ||
) |
Definition at line 1742 of file MathFunctions.h.
|
inline |
Definition at line 1164 of file MathFunctions.h.
Definition at line 482 of file Meta.h.
EIGEN_ALWAYS_INLINE bool() Eigen::numext::isfinite | ( | const Eigen::bfloat16 & | h | ) |
Definition at line 790 of file BFloat16.h.
Definition at line 1278 of file MathFunctions.h.
EIGEN_ALWAYS_INLINE bool() Eigen::numext::isinf | ( | const Eigen::bfloat16 & | h | ) |
Definition at line 784 of file BFloat16.h.
Definition at line 1277 of file MathFunctions.h.
EIGEN_ALWAYS_INLINE bool() Eigen::numext::isnan | ( | const Eigen::bfloat16 & | h | ) |
Definition at line 778 of file BFloat16.h.
Definition at line 1276 of file MathFunctions.h.
EIGEN_ALWAYS_INLINE T Eigen::numext::log | ( | const T & | x | ) |
Definition at line 1393 of file MathFunctions.h.
|
inline |
Log base 2 for 32 bits positive integers. Conveniently returns 0 for x==0.
Definition at line 1345 of file MathFunctions.h.
EIGEN_ALWAYS_INLINE T Eigen::numext::maxi | ( | const T & | x, |
const T & | y | ||
) |
Definition at line 985 of file MathFunctions.h.
EIGEN_ALWAYS_INLINE T Eigen::numext::mini | ( | const T & | x, |
const T & | y | ||
) |
Definition at line 977 of file MathFunctions.h.
|
inline |
|
inline |
|
inline |
Definition at line 1267 of file MathFunctions.h.
|
inline |
Definition at line 1136 of file MathFunctions.h.
|
inline |
Definition at line 1288 of file MathFunctions.h.
|
inline |
Definition at line 1295 of file MathFunctions.h.
EIGEN_ALWAYS_INLINE T Eigen::numext::rsqrt | ( | const T & | x | ) |
Definition at line 1386 of file MathFunctions.h.
|
staticconstexpr |
Definition at line 1475 of file MathFunctions.h.
EIGEN_ALWAYS_INLINE T Eigen::numext::sin | ( | const T & | x | ) |
Definition at line 1554 of file MathFunctions.h.
EIGEN_ALWAYS_INLINE T Eigen::numext::sinh | ( | const T & | x | ) |
Definition at line 1699 of file MathFunctions.h.
EIGEN_ALWAYS_INLINE double Eigen::numext::sqrt | ( | const double & | x | ) |
Definition at line 69 of file arch/SSE/MathFunctions.h.
EIGEN_ALWAYS_INLINE float Eigen::numext::sqrt | ( | const float & | x | ) |
Definition at line 62 of file arch/SSE/MathFunctions.h.
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS bool Eigen::numext::sqrt< bool > | ( | const bool & | x | ) |
Definition at line 1377 of file MathFunctions.h.
EIGEN_ALWAYS_INLINE T Eigen::numext::tan | ( | const T & | x | ) |
Definition at line 1573 of file MathFunctions.h.
EIGEN_ALWAYS_INLINE T Eigen::numext::tanh | ( | const T & | x | ) |
Definition at line 1718 of file MathFunctions.h.
const Scalar& Eigen::numext::y |
Definition at line 1237 of file MathFunctions.h.