13     unsigned int gcd(
unsigned int a, 
unsigned int b)
 
   15       require(b, 
"gcd: rhs cannot be zero");
 
   28     unsigned int lcm(
unsigned int a, 
unsigned int b)
 
   30       return a / 
gcd(a, b) * 
b;
 
ATTRIBUTE_PURE unsigned int lcm(unsigned int a, unsigned int b)
Lowest common multiple. 
ATTRIBUTE_PURE unsigned int gcd(unsigned int a, unsigned int b)
Greatest common divisor. 
void require(Bool b, Args &&...args)
If b is not verified, raise an error with args as message. 
Provide a variadic mul on top of a binary mul(), and one(). 
weightset_mixin< detail::b_impl > b