MathFunctions.h File Reference

Go to the source code of this file.

Classes

struct  Eigen::numext::signbit_impl< Scalar, false, true >
 
struct  Eigen::numext::signbit_impl< Scalar, true, false >
 
struct  Eigen::numext::signbit_impl< Scalar, true, true >
 

Namespaces

 Eigen
 : InteropHeaders
 
 Eigen::internal
 
 Eigen::numext
 

Macros

#define EIGEN_LN2
 
#define EIGEN_LOG2E
 
#define EIGEN_MATHFUNC_IMPL(func, scalar)
 
#define EIGEN_MATHFUNC_RETVAL(func, scalar)
 
#define EIGEN_PI
 

Enumerations

enum  {
  Eigen::internal::meta_floor_log2_terminate ,
  Eigen::internal::meta_floor_log2_move_up ,
  Eigen::internal::meta_floor_log2_move_down ,
  Eigen::internal::meta_floor_log2_bogus
}
 

Functions

template<typename T >
EIGEN_ALWAYS_INLINE std::enable_if_t< NumTraits< T >::IsSigned||NumTraits< T >::IsComplex, typename NumTraits< T >::Real > Eigen::numext::abs (const T &x)
 
template<typename T >
EIGEN_ALWAYS_INLINE std::enable_if_t<!(NumTraits< T >::IsSigned||NumTraits< T >::IsComplex), typename NumTraits< T >::Real > Eigen::numext::abs (const T &x)
 
bool Eigen::numext::abs2 (bool x)
 
template<>
EIGEN_ALWAYS_INLINE double Eigen::numext::absdiff (const double &x, const double &y)
 
template<>
EIGEN_ALWAYS_INLINE float Eigen::numext::absdiff (const float &x, const float &y)
 
template<>
EIGEN_ALWAYS_INLINE long double Eigen::numext::absdiff (const long double &x, const long double &y)
 
template<typename T >
EIGEN_ALWAYS_INLINE T Eigen::numext::absdiff (const T &x, const T &y)
 
template<typename T >
EIGEN_ALWAYS_INLINE T Eigen::numext::acos (const T &x)
 
template<typename T >
EIGEN_ALWAYS_INLINE T Eigen::numext::acosh (const T &x)
 
template<typename T >
EIGEN_ALWAYS_INLINE T Eigen::numext::asin (const T &x)
 
template<typename T >
EIGEN_ALWAYS_INLINE T Eigen::numext::asinh (const T &x)
 
template<typename T >
EIGEN_ALWAYS_INLINE T Eigen::numext::atan (const T &x)
 
template<typename T , std::enable_if_t<!NumTraits< T >::IsComplex, int > = 0>
EIGEN_ALWAYS_INLINE T Eigen::numext::atan2 (const T &y, const T &x)
 
template<typename T >
EIGEN_ALWAYS_INLINE T Eigen::numext::atanh (const T &x)
 
template<typename OldType , typename NewType >
NewType Eigen::internal::cast (const OldType &x)
 
template<typename Scalar >
Scalar() Eigen::numext::ceil (const Scalar &x)
 
template<typename T >
std::complex< TEigen::internal::complex_log (const std::complex< T > &z)
 
template<typename T >
std::complex< TEigen::internal::complex_rsqrt (const std::complex< T > &a_x)
 
template<typename T >
std::complex< TEigen::internal::complex_sqrt (const std::complex< T > &a_x)
 
template<typename T >
EIGEN_ALWAYS_INLINE T Eigen::numext::cos (const T &x)
 
template<typename T >
EIGEN_ALWAYS_INLINE T Eigen::numext::cosh (const T &x)
 
template<typename Scalar >
 Eigen::numext::EIGEN_MATHFUNC_RETVAL (abs2, Scalar) abs2(const Scalar &x)
 
template<typename Scalar >
 Eigen::numext::EIGEN_MATHFUNC_RETVAL (arg, Scalar) arg(const Scalar &x)
 
template<typename Scalar >
 Eigen::numext::EIGEN_MATHFUNC_RETVAL (conj, Scalar) conj(const Scalar &x)
 
template<typename Scalar >
 Eigen::numext::EIGEN_MATHFUNC_RETVAL (expm1, Scalar) expm1(const Scalar &x)
 
template<typename Scalar >
 Eigen::numext::EIGEN_MATHFUNC_RETVAL (hypot, Scalar) hypot(const Scalar &x
 
template<typename Scalar >
 Eigen::numext::EIGEN_MATHFUNC_RETVAL (imag, Scalar) imag(const Scalar &x)
 
template<typename Scalar >
 Eigen::numext::EIGEN_MATHFUNC_RETVAL (imag_ref, Scalar) imag_ref(Scalar &x)
 
template<typename Scalar >
 Eigen::numext::EIGEN_MATHFUNC_RETVAL (log1p, Scalar) log1p(const Scalar &x)
 
template<typename Scalar >
 Eigen::numext::EIGEN_MATHFUNC_RETVAL (norm1, Scalar) norm1(const Scalar &x)
 
template<typename Scalar >
 Eigen::internal::EIGEN_MATHFUNC_RETVAL (random, Scalar) random()
 
template<typename Scalar >
 Eigen::internal::EIGEN_MATHFUNC_RETVAL (random, Scalar) random(const Scalar &x
 
template<typename Scalar >
 Eigen::numext::EIGEN_MATHFUNC_RETVAL (real, Scalar) real(const Scalar &x)
 
template<typename Scalar >
 Eigen::numext::EIGEN_MATHFUNC_RETVAL (real_ref, Scalar) real_ref(Scalar &x)
 
template<typename Scalar >
 Eigen::numext::EIGEN_MATHFUNC_RETVAL (sign, Scalar) sign(const Scalar &x)
 
template<typename Scalar >
EIGEN_ALWAYS_INLINE Eigen::numext::EIGEN_MATHFUNC_RETVAL (sqrt, Scalar) sqrt(const Scalar &x)
 
template<typename T >
EIGEN_ALWAYS_INLINE T Eigen::numext::exp (const T &x)
 
template<typename Scalar >
Scalar() Eigen::numext::floor (const Scalar &x)
 
template<typename T >
EIGEN_ALWAYS_INLINE T Eigen::numext::fmod (const T &a, const T &b)
 
template<typename T >
T Eigen::internal::generic_fast_tanh_float (const T &a_x)
 
template<typename Scalar >
internal::add_const_on_value_type_t< EIGEN_MATHFUNC_RETVAL(imag_ref, Scalar) > Eigen::numext::imag_ref (const Scalar &x)
 
template<typename Scalar >
bool Eigen::internal::isApprox (const Scalar &x, const Scalar &y, const typename NumTraits< Scalar >::Real &precision=NumTraits< Scalar >::dummy_precision())
 
template<typename Scalar >
bool Eigen::internal::isApproxOrLessThan (const Scalar &x, const Scalar &y, const typename NumTraits< Scalar >::Real &precision=NumTraits< Scalar >::dummy_precision())
 
template<typename T >
bool() Eigen::numext::isfinite (const T &x)
 
template<typename T >
bool Eigen::internal::isfinite_impl (const std::complex< T > &x)
 
template<typename T >
std::enable_if_t<!(std::numeric_limits< T >::has_infinity||std::numeric_limits< T >::has_quiet_NaN||std::numeric_limits< T >::has_signaling_NaN), boolEigen::internal::isfinite_impl (const T &)
 
template<typename T >
std::enable_if_t<(std::numeric_limits< T >::has_infinity||std::numeric_limits< T >::has_quiet_NaN||std::numeric_limits< T >::has_signaling_NaN) &&(!NumTraits< T >::IsComplex), boolEigen::internal::isfinite_impl (const T &x)
 
template<typename T >
bool() Eigen::numext::isinf (const T &x)
 
template<typename T >
bool Eigen::internal::isinf_impl (const std::complex< T > &x)
 
template<typename T >
std::enable_if_t<!std::numeric_limits< T >::has_infinity, boolEigen::internal::isinf_impl (const T &)
 
template<typename T >
std::enable_if_t<(std::numeric_limits< T >::has_infinity &&!NumTraits< T >::IsComplex), boolEigen::internal::isinf_impl (const T &x)
 
template<typename Scalar , typename OtherScalar >
bool Eigen::internal::isMuchSmallerThan (const Scalar &x, const OtherScalar &y, const typename NumTraits< Scalar >::Real &precision=NumTraits< Scalar >::dummy_precision())
 
template<typename T >
bool() Eigen::numext::isnan (const T &x)
 
template<typename T >
bool Eigen::internal::isnan_impl (const std::complex< T > &x)
 
template<typename T >
std::enable_if_t<!(std::numeric_limits< T >::has_quiet_NaN||std::numeric_limits< T >::has_signaling_NaN), boolEigen::internal::isnan_impl (const T &)
 
template<typename T >
std::enable_if_t<(std::numeric_limits< T >::has_quiet_NaN||std::numeric_limits< T >::has_signaling_NaN) &&(!NumTraits< T >::IsComplex), boolEigen::internal::isnan_impl (const T &x)
 
template<typename T >
EIGEN_ALWAYS_INLINE T Eigen::numext::log (const T &x)
 
int Eigen::numext::log2 (int x)
 
template<typename T >
EIGEN_ALWAYS_INLINE T Eigen::numext::maxi (const T &x, const T &y)
 
template<typename T >
EIGEN_ALWAYS_INLINE T Eigen::numext::mini (const T &x, const T &y)
 
template<typename ScalarX , typename ScalarY >
internal::pow_impl< ScalarX, ScalarY >::result_type Eigen::numext::pow (const ScalarX &x, const ScalarY &y)
 
template<typename Scalar >
internal::add_const_on_value_type_t< EIGEN_MATHFUNC_RETVAL(real_ref, Scalar) > Eigen::numext::real_ref (const Scalar &x)
 
template<typename Scalar >
Scalar Eigen::numext::rint (const Scalar &x)
 
template<typename Scalar >
Scalar Eigen::numext::round (const Scalar &x)
 
template<typename T >
EIGEN_ALWAYS_INLINE T Eigen::numext::rsqrt (const T &x)
 
template<typename Scalar >
static constexpr EIGEN_ALWAYS_INLINE Scalar Eigen::numext::signbit (const Scalar &x)
 
template<typename T >
EIGEN_ALWAYS_INLINE T Eigen::numext::sin (const T &x)
 
template<typename T >
EIGEN_ALWAYS_INLINE T Eigen::numext::sinh (const T &x)
 
template<>
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS bool Eigen::numext::sqrt< bool > (const bool &x)
 
template<typename T >
EIGEN_ALWAYS_INLINE T Eigen::numext::tan (const T &x)
 
template<typename T >
EIGEN_ALWAYS_INLINE T Eigen::numext::tanh (const T &x)
 

Variables

const Scalar & Eigen::internal::y
 
const Scalar & Eigen::numext::y
 

Macro Definition Documentation

◆ EIGEN_LN2

#define EIGEN_LN2

Definition at line 18 of file MathFunctions.h.

◆ EIGEN_LOG2E

#define EIGEN_LOG2E

Definition at line 17 of file MathFunctions.h.

◆ EIGEN_MATHFUNC_IMPL

#define EIGEN_MATHFUNC_IMPL (   func,
  scalar 
)

Definition at line 63 of file MathFunctions.h.

◆ EIGEN_MATHFUNC_RETVAL

#define EIGEN_MATHFUNC_RETVAL (   func,
  scalar 
)

Definition at line 64 of file MathFunctions.h.

◆ EIGEN_PI

#define EIGEN_PI

Definition at line 16 of file MathFunctions.h.