From fb7ef0c3b4cddd56dace0cebc5ff7df53daabd90 Mon Sep 17 00:00:00 2001 From: Juan Jose Garcia Ripoll Date: Sun, 1 Mar 2009 23:19:47 +0100 Subject: [PATCH] No need to divide when there is no common denominator --- src/c/number.d | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/c/number.d b/src/c/number.d index 7237a89e3..899a15930 100644 --- a/src/c/number.d +++ b/src/c/number.d @@ -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))