Example #1
0
/*
 * call-seq:
 *    int.gcdlcm(int2)  ->  array
 *
 * Returns an array; [int.gcd(int2), int.lcm(int2)].
 *
 * For example:
 *
 *    2.gcdlcm(2)                    #=> [2, 2]
 *    3.gcdlcm(-7)                   #=> [1, 21]
 *    ((1<<31)-1).gcdlcm((1<<61)-1)  #=> [1, 4951760154835678088235319297]
 */
VALUE
rb_gcdlcm(VALUE self, SEL sel, VALUE other)
{
    other = nurat_int_value(other);
    return rb_assoc_new(f_gcd(self, other), f_lcm(self, other));
}
Example #2
0
VALUE
rb_gcdlcm(VALUE self, VALUE other)
{
    nurat_int_check(other);
    return rb_assoc_new(f_gcd(self, other), f_lcm(self, other));
}
Example #3
0
/*
 * call-seq:
 *    int.lcm(int2)  ->  integer
 *
 * Returns the least common multiple (always positive).  0.lcm(x) and
 * x.lcm(0) return zero.
 *
 * For example:
 *
 *    2.lcm(2)                    #=> 2
 *    3.lcm(-7)                   #=> 21
 *    ((1<<31)-1).lcm((1<<61)-1)  #=> 4951760154835678088235319297
 */
VALUE
rb_lcm(VALUE self, SEL sel, VALUE other)
{
    other = nurat_int_value(other);
    return f_lcm(self, other);
}
Example #4
0
VALUE
rb_lcm(VALUE self, VALUE other)
{
    nurat_int_check(other);
    return f_lcm(self, other);
}