stdex
Additional custom or not Standard C++ covered algorithms
Loading...
Searching...
No Matches
math.hpp
1#pragma once
2
3#include "common.hpp"
4#include <stdex/math.hpp>
5
6using namespace std;
7
8namespace UnitTests
9{
10 class math
11 {
12 public:
13 static void mul()
14 {
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); });
25 }
26
27 static void add()
28 {
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); });
37 }
38 };
39}
Definition math.hpp:11