X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Numeric.hs;h=d55f9bb8459d8e12939ad1f5e17111c071505487;hb=5699b7d4aefa303fd560fad2ae583f5fde676c65;hp=5603ae6c072c0e880a49c9147b35c7b6f1e036d5;hpb=bba5c1507d5742b71d045654b48e229f9cf1022d;p=ghc-base.git diff --git a/Numeric.hs b/Numeric.hs index 5603ae6..d55f9bb 100644 --- a/Numeric.hs +++ b/Numeric.hs @@ -30,7 +30,6 @@ module Numeric ( showIntAtBase, -- :: Integral a => a -> (a -> Char) -> a -> ShowS showHex, -- :: Integral a => a -> ShowS showOct, -- :: Integral a => a -> ShowS - showBin, -- :: Integral a => a -> ShowS showEFloat, -- :: (RealFloat a) => Maybe Int -> a -> ShowS showFFloat, -- :: (RealFloat a) => Maybe Int -> a -> ShowS @@ -142,12 +141,12 @@ showGFloat d x = showString (formatRealFloat FFGeneric d x) -- --------------------------------------------------------------------------- -- Integer printing functions -showIntAtBase :: Integral a => a -> (a -> Char) -> a -> ShowS +showIntAtBase :: Integral a => a -> (Int -> Char) -> a -> ShowS showIntAtBase base toChr n r | n < 0 = error ("Numeric.showIntAtBase: applied to negative number " ++ show n) | otherwise = case quotRem n base of { (n', d) -> - let c = toChr d in + let c = toChr (fromIntegral d) in seq c $ -- stricter than necessary let r' = c : r @@ -155,23 +154,6 @@ showIntAtBase base toChr n r if n' == 0 then r' else showIntAtBase base toChr n' r' } -showHex :: Integral a => a -> ShowS -showHex n r = - showString "0x" $ - showIntAtBase 16 (toChrHex) n r - where - toChrHex d - | d < 10 = chr (ord '0' + fromIntegral d) - | otherwise = chr (ord 'a' + fromIntegral (d - 10)) - -showOct :: Integral a => a -> ShowS -showOct n r = - showString "0o" $ - showIntAtBase 8 (toChrOct) n r - where toChrOct d = chr (ord '0' + fromIntegral d) - -showBin :: Integral a => a -> ShowS -showBin n r = - showString "0b" $ - showIntAtBase 2 (toChrOct) n r - where toChrOct d = chr (ord '0' + fromIntegral d) +showHex, showOct :: Integral a => a -> ShowS +showHex = showIntAtBase 16 intToDigit +showOct = showIntAtBase 8 intToDigit