7#ifdef ENABLE_EIGEN_SUPPORT
21#define EIGEN_NUMTRAITS(float_type) \
24 struct NumTraits<sigma::Uncertain<float_type>> : NumTraits<float_type> { \
26 using Uncertain = sigma::Uncertain<float_type>; \
28 using Real = Uncertain; \
30 using NonInteger = Uncertain; \
32 using Literal = Uncertain; \
34 using Nested = Uncertain; \
39 RequireInitialization = 1, \
49#define EIGEN_NUMTRAITS_INTERVAL(float_type) \
52 struct NumTraits<sigma::Interval<float_type>> : NumTraits<float_type> { \
54 using Interval = sigma::Interval<float_type>; \
56 using Real = Interval; \
58 using NonInteger = Interval; \
60 using Literal = Interval; \
62 using Nested = Interval; \
67 RequireInitialization = 1, \
91#undef EIGEN_NUMTRAITS_INTERVAL
Models a numeric interval.
Definition interval.hpp:21
Models an unceratin variable.
Definition uncertain.hpp:33
#define EIGEN_NUMTRAITS(float_type)
Factorization for Eigen::NumTraits Specialization for Uncertain.
Definition eigen_compat.hpp:21
#define EIGEN_NUMTRAITS_INTERVAL(float_type)
Factorization for Eigen::NumTraits Specialization for Interval.
Definition eigen_compat.hpp:49
The namespace of the Eigen library.
The primary namespace for the sigma library.
Definition operation_common.hpp:10