mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-14 05:12:38 -08:00
No need to divide when there is no common denominator
This commit is contained in:
parent
0490d915be
commit
fb7ef0c3b4
1 changed files with 4 additions and 2 deletions
|
|
@ -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))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue