X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=GHC%2FReal.lhs;fp=GHC%2FReal.lhs;h=f4d3e5e5e3fb75c6db8fc36a1ebbe77b35385bb3;hb=b1394e0db15110fe8ef9ab250d0681fb0579e243;hp=6a3f335b0c2239f39b996f3032f9584590dcec58;hpb=bb1ac04ed36183ed0234b207d27283253275f62e;p=ghc-base.git diff --git a/GHC/Real.lhs b/GHC/Real.lhs index 6a3f335..f4d3e5e 100644 --- a/GHC/Real.lhs +++ b/GHC/Real.lhs @@ -449,6 +449,7 @@ lcm _ 0 = 0 lcm 0 _ = 0 lcm x y = abs ((x `quot` (gcd x y)) * y) +#ifdef OPTIMISE_INTEGER_GCD_LCM {-# RULES "gcd/Int->Int->Int" gcd = gcdInt "gcd/Integer->Integer->Integer" gcd = gcdInteger' @@ -465,6 +466,7 @@ gcdInteger' a b = gcdInteger a b gcdInt :: Int -> Int -> Int gcdInt 0 0 = error "GHC.Real.gcdInt: gcd 0 0 is undefined" gcdInt a b = fromIntegral (gcdInteger (fromIntegral a) (fromIntegral b)) +#endif integralEnumFrom :: (Integral a, Bounded a) => a -> [a] integralEnumFrom n = map fromInteger [toInteger n .. toInteger (maxBound `asTypeOf` n)]