diff options
Diffstat (limited to 'stdlib/source/lux/math/ratio.lux')
-rw-r--r-- | stdlib/source/lux/math/ratio.lux | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/stdlib/source/lux/math/ratio.lux b/stdlib/source/lux/math/ratio.lux index 5fb82c8a5..c2c9e7183 100644 --- a/stdlib/source/lux/math/ratio.lux +++ b/stdlib/source/lux/math/ratio.lux @@ -24,7 +24,8 @@ (def: #hidden (normalize (^slots [#numerator #denominator])) (-> Ratio Ratio) - (let [common (math;gcd numerator denominator) + (let [common (nat-to-int (math;gcd (int-to-nat (i:abs numerator)) + (int-to-nat (i:abs denominator)))) numerator (i./ common numerator) denominator (i./ common denominator)] {#numerator (if (and (i.< 0 numerator) |