Lines Matching refs:numeric_limits
69 std::numeric_limits<Integer>::is_integer,
76 std::numeric_limits<Integer>::is_integer,
83 std::numeric_limits<Integer>::is_integer,
86 std::numeric_limits<Integer>::is_signed>::type>::type type;
91 static const typename std::enable_if<std::numeric_limits<Integer>::is_integer,
101 bool IsInteger = std::numeric_limits<Numeric>::is_integer,
102 bool IsFloat = std::numeric_limits<Numeric>::is_iec559>
135 typename std::enable_if<std::numeric_limits<T>::is_integer, T>::type
145 if (std::numeric_limits<T>::is_signed) {
158 typename std::enable_if<std::numeric_limits<T>::is_integer, T>::type
168 if (std::numeric_limits<T>::is_signed) {
185 typename std::enable_if<std::numeric_limits<T>::is_integer &&
197 typename std::enable_if<std::numeric_limits<T>::is_integer &&
198 std::numeric_limits<T>::is_signed &&
209 x <= std::numeric_limits<T>::max() / y ? RANGE_VALID : RANGE_OVERFLOW;
211 *validity = y >= std::numeric_limits<T>::min() / x ? RANGE_VALID
216 *validity = x >= std::numeric_limits<T>::min() / y ? RANGE_VALID
220 y >= std::numeric_limits<T>::max() / x ? RANGE_VALID : RANGE_OVERFLOW;
227 typename std::enable_if<std::numeric_limits<T>::is_integer &&
228 !std::numeric_limits<T>::is_signed &&
232 *validity = (y == 0 || x <= std::numeric_limits<T>::max() / y)
243 typename std::enable_if<std::numeric_limits<T>::is_integer,
245 if (std::numeric_limits<T>::is_signed && x == std::numeric_limits<T>::min() &&
248 return std::numeric_limits<T>::min();
256 typename std::enable_if<std::numeric_limits<T>::is_integer &&
257 std::numeric_limits<T>::is_signed,
265 typename std::enable_if<std::numeric_limits<T>::is_integer &&
266 !std::numeric_limits<T>::is_signed,
274 typename std::enable_if<std::numeric_limits<T>::is_integer &&
275 std::numeric_limits<T>::is_signed,
279 value != std::numeric_limits<T>::min() ? RANGE_VALID : RANGE_OVERFLOW;
285 typename std::enable_if<std::numeric_limits<T>::is_integer &&
286 !std::numeric_limits<T>::is_signed,
296 typename std::enable_if<std::numeric_limits<T>::is_integer &&
297 std::numeric_limits<T>::is_signed,
301 value != std::numeric_limits<T>::min() ? RANGE_VALID : RANGE_OVERFLOW;
306 typename std::enable_if<std::numeric_limits<T>::is_integer &&
307 !std::numeric_limits<T>::is_signed,
316 typename std::enable_if<std::numeric_limits<T>::is_integer &&
317 std::numeric_limits<T>::is_signed,
321 return value == std::numeric_limits<T>::min()
322 ? static_cast<UnsignedT>(std::numeric_limits<T>::max()) + 1
327 typename std::enable_if<std::numeric_limits<T>::is_integer &&
328 !std::numeric_limits<T>::is_signed,
339 typename std::enable_if<std::numeric_limits<T>::is_iec559, T>::type \
354 typename std::enable_if<std::numeric_limits<T>::is_iec559, T>::type CheckedNeg(
361 typename std::enable_if<std::numeric_limits<T>::is_iec559, T>::type CheckedAbs(
379 std::numeric_limits<NumericType>::is_integer
381 : (std::numeric_limits<NumericType>::is_iec559 ? NUMERIC_FLOATING
407 static_assert(std::numeric_limits<Src>::is_specialized,
421 typename std::enable_if<std::numeric_limits<Src>::is_specialized,
446 typename std::enable_if<std::numeric_limits<Src>::is_integer, int>::type =
454 value_ = -std::numeric_limits<T>::infinity();
458 value_ = std::numeric_limits<T>::infinity();
462 value_ = std::numeric_limits<T>::quiet_NaN();
473 typename std::enable_if<std::numeric_limits<Src>::is_specialized,
483 return GetRangeConstraint(value_ <= std::numeric_limits<T>::max(),
484 value_ >= -std::numeric_limits<T>::max());
533 static const bool value = !std::numeric_limits<T>::is_iec559 &&