From: Ian Lynagh Date: Fri, 18 Apr 2008 19:02:38 +0000 (+0000) Subject: Turn off the gcd/lcm optimisations for Integer for now X-Git-Tag: 2008-05-28~18 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=7566e6ff728f5c1e934db31a7ea3602b9a9e9959;p=ghc-base.git Turn off the gcd/lcm optimisations for Integer for now This makes it easier to experiment with other implementations --- diff --git a/GHC/Real.lhs b/GHC/Real.lhs index 9b61445..8f39cf8 100644 --- a/GHC/Real.lhs +++ b/GHC/Real.lhs @@ -440,13 +440,16 @@ lcm x y = abs ((x `quot` (gcd x y)) * y) {-# RULES "gcd/Int->Int->Int" gcd = gcdInt -"gcd/Integer->Integer->Integer" gcd = gcdInteger' -"lcm/Integer->Integer->Integer" lcm = lcmInteger #-} -gcdInteger' :: Integer -> Integer -> Integer -gcdInteger' 0 0 = error "GHC.Real.gcdInteger': gcd 0 0 is undefined" -gcdInteger' a b = gcdInteger a b +-- XXX these optimisation rules are disabled for now to make it easier +-- to experiment with other Integer implementations +-- "gcd/Integer->Integer->Integer" gcd = gcdInteger' +-- "lcm/Integer->Integer->Integer" lcm = lcmInteger +-- +-- gcdInteger' :: Integer -> Integer -> Integer +-- gcdInteger' 0 0 = error "GHC.Real.gcdInteger': gcd 0 0 is undefined" +-- gcdInteger' a b = gcdInteger a b integralEnumFrom :: (Integral a, Bounded a) => a -> [a] integralEnumFrom n = map fromInteger [toInteger n .. toInteger (maxBound `asTypeOf` n)]