Repository : ssh://darcs.haskell.org//srv/darcs/packages/base On branch : master
http://hackage.haskell.org/trac/ghc/changeset/339aaabd3377cbaece7424c7cc29a955915abb93 >--------------------------------------------------------------- commit 339aaabd3377cbaece7424c7cc29a955915abb93 Author: Daniel Fischer <[email protected]> Date: Tue Oct 4 17:17:31 2011 +0200 Use Rational constructor if numerator or denominator is 1 >--------------------------------------------------------------- GHC/Float.lhs | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/GHC/Float.lhs b/GHC/Float.lhs index 13246ac..38365fa 100644 --- a/GHC/Float.lhs +++ b/GHC/Float.lhs @@ -853,7 +853,7 @@ fromRat' x = r p0 = (integerLogBase b (numerator x) - integerLogBase b (denominator x) - p) `max` minExp -- if x = n/d and ln = integerLogBase b n, ld = integerLogBase b d, -- then b^(ln-ld-1) < x < b^(ln-ld+1) - f = if p0 < 0 then 1 % expt b (-p0) else expt b p0 % 1 + f = if p0 < 0 then 1 :% expt b (-p0) else expt b p0 :% 1 x0 = x / f -- if ln - ld >= minExp0, then b^(p-1) < x0 < b^(p+1), so there's at most -- one scaling step needed, otherwise, x0 < b^p and no scaling is needed _______________________________________________ Cvs-libraries mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-libraries
