10 #ifndef EIGEN_NUMTRAITS_H 11 #define EIGEN_NUMTRAITS_H 20 bool use_numeric_limits = std::numeric_limits<T>::is_specialized,
25 static int run() {
return std::numeric_limits<T>::digits10; }
44 static int run() {
return 0; }
51 bool use_numeric_limits = std::numeric_limits<T>::is_specialized,
56 static int run() {
return std::numeric_limits<T>::digits; }
75 static int run() {
return 0; }
84 template <
typename Tgt,
typename Src>
86 #if EIGEN_HAS_TYPE_TRAITS 90 THIS_TYPE_IS_NOT_SUPPORTED);
96 memcpy(&tgt, &src,
sizeof(Tgt));
155 IsInteger = std::numeric_limits<T>::is_integer,
156 IsSigned = std::numeric_limits<T>::is_signed,
180 static inline int digits10()
186 static inline int digits()
192 static inline int min_exponent()
194 return numext::numeric_limits<T>::min_exponent;
198 static inline int max_exponent()
200 return numext::numeric_limits<T>::max_exponent;
204 static inline Real dummy_precision()
211 static inline T highest() {
216 static inline T lowest() {
222 static inline T infinity() {
223 return numext::numeric_limits<T>::infinity();
227 static inline T quiet_NaN() {
228 return numext::numeric_limits<T>::quiet_NaN();
276 template<
typename Scalar,
int Rows,
int Cols,
int Options,
int MaxRows,
int MaxCols>
291 RequireInitialization = 1,
310 RequireInitialization = 1,
320 static inline std::string
epsilon();
321 static inline std::string dummy_precision();
322 static inline std::string lowest();
323 static inline std::string highest();
324 static inline std::string infinity();
325 static inline std::string quiet_NaN();
335 #endif // EIGEN_NUMTRAITS_H NumTraits< Scalar >::NonInteger NonIntegerScalar
#define EIGEN_STRONG_INLINE
EIGEN_DEVICE_FUNC static EIGEN_CONSTEXPR int run()
Namespace containing all symbols from the Eigen library.
Holds information about the various numeric (i.e. scalar) types allowed by Eigen. ...
#define EIGEN_STATIC_ASSERT(CONDITION, MSG)
EIGEN_DEVICE_FUNC const LogReturnType log() const
NumTraits< _Real >::Literal Literal
EIGEN_DEVICE_FUNC static EIGEN_CONSTEXPR int run()
static const Line3 l(Rot3(), 1, 1)
static EIGEN_CONSTEXPR int digits10()
EIGEN_DEVICE_FUNC static EIGEN_CONSTEXPR RealScalar epsilon()
EIGEN_DEVICE_FUNC static EIGEN_CONSTEXPR Real dummy_precision()
EIGEN_DEVICE_FUNC static EIGEN_CONSTEXPR int digits10()
Array< Scalar, Rows, Cols, Options, MaxRows, MaxCols > ArrayType
Eigen::Triplet< double > T
NumTraits< Scalar >::Real RealScalar
Point2(* f)(const Point3 &, OptionalJacobian< 2, 3 >)
Array< double, 1, 3 > e(1./3., 0.5, 2.)
EIGEN_DEVICE_FUNC static EIGEN_CONSTEXPR RealScalar dummy_precision()
EIGEN_DEVICE_FUNC static EIGEN_CONSTEXPR int run()
#define EIGEN_DEVICE_FUNC
mp::number< mp::cpp_dec_float< 100 >, mp::et_on > Real
EIGEN_DEVICE_FUNC static EIGEN_CONSTEXPR int run()
EIGEN_DEVICE_FUNC const Log10ReturnType log10() const
#define EIGEN_USING_STD(FUNC)
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Tgt bit_cast(const Src &src)
EIGEN_DEVICE_FUNC static EIGEN_CONSTEXPR double dummy_precision()
General-purpose arrays with easy API for coefficient-wise operations.
EIGEN_DEVICE_FUNC static EIGEN_CONSTEXPR float dummy_precision()
Array< NonIntegerScalar, Rows, Cols, Options, MaxRows, MaxCols > NonInteger
EIGEN_DEVICE_FUNC static EIGEN_CONSTEXPR int run()
NumTraits< Scalar >::Literal Literal
Array< RealScalar, Rows, Cols, Options, MaxRows, MaxCols > Real
static EIGEN_CONSTEXPR int digits10()
static EIGEN_CONSTEXPR long double dummy_precision()
EIGEN_DEVICE_FUNC const CeilReturnType ceil() const
EIGEN_DEVICE_FUNC static EIGEN_CONSTEXPR int run()
EIGEN_DEVICE_FUNC static EIGEN_CONSTEXPR Real epsilon()