summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--lib/pure/rationals.nim8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/pure/rationals.nim b/lib/pure/rationals.nim
index edb0ca637..659f9c918 100644
--- a/lib/pure/rationals.nim
+++ b/lib/pure/rationals.nim
@@ -23,12 +23,12 @@ proc toRational*(x: SomeInteger): Rational =
 
 proc toFloat*(x: Rational): float =
   ## Convert a rational number `x` to a float.
-  float(x.num) / float(x.den)
+  x.num / x.den
 
 proc toInt*(x: Rational): int =
-  ## Convert a rational number `x` to an int. Conversion rounds if `x` does not
-  ## contain an integer value.
-  round(toFloat(x))
+  ## Convert a rational number `x` to an int. Conversion rounds down if `x`
+  ## does not contain an integer value.
+  x.num div x.den
 
 proc reduce*(x: var Rational) =
   ## Reduce rational `x`.