Lines Matching refs:CheckedNumeric
115 U GetNumericValueForTest(const CheckedNumeric<U>& src) { in GetNumericValueForTest()
149 constexpr T GetValue(const CheckedNumeric<T>& src) { in GetValue()
154 constexpr T GetValueAsDest(const CheckedNumeric<U>& src) { in GetValueAsDest()
209 TEST_EXPECTED_FAILURE(-CheckedNumeric<Dst>(DstLimits::lowest())); in TestSpecializedArithmetic()
210 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(DstLimits::lowest()).Abs()); in TestSpecializedArithmetic()
211 TEST_EXPECTED_VALUE(1, CheckedNumeric<Dst>(-1).Abs()); in TestSpecializedArithmetic()
223 TEST_EXPECTED_SUCCESS(CheckedNumeric<Dst>(DstLimits::max()) + -1); in TestSpecializedArithmetic()
224 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(DstLimits::lowest()) + -1); in TestSpecializedArithmetic()
225 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(DstLimits::lowest()) + in TestSpecializedArithmetic()
236 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(DstLimits::lowest()) - 1); in TestSpecializedArithmetic()
237 TEST_EXPECTED_SUCCESS(CheckedNumeric<Dst>(DstLimits::lowest()) - -1); in TestSpecializedArithmetic()
238 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(DstLimits::max()) - in TestSpecializedArithmetic()
240 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(DstLimits::lowest()) - in TestSpecializedArithmetic()
254 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(DstLimits::lowest()) * 2); in TestSpecializedArithmetic()
258 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(DstLimits::lowest()) / -1); in TestSpecializedArithmetic()
259 TEST_EXPECTED_VALUE(0, CheckedNumeric<Dst>(-1) / 2); in TestSpecializedArithmetic()
260 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(DstLimits::lowest()) * -1); in TestSpecializedArithmetic()
262 CheckedNumeric<Dst>(DstLimits::lowest() + 1) * Dst(-1)); in TestSpecializedArithmetic()
264 CheckedNumeric<Dst>(-1) * Dst(DstLimits::lowest() + 1)); in TestSpecializedArithmetic()
266 CheckedNumeric<Dst>(DstLimits::lowest()) * Dst(1)); in TestSpecializedArithmetic()
268 CheckedNumeric<Dst>(1) * Dst(DstLimits::lowest())); in TestSpecializedArithmetic()
274 TEST_EXPECTED_VALUE(0, CheckedNumeric<Dst>(0).UnsignedAbs()); in TestSpecializedArithmetic()
275 TEST_EXPECTED_VALUE(1, CheckedNumeric<Dst>(1).UnsignedAbs()); in TestSpecializedArithmetic()
276 TEST_EXPECTED_VALUE(1, CheckedNumeric<Dst>(-1).UnsignedAbs()); in TestSpecializedArithmetic()
301 TEST_EXPECTED_VALUE(0, CheckedNumeric<Dst>() % 1); in TestSpecializedArithmetic()
302 TEST_EXPECTED_VALUE(0, CheckedNumeric<Dst>(1) % 1); in TestSpecializedArithmetic()
303 TEST_EXPECTED_VALUE(-1, CheckedNumeric<Dst>(-1) % 2); in TestSpecializedArithmetic()
304 TEST_EXPECTED_VALUE(-1, CheckedNumeric<Dst>(-1) % -2); in TestSpecializedArithmetic()
305 TEST_EXPECTED_VALUE(0, CheckedNumeric<Dst>(DstLimits::lowest()) % 2); in TestSpecializedArithmetic()
306 TEST_EXPECTED_VALUE(1, CheckedNumeric<Dst>(DstLimits::max()) % 2); in TestSpecializedArithmetic()
308 TEST_EXPECTED_VALUE(0, CheckedNumeric<Dst>(1) % CheckedNumeric<Dst>(1)); in TestSpecializedArithmetic()
309 TEST_EXPECTED_VALUE(0, 1 % CheckedNumeric<Dst>(1)); in TestSpecializedArithmetic()
310 TEST_EXPECTED_VALUE(0, CheckedNumeric<Dst>(1) % 1); in TestSpecializedArithmetic()
311 CheckedNumeric<Dst> checked_dst = 1; in TestSpecializedArithmetic()
314 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(1) % 0); in TestSpecializedArithmetic()
317 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(1) << negative_one); in TestSpecializedArithmetic()
318 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(1) in TestSpecializedArithmetic()
320 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(0) in TestSpecializedArithmetic()
322 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(DstLimits::max()) << 1); in TestSpecializedArithmetic()
325 CheckedNumeric<Dst>(1) << (IntegerBitsPlusSign<Dst>::value - 2)); in TestSpecializedArithmetic()
326 TEST_EXPECTED_VALUE(0, CheckedNumeric<Dst>(0) in TestSpecializedArithmetic()
328 TEST_EXPECTED_VALUE(1, CheckedNumeric<Dst>(1) << 0); in TestSpecializedArithmetic()
329 TEST_EXPECTED_VALUE(2, CheckedNumeric<Dst>(1) << 1); in TestSpecializedArithmetic()
330 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(1) >> in TestSpecializedArithmetic()
333 0, CheckedNumeric<Dst>(1) >> (IntegerBitsPlusSign<Dst>::value - 1)); in TestSpecializedArithmetic()
334 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(1) >> negative_one); in TestSpecializedArithmetic()
386 TEST_EXPECTED_SUCCESS(-CheckedNumeric<Dst>(DstLimits::lowest())); in TestSpecializedArithmetic()
387 TEST_EXPECTED_SUCCESS(CheckedNumeric<Dst>(DstLimits::lowest()).Abs()); in TestSpecializedArithmetic()
388 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(DstLimits::lowest()) + -1); in TestSpecializedArithmetic()
389 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(DstLimits::lowest()) - 1); in TestSpecializedArithmetic()
390 TEST_EXPECTED_VALUE(0, CheckedNumeric<Dst>(DstLimits::lowest()) * 2); in TestSpecializedArithmetic()
391 TEST_EXPECTED_VALUE(0, CheckedNumeric<Dst>(1) / 2); in TestSpecializedArithmetic()
392 TEST_EXPECTED_SUCCESS(CheckedNumeric<Dst>(DstLimits::lowest()).UnsignedAbs()); in TestSpecializedArithmetic()
394 CheckedNumeric<typename std::make_signed<Dst>::type>( in TestSpecializedArithmetic()
401 TEST_EXPECTED_VALUE(0, CheckedNumeric<Dst>(0).UnsignedAbs()); in TestSpecializedArithmetic()
402 TEST_EXPECTED_VALUE(1, CheckedNumeric<Dst>(1).UnsignedAbs()); in TestSpecializedArithmetic()
428 TEST_EXPECTED_VALUE(0, CheckedNumeric<Dst>() % 1); in TestSpecializedArithmetic()
429 TEST_EXPECTED_VALUE(0, CheckedNumeric<Dst>(1) % 1); in TestSpecializedArithmetic()
430 TEST_EXPECTED_VALUE(1, CheckedNumeric<Dst>(1) % 2); in TestSpecializedArithmetic()
431 TEST_EXPECTED_VALUE(0, CheckedNumeric<Dst>(DstLimits::lowest()) % 2); in TestSpecializedArithmetic()
432 TEST_EXPECTED_VALUE(1, CheckedNumeric<Dst>(DstLimits::max()) % 2); in TestSpecializedArithmetic()
434 TEST_EXPECTED_VALUE(0, CheckedNumeric<Dst>(1) % CheckedNumeric<Dst>(1)); in TestSpecializedArithmetic()
435 TEST_EXPECTED_VALUE(0, 1 % CheckedNumeric<Dst>(1)); in TestSpecializedArithmetic()
436 TEST_EXPECTED_VALUE(0, CheckedNumeric<Dst>(1) % 1); in TestSpecializedArithmetic()
437 CheckedNumeric<Dst> checked_dst = 1; in TestSpecializedArithmetic()
440 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(1) % 0); in TestSpecializedArithmetic()
441 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(1) in TestSpecializedArithmetic()
445 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(1) << negative_one); in TestSpecializedArithmetic()
446 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(1) in TestSpecializedArithmetic()
448 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(0) in TestSpecializedArithmetic()
450 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(DstLimits::max()) << 1); in TestSpecializedArithmetic()
453 CheckedNumeric<Dst>(1) << (IntegerBitsPlusSign<Dst>::value - 1)); in TestSpecializedArithmetic()
454 TEST_EXPECTED_VALUE(1, CheckedNumeric<Dst>(1) << 0); in TestSpecializedArithmetic()
455 TEST_EXPECTED_VALUE(2, CheckedNumeric<Dst>(1) << 1); in TestSpecializedArithmetic()
456 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(1) >> in TestSpecializedArithmetic()
459 0, CheckedNumeric<Dst>(1) >> (IntegerBitsPlusSign<Dst>::value - 1)); in TestSpecializedArithmetic()
460 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(1) >> negative_one); in TestSpecializedArithmetic()
461 TEST_EXPECTED_VALUE(1, CheckedNumeric<Dst>(1) & 1); in TestSpecializedArithmetic()
462 TEST_EXPECTED_VALUE(0, CheckedNumeric<Dst>(1) & 0); in TestSpecializedArithmetic()
463 TEST_EXPECTED_VALUE(0, CheckedNumeric<Dst>(0) & 1); in TestSpecializedArithmetic()
464 TEST_EXPECTED_VALUE(0, CheckedNumeric<Dst>(1) & 0); in TestSpecializedArithmetic()
467 TEST_EXPECTED_VALUE(1, CheckedNumeric<Dst>(1) | 1); in TestSpecializedArithmetic()
468 TEST_EXPECTED_VALUE(1, CheckedNumeric<Dst>(1) | 0); in TestSpecializedArithmetic()
469 TEST_EXPECTED_VALUE(1, CheckedNumeric<Dst>(0) | 1); in TestSpecializedArithmetic()
470 TEST_EXPECTED_VALUE(0, CheckedNumeric<Dst>(0) | 0); in TestSpecializedArithmetic()
472 CheckedNumeric<Dst>(0) | static_cast<Dst>(-1)); in TestSpecializedArithmetic()
473 TEST_EXPECTED_VALUE(0, CheckedNumeric<Dst>(1) ^ 1); in TestSpecializedArithmetic()
474 TEST_EXPECTED_VALUE(1, CheckedNumeric<Dst>(1) ^ 0); in TestSpecializedArithmetic()
475 TEST_EXPECTED_VALUE(1, CheckedNumeric<Dst>(0) ^ 1); in TestSpecializedArithmetic()
476 TEST_EXPECTED_VALUE(0, CheckedNumeric<Dst>(0) ^ 0); in TestSpecializedArithmetic()
478 CheckedNumeric<Dst>(0) ^ static_cast<Dst>(-1)); in TestSpecializedArithmetic()
479 TEST_EXPECTED_VALUE(DstLimits::max(), ~CheckedNumeric<Dst>(0)); in TestSpecializedArithmetic()
542 TEST_EXPECTED_SUCCESS(-CheckedNumeric<Dst>(DstLimits::lowest())); in TestSpecializedArithmetic()
544 TEST_EXPECTED_SUCCESS(CheckedNumeric<Dst>(DstLimits::lowest()).Abs()); in TestSpecializedArithmetic()
545 TEST_EXPECTED_VALUE(1, CheckedNumeric<Dst>(-1).Abs()); in TestSpecializedArithmetic()
547 TEST_EXPECTED_SUCCESS(CheckedNumeric<Dst>(DstLimits::lowest()) + -1); in TestSpecializedArithmetic()
548 TEST_EXPECTED_SUCCESS(CheckedNumeric<Dst>(DstLimits::max()) + 1); in TestSpecializedArithmetic()
549 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(DstLimits::lowest()) + in TestSpecializedArithmetic()
552 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(DstLimits::max()) - in TestSpecializedArithmetic()
554 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(DstLimits::lowest()) - in TestSpecializedArithmetic()
557 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(DstLimits::lowest()) * 2); in TestSpecializedArithmetic()
559 TEST_EXPECTED_VALUE(-0.5, CheckedNumeric<Dst>(-1.0) / 2); in TestSpecializedArithmetic()
594 EXPECT_EQ(true, CheckedNumeric<Dst>().IsValid()); in TestArithmetic()
595 EXPECT_EQ(false, CheckedNumeric<Dst>(CheckedNumeric<Dst>(DstLimits::max()) * in TestArithmetic()
598 EXPECT_EQ(static_cast<Dst>(0), CheckedNumeric<Dst>().ValueOrDie()); in TestArithmetic()
599 EXPECT_EQ(static_cast<Dst>(0), CheckedNumeric<Dst>().ValueOrDefault(1)); in TestArithmetic()
601 CheckedNumeric<Dst>(CheckedNumeric<Dst>(DstLimits::max()) * in TestArithmetic()
606 TEST_EXPECTED_VALUE(2, CheckedNumeric<Dst>(1) + CheckedNumeric<Dst>(1)); in TestArithmetic()
607 TEST_EXPECTED_VALUE(0, CheckedNumeric<Dst>(1) - CheckedNumeric<Dst>(1)); in TestArithmetic()
608 TEST_EXPECTED_VALUE(1, CheckedNumeric<Dst>(1) * CheckedNumeric<Dst>(1)); in TestArithmetic()
609 TEST_EXPECTED_VALUE(1, CheckedNumeric<Dst>(1) / CheckedNumeric<Dst>(1)); in TestArithmetic()
610 TEST_EXPECTED_VALUE(2, 1 + CheckedNumeric<Dst>(1)); in TestArithmetic()
611 TEST_EXPECTED_VALUE(0, 1 - CheckedNumeric<Dst>(1)); in TestArithmetic()
612 TEST_EXPECTED_VALUE(1, 1 * CheckedNumeric<Dst>(1)); in TestArithmetic()
613 TEST_EXPECTED_VALUE(1, 1 / CheckedNumeric<Dst>(1)); in TestArithmetic()
614 TEST_EXPECTED_VALUE(2, CheckedNumeric<Dst>(1) + 1); in TestArithmetic()
615 TEST_EXPECTED_VALUE(0, CheckedNumeric<Dst>(1) - 1); in TestArithmetic()
616 TEST_EXPECTED_VALUE(1, CheckedNumeric<Dst>(1) * 1); in TestArithmetic()
617 TEST_EXPECTED_VALUE(1, CheckedNumeric<Dst>(1) / 1); in TestArithmetic()
618 CheckedNumeric<Dst> checked_dst = 1; in TestArithmetic()
650 TEST_EXPECTED_VALUE(0, -CheckedNumeric<Dst>()); in TestArithmetic()
651 TEST_EXPECTED_VALUE(-1, -CheckedNumeric<Dst>(1)); in TestArithmetic()
652 TEST_EXPECTED_VALUE(1, -CheckedNumeric<Dst>(-1)); in TestArithmetic()
654 -CheckedNumeric<Dst>(DstLimits::max())); in TestArithmetic()
684 TEST_EXPECTED_VALUE(0, CheckedNumeric<Dst>().Abs()); in TestArithmetic()
685 TEST_EXPECTED_VALUE(1, CheckedNumeric<Dst>(1).Abs()); in TestArithmetic()
687 CheckedNumeric<Dst>(DstLimits::max()).Abs()); in TestArithmetic()
695 TEST_EXPECTED_VALUE(1, (CheckedNumeric<Dst>() + 1)); in TestArithmetic()
696 TEST_EXPECTED_VALUE(2, (CheckedNumeric<Dst>(1) + 1)); in TestArithmetic()
698 TEST_EXPECTED_VALUE(0, (CheckedNumeric<Dst>(-1) + 1)); in TestArithmetic()
699 TEST_EXPECTED_SUCCESS(CheckedNumeric<Dst>(DstLimits::lowest()) + 1); in TestArithmetic()
700 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(DstLimits::max()) + in TestArithmetic()
713 TEST_EXPECTED_VALUE(0, (CheckedNumeric<Dst>(1) - 1)); in TestArithmetic()
714 TEST_EXPECTED_SUCCESS(CheckedNumeric<Dst>(DstLimits::max()) - 1); in TestArithmetic()
716 TEST_EXPECTED_VALUE(-1, (CheckedNumeric<Dst>() - 1)); in TestArithmetic()
717 TEST_EXPECTED_VALUE(-2, (CheckedNumeric<Dst>(-1) - 1)); in TestArithmetic()
719 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(DstLimits::max()) - -1); in TestArithmetic()
734 TEST_EXPECTED_VALUE(0, (CheckedNumeric<Dst>() * 1)); in TestArithmetic()
735 TEST_EXPECTED_VALUE(1, (CheckedNumeric<Dst>(1) * 1)); in TestArithmetic()
736 TEST_EXPECTED_VALUE(0, (CheckedNumeric<Dst>(0) * 0)); in TestArithmetic()
738 TEST_EXPECTED_VALUE(0, (CheckedNumeric<Dst>(-1) * 0)); in TestArithmetic()
739 TEST_EXPECTED_VALUE(0, (CheckedNumeric<Dst>(0) * -1)); in TestArithmetic()
740 TEST_EXPECTED_VALUE(-2, (CheckedNumeric<Dst>(-1) * 2)); in TestArithmetic()
742 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(DstLimits::max()) * -2); in TestArithmetic()
743 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(DstLimits::max()) * in TestArithmetic()
744 CheckedNumeric<uintmax_t>(-2)); in TestArithmetic()
746 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(DstLimits::max()) * in TestArithmetic()
766 TEST_EXPECTED_VALUE(0, CheckedNumeric<Dst>() / 1); in TestArithmetic()
767 TEST_EXPECTED_VALUE(1, CheckedNumeric<Dst>(1) / 1); in TestArithmetic()
769 CheckedNumeric<Dst>(DstLimits::lowest()) / 2); in TestArithmetic()
771 CheckedNumeric<Dst>(DstLimits::max()) / 2); in TestArithmetic()
772 TEST_EXPECTED_FAILURE(CheckedNumeric<Dst>(1) / 0); in TestArithmetic()
963 const CheckedNumeric<Dst> checked_dst = SrcLimits::max(); in Test()
1017 const CheckedNumeric<Dst> checked_dst; in Test()
1083 const CheckedNumeric<Dst> checked_dst; in Test()
1117 const CheckedNumeric<Dst> checked_dst; in Test()
1185 const CheckedNumeric<Dst> checked_dst; in Test()
1382 EXPECT_TRUE(CheckedNumeric<uint64_t>(StrictNumeric<unsigned>(1U)).IsValid()); in TEST()
1383 EXPECT_TRUE(CheckedNumeric<int>(StrictNumeric<unsigned>(1U)).IsValid()); in TEST()
1384 EXPECT_FALSE(CheckedNumeric<unsigned>(StrictNumeric<int>(-1)).IsValid()); in TEST()
1572 CheckedNumeric<int> a = 1; in TEST()
1573 CheckedNumeric<int> b = 2; in TEST()
1574 CheckedNumeric<int> c = 3; in TEST()
1575 CheckedNumeric<int> d = 4; in TEST()
1585 CheckedNumeric<int> too_large = std::numeric_limits<int>::max(); in TEST()