Lines Matching defs:value
25 typename std::enable_if<std::is_integral<T>::value &&
26 std::is_signed<T>::value>::type* = nullptr>
27 constexpr T SaturatedNegWrapper(T value) {
28 return MustTreatAsConstexpr(value) || !ClampedNegFastOp<T>::is_supported
29 ? (NegateWrapper(value) != std::numeric_limits<T>::lowest()
30 ? NegateWrapper(value)
32 : ClampedNegFastOp<T>::Do(value);
36 typename std::enable_if<std::is_integral<T>::value &&
37 !std::is_signed<T>::value>::type* = nullptr>
38 constexpr T SaturatedNegWrapper(T value) {
44 typename std::enable_if<std::is_floating_point<T>::value>::type* = nullptr>
45 constexpr T SaturatedNegWrapper(T value) {
46 return -value;
50 typename std::enable_if<std::is_integral<T>::value>::type* = nullptr>
51 constexpr T SaturatedAbsWrapper(T value) {
53 // signed integer types it provides a non-branching, saturated absolute value.
55 // represent the absolute value of all negative numbers of an equal-width
58 // a signed integer value. If it is the overflow case, we end up subtracting
60 return static_cast<T>(SafeUnsignedAbs(value) -
61 IsValueNegative<T>(SafeUnsignedAbs(value)));
66 typename std::enable_if<std::is_floating_point<T>::value>::type* = nullptr>
67 constexpr T SaturatedAbsWrapper(T value) {
68 return value < 0 ? -value : value;
77 typename std::enable_if<std::is_integral<T>::value &&
78 std::is_integral<U>::value>::type> {
85 static_assert(std::is_same<V, result_type>::value ||
86 IsTypeInRangeForNumericType<U, V>::value,
103 typename std::enable_if<std::is_integral<T>::value &&
104 std::is_integral<U>::value>::type> {
112 static_assert(std::is_same<V, result_type>::value ||
113 IsTypeInRangeForNumericType<U, V>::value,
130 typename std::enable_if<std::is_integral<T>::value &&
131 std::is_integral<U>::value>::type> {
154 typename std::enable_if<std::is_integral<T>::value &&
155 std::is_integral<U>::value>::type> {
174 typename std::enable_if<std::is_integral<T>::value &&
175 std::is_integral<U>::value>::type> {
190 // shifted by any value always results in zero.
194 typename std::enable_if<std::is_integral<T>::value &&
195 std::is_integral<U>::value>::type> {
199 static_assert(!std::is_signed<U>::value, "Shift value must be unsigned.");
218 typename std::enable_if<std::is_integral<T>::value &&
219 std::is_integral<U>::value>::type> {
223 static_assert(!std::is_signed<U>::value, "Shift value must be unsigned.");
226 return BASE_NUMERICS_LIKELY(shift < IntegerBitsPlusSign<T>::value)
238 typename std::enable_if<std::is_integral<T>::value &&
239 std::is_integral<U>::value>::type> {
255 typename std::enable_if<std::is_integral<T>::value &&
256 std::is_integral<U>::value>::type> {
272 typename std::enable_if<std::is_integral<T>::value &&
273 std::is_integral<U>::value>::type> {
289 typename std::enable_if<std::is_arithmetic<T>::value &&
290 std::is_arithmetic<U>::value>::type> {
306 typename std::enable_if<std::is_arithmetic<T>::value &&
307 std::is_arithmetic<U>::value>::type> {
322 typename std::enable_if<std::is_floating_point<T>::value || \
323 std::is_floating_point<U>::value>::type> { \