summaryrefslogtreecommitdiff
path: root/libraries
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2008-04-18 19:02:38 +0000
committerIan Lynagh <igloo@earth.li>2008-04-18 19:02:38 +0000
commit45ba9b2e76b767ed92e8e14610a9895b692ecab6 (patch)
treedf79900ff895b67bfb4e3580a82ecee9060c4520 /libraries
parent20faa40a0ef6049eddd024e6004999337440655b (diff)
downloadhaskell-45ba9b2e76b767ed92e8e14610a9895b692ecab6.tar.gz
Turn off the gcd/lcm optimisations for Integer for now
This makes it easier to experiment with other implementations
Diffstat (limited to 'libraries')
-rw-r--r--libraries/base/GHC/Real.lhs13
1 files changed, 8 insertions, 5 deletions
diff --git a/libraries/base/GHC/Real.lhs b/libraries/base/GHC/Real.lhs
index 9b61445837..8f39cf8cd7 100644
--- a/libraries/base/GHC/Real.lhs
+++ b/libraries/base/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)]