| 49 | } |
| 50 | |
| 51 | int main() { |
| 52 | vector<int> a = {-10, -51, -96, 2, 83, 95}; |
| 53 | vector<int> b = {1, -85, -62, -40, 94, -88, 58, 47, -45}; |
| 54 | vector<int> expected = {-10, 799, 4859, 11724, 6965, -7158, -18417, -4002, -3689, -475, 868, 9321, 730, -4275}; |
| 55 | |
| 56 | { |
| 57 | vector<int> result = recursive::multiply(a, b); |
| 58 | for (int i = 0; i < (int)expected.size(); i++) |
| 59 | assert(expected[i] == result[i]); |
| 60 | } |
| 61 | { |
| 62 | vector<int> result = iterative::multiply(a, b); |
| 63 | for (int i = 0; i < (int)expected.size(); i++) |
| 64 | assert(expected[i] == result[i]); |
| 65 | } |
| 66 | { |
| 67 | vector<int> result = iterative_opt::multiply(a, b); |
| 68 | for (int i = 0; i < (int)expected.size(); i++) |
| 69 | assert(expected[i] == result[i]); |
| 70 | } |
| 71 | |
| 72 | { |
| 73 | vector<int> result = modular::multiply(a, b); |
| 74 | for (int i = 0; i < (int)expected.size(); i++) |
| 75 | assert((expected[i] - result[i]) % modular::mod == 0); |
| 76 | } |
| 77 | } |
nothing calls this directly
no test coverage detected