| 13 | namespace { |
| 14 | template <typename Int> |
| 15 | static void |
| 16 | CommutativeMultCheck( Int a, Int b, Int upper_result, Int lower_result ) { |
| 17 | using Catch::Detail::extendedMult; |
| 18 | using Catch::Detail::ExtendedMultResult; |
| 19 | CHECK( extendedMult( a, b ) == |
| 20 | ExtendedMultResult<Int>{ upper_result, lower_result } ); |
| 21 | CHECK( extendedMult( b, a ) == |
| 22 | ExtendedMultResult<Int>{ upper_result, lower_result } ); |
| 23 | } |
| 24 | |
| 25 | // Simple (and slow) implementation of extended multiplication for tests |
| 26 | constexpr Catch::Detail::ExtendedMultResult<std::uint64_t> |
nothing calls this directly
no test coverage detected