| 164 | // Least Common Multiple. |
| 165 | template <typename Number, typename EnableIf = typename std::enable_if_t<std::is_integral_v<Number>, void>> |
| 166 | Number constexpr LCM(Number const a, Number const b) |
| 167 | { |
| 168 | return a / GCD(a, b) * b; |
| 169 | } |
| 170 | |
| 171 | // Calculate hash for the pair of values. |
| 172 | template <typename T1, typename T2> |