From a5fbdccbfc59abd487daddf125f784124911a1a3 Mon Sep 17 00:00:00 2001 From: Alex Shinn Date: Sun, 27 Nov 2011 22:25:03 +0900 Subject: [PATCH] fixing numerator/denominator definitions on inexacts when ratios are supported --- lib/init-7.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/init-7.scm b/lib/init-7.scm index a25245d5..08bbba91 100644 --- a/lib/init-7.scm +++ b/lib/init-7.scm @@ -922,11 +922,11 @@ (define (numerator x) (if (ratio? x) (ratio-numerator x) - (if (integer? x) x (numerator (* x 10))))) + (if (inexact? x) (ratio-numerator (inexact->exact x)) x))) (define (denominator x) (if (exact? x) (if (ratio? x) (ratio-denominator x) 1) - (let lp ((x x) (r 1.0)) (if (integer? x) r (lp (* x 10) (* r 10))))))) + (if (integer? x) 1 (ratio-denominator (inexact->exact x)))))) (else (cond-expand (complex