No need to divide when there is no common denominator

This commit is contained in:
Juan Jose Garcia Ripoll 2009-03-01 23:19:47 +01:00
parent 0490d915be
commit fb7ef0c3b4

View file

@ -316,8 +316,10 @@ ecl_make_ratio(cl_object num, cl_object den)
den = ecl_negate(den);
}
g = ecl_gcd(num, den);
num = ecl_integer_divide(num, g);
den = ecl_integer_divide(den, g);
if (g != MAKE_FIXNUM(1)) {
num = ecl_integer_divide(num, g);
den = ecl_integer_divide(den, g);
}
if (den == MAKE_FIXNUM(1))
return num;
if (den == MAKE_FIXNUM(-1))