15 are_equal<size_t>(10, stdex::mul(2, 5));
16 are_equal<size_t>(10, stdex::mul(5, 2));
17 are_equal<size_t>(0, stdex::mul(0, 10));
18 are_equal<size_t>(0, stdex::mul(10, 0));
19 are_equal<size_t>(0, stdex::mul(SIZE_MAX, 0));
20 are_equal<size_t>(0, stdex::mul(0, SIZE_MAX));
21 are_equal<size_t>(SIZE_MAX, stdex::mul(SIZE_MAX, 1));
22 are_equal<size_t>(SIZE_MAX, stdex::mul(1, SIZE_MAX));
23 expect_exception<std::invalid_argument>([] { stdex::mul(SIZE_MAX, 2); });
24 expect_exception<std::invalid_argument>([] { stdex::mul(2, SIZE_MAX); });
29 are_equal<size_t>(7, stdex::add(2, 5));
30 are_equal<size_t>(7, stdex::add(5, 2));
31 are_equal<size_t>(10, stdex::add(0, 10));
32 are_equal<size_t>(10, stdex::add(10, 0));
33 are_equal<size_t>(SIZE_MAX, stdex::add(SIZE_MAX, 0));
34 are_equal<size_t>(SIZE_MAX, stdex::add(0, SIZE_MAX));
35 expect_exception<std::invalid_argument>([] { stdex::add(SIZE_MAX, 1); });
36 expect_exception<std::invalid_argument>([] { stdex::add(1, SIZE_MAX); });