36 return abs(a * (b /
gcd(a,b)));
39template<
typename T1,
typename T2,
typename TC = common_t<T1,T2>>
45 return lcm_compute(
static_cast<TC
>(a),
static_cast<TC
>(b));
59template<
typename T1,
typename T2>
62lcm(
const T1 a,
const T2 b)
constexpr TC lcm_type_check(const T1 a, const T2 b) noexcept
Definition lcm.hpp:42
constexpr T lcm_compute(const T a, const T b) noexcept
Definition lcm.hpp:33
constexpr T abs(const T x) noexcept
Compile-time absolute value function.
Definition abs.hpp:40
constexpr common_t< T1, T2 > gcd(const T1 a, const T2 b) noexcept
Compile-time greatest common divisor (GCD) function.
Definition gcd.hpp:79
typename std::common_type< T... >::type common_t
Definition gcem_options.hpp:80
constexpr common_t< T1, T2 > lcm(const T1 a, const T2 b) noexcept
Compile-time least common multiple (LCM) function.
Definition lcm.hpp:62