155 IsInteger = std::numeric_limits<T>::is_integer,
156 IsSigned = std::numeric_limits<T>::is_signed,
173 EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR
174 static inline Real epsilon()
176 return numext::numeric_limits<T>::epsilon();
179 EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR
180 static inline int digits10()
185 EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR
186 static inline int digits()
191 EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR
192 static inline int min_exponent()
194 return numext::numeric_limits<T>::min_exponent;
197 EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR
198 static inline int max_exponent()
200 return numext::numeric_limits<T>::max_exponent;
203 EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR
204 static inline Real dummy_precision()
210 EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR
211 static inline T highest() {
212 return (numext::numeric_limits<T>::max)();
215 EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR
216 static inline T lowest() {
217 return IsInteger ? (numext::numeric_limits<T>::min)()
218 :
static_cast<T
>(-(numext::numeric_limits<T>::max)());
221 EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR
222 static inline T infinity() {
223 return numext::numeric_limits<T>::infinity();
226 EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR
227 static inline T quiet_NaN() {
228 return numext::numeric_limits<T>::quiet_NaN();
280 typedef typename NumTraits<Scalar>::Real RealScalar;
291 RequireInitialization = 1,
297 EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR
299 EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR