floatshow 0.2.3 → 0.2.4
raw patch · 3 files changed
+10/−5 lines, 3 filesdep ~arrayPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: array
API changes (from Hackage documentation)
- Text.FShow.RealFloat: instance DispFloat Double
- Text.FShow.RealFloat: instance DispFloat Double7
- Text.FShow.RealFloat: instance DispFloat Float
- Text.FShow.RealFloat: instance DispFloat Float7
- Text.FShow.RealFloat: instance DispFloat FullDouble
- Text.FShow.RealFloat: instance DispFloat FullFloat
- Text.FShow.RealFloat: instance Eq Double7
- Text.FShow.RealFloat: instance Eq Float7
- Text.FShow.RealFloat: instance Eq FullDouble
- Text.FShow.RealFloat: instance Eq FullFloat
- Text.FShow.RealFloat: instance FShow Double
- Text.FShow.RealFloat: instance FShow Double7
- Text.FShow.RealFloat: instance FShow Float
- Text.FShow.RealFloat: instance FShow Float7
- Text.FShow.RealFloat: instance FShow FullDouble
- Text.FShow.RealFloat: instance FShow FullFloat
- Text.FShow.RealFloat: instance FShow a => FShow [a]
- Text.FShow.RealFloat: instance Floating Double7
- Text.FShow.RealFloat: instance Floating Float7
- Text.FShow.RealFloat: instance Floating FullDouble
- Text.FShow.RealFloat: instance Floating FullFloat
- Text.FShow.RealFloat: instance Fractional Double7
- Text.FShow.RealFloat: instance Fractional Float7
- Text.FShow.RealFloat: instance Fractional FullDouble
- Text.FShow.RealFloat: instance Fractional FullFloat
- Text.FShow.RealFloat: instance Num Double7
- Text.FShow.RealFloat: instance Num Float7
- Text.FShow.RealFloat: instance Num FullDouble
- Text.FShow.RealFloat: instance Num FullFloat
- Text.FShow.RealFloat: instance Ord Double7
- Text.FShow.RealFloat: instance Ord Float7
- Text.FShow.RealFloat: instance Ord FullDouble
- Text.FShow.RealFloat: instance Ord FullFloat
- Text.FShow.RealFloat: instance Read FullDouble
- Text.FShow.RealFloat: instance Read FullFloat
- Text.FShow.RealFloat: instance Real Double7
- Text.FShow.RealFloat: instance Real Float7
- Text.FShow.RealFloat: instance Real FullDouble
- Text.FShow.RealFloat: instance Real FullFloat
- Text.FShow.RealFloat: instance RealFloat Double7
- Text.FShow.RealFloat: instance RealFloat Float7
- Text.FShow.RealFloat: instance RealFloat FullDouble
- Text.FShow.RealFloat: instance RealFloat FullFloat
- Text.FShow.RealFloat: instance RealFrac Double7
- Text.FShow.RealFloat: instance RealFrac Float7
- Text.FShow.RealFloat: instance RealFrac FullDouble
- Text.FShow.RealFloat: instance RealFrac FullFloat
- Text.FShow.RealFloat: instance Show Double7
- Text.FShow.RealFloat: instance Show Float7
- Text.FShow.RealFloat: instance Show FullDouble
- Text.FShow.RealFloat: instance Show FullFloat
- Text.FShow.RealFloat: unFD :: FullDouble -> Double
- Text.FShow.RealFloat: unFF :: FullFloat -> Float
+ Text.FShow.RealFloat: [unFD] :: FullDouble -> Double
+ Text.FShow.RealFloat: [unFF] :: FullFloat -> Float
+ Text.FShow.RealFloat: instance GHC.Classes.Eq Text.FShow.RealFloat.Double7
+ Text.FShow.RealFloat: instance GHC.Classes.Eq Text.FShow.RealFloat.Float7
+ Text.FShow.RealFloat: instance GHC.Classes.Eq Text.FShow.RealFloat.FullDouble
+ Text.FShow.RealFloat: instance GHC.Classes.Eq Text.FShow.RealFloat.FullFloat
+ Text.FShow.RealFloat: instance GHC.Classes.Ord Text.FShow.RealFloat.Double7
+ Text.FShow.RealFloat: instance GHC.Classes.Ord Text.FShow.RealFloat.Float7
+ Text.FShow.RealFloat: instance GHC.Classes.Ord Text.FShow.RealFloat.FullDouble
+ Text.FShow.RealFloat: instance GHC.Classes.Ord Text.FShow.RealFloat.FullFloat
+ Text.FShow.RealFloat: instance GHC.Float.Floating Text.FShow.RealFloat.Double7
+ Text.FShow.RealFloat: instance GHC.Float.Floating Text.FShow.RealFloat.Float7
+ Text.FShow.RealFloat: instance GHC.Float.Floating Text.FShow.RealFloat.FullDouble
+ Text.FShow.RealFloat: instance GHC.Float.Floating Text.FShow.RealFloat.FullFloat
+ Text.FShow.RealFloat: instance GHC.Float.RealFloat Text.FShow.RealFloat.Double7
+ Text.FShow.RealFloat: instance GHC.Float.RealFloat Text.FShow.RealFloat.Float7
+ Text.FShow.RealFloat: instance GHC.Float.RealFloat Text.FShow.RealFloat.FullDouble
+ Text.FShow.RealFloat: instance GHC.Float.RealFloat Text.FShow.RealFloat.FullFloat
+ Text.FShow.RealFloat: instance GHC.Num.Num Text.FShow.RealFloat.Double7
+ Text.FShow.RealFloat: instance GHC.Num.Num Text.FShow.RealFloat.Float7
+ Text.FShow.RealFloat: instance GHC.Num.Num Text.FShow.RealFloat.FullDouble
+ Text.FShow.RealFloat: instance GHC.Num.Num Text.FShow.RealFloat.FullFloat
+ Text.FShow.RealFloat: instance GHC.Read.Read Text.FShow.RealFloat.FullDouble
+ Text.FShow.RealFloat: instance GHC.Read.Read Text.FShow.RealFloat.FullFloat
+ Text.FShow.RealFloat: instance GHC.Real.Fractional Text.FShow.RealFloat.Double7
+ Text.FShow.RealFloat: instance GHC.Real.Fractional Text.FShow.RealFloat.Float7
+ Text.FShow.RealFloat: instance GHC.Real.Fractional Text.FShow.RealFloat.FullDouble
+ Text.FShow.RealFloat: instance GHC.Real.Fractional Text.FShow.RealFloat.FullFloat
+ Text.FShow.RealFloat: instance GHC.Real.Real Text.FShow.RealFloat.Double7
+ Text.FShow.RealFloat: instance GHC.Real.Real Text.FShow.RealFloat.Float7
+ Text.FShow.RealFloat: instance GHC.Real.Real Text.FShow.RealFloat.FullDouble
+ Text.FShow.RealFloat: instance GHC.Real.Real Text.FShow.RealFloat.FullFloat
+ Text.FShow.RealFloat: instance GHC.Real.RealFrac Text.FShow.RealFloat.Double7
+ Text.FShow.RealFloat: instance GHC.Real.RealFrac Text.FShow.RealFloat.Float7
+ Text.FShow.RealFloat: instance GHC.Real.RealFrac Text.FShow.RealFloat.FullDouble
+ Text.FShow.RealFloat: instance GHC.Real.RealFrac Text.FShow.RealFloat.FullFloat
+ Text.FShow.RealFloat: instance GHC.Show.Show Text.FShow.RealFloat.Double7
+ Text.FShow.RealFloat: instance GHC.Show.Show Text.FShow.RealFloat.Float7
+ Text.FShow.RealFloat: instance GHC.Show.Show Text.FShow.RealFloat.FullDouble
+ Text.FShow.RealFloat: instance GHC.Show.Show Text.FShow.RealFloat.FullFloat
+ Text.FShow.RealFloat: instance Text.FShow.RealFloat.DispFloat GHC.Types.Double
+ Text.FShow.RealFloat: instance Text.FShow.RealFloat.DispFloat GHC.Types.Float
+ Text.FShow.RealFloat: instance Text.FShow.RealFloat.DispFloat Text.FShow.RealFloat.Double7
+ Text.FShow.RealFloat: instance Text.FShow.RealFloat.DispFloat Text.FShow.RealFloat.Float7
+ Text.FShow.RealFloat: instance Text.FShow.RealFloat.DispFloat Text.FShow.RealFloat.FullDouble
+ Text.FShow.RealFloat: instance Text.FShow.RealFloat.DispFloat Text.FShow.RealFloat.FullFloat
+ Text.FShow.RealFloat: instance Text.FShow.RealFloat.FShow GHC.Types.Double
+ Text.FShow.RealFloat: instance Text.FShow.RealFloat.FShow GHC.Types.Float
+ Text.FShow.RealFloat: instance Text.FShow.RealFloat.FShow Text.FShow.RealFloat.Double7
+ Text.FShow.RealFloat: instance Text.FShow.RealFloat.FShow Text.FShow.RealFloat.Float7
+ Text.FShow.RealFloat: instance Text.FShow.RealFloat.FShow Text.FShow.RealFloat.FullDouble
+ Text.FShow.RealFloat: instance Text.FShow.RealFloat.FShow Text.FShow.RealFloat.FullFloat
+ Text.FShow.RealFloat: instance Text.FShow.RealFloat.FShow a => Text.FShow.RealFloat.FShow [a]
- Text.FShow.Raw: Generic :: (Maybe (Int, Int)) -> FormatStyle
+ Text.FShow.Raw: Generic :: Maybe (Int, Int) -> FormatStyle
- Text.FShow.Raw: class BinDecode a where decode x = case decodeL x of { (_, n, e) -> (n, e) } decodeL x = case decode x of { (0, _) -> (0, 0, 0) (n, e) -> (integerLog2 (abs n), n, e) } showDigits x = case decodeL x of { (a, _, e) -> fullDecimalDigits a e }
+ Text.FShow.Raw: class BinDecode a
- Text.FShow.Raw: class (Num a, Ord a, BinDecode a) => DecimalFormat a where nanTest _ = False infTest _ = False negTest x = x < 0
+ Text.FShow.Raw: class (Num a, Ord a, BinDecode a) => DecimalFormat a
- Text.FShow.RealFloat: class RealFloat a => DispFloat a where decDigits x = 2 + (8651 * (floatDigits x)) `quot` 28738 binExp x = floatDigits x - 1
+ Text.FShow.RealFloat: class RealFloat a => DispFloat a
- Text.FShow.RealFloat: class FShow a where fshow x = fshowsPrec 0 x "" fshowsPrec _ x s = fshow x ++ s fshowList xs s = showList__ fshows xs s
+ Text.FShow.RealFloat: class FShow a
Files
- Changes +1/−0
- Text/FShow/RealFloat/Internals.hs +7/−3
- floatshow.cabal +2/−2
Changes view
@@ -1,3 +1,4 @@+0.2.4: Adjust to base-4.7, type of comparison primops changed 0.2.3: Adjust to base-4.6, location of quotRemInt changed 0.2.2: Full precision showing types 0.2.1: Typos in haddocks corrected
Text/FShow/RealFloat/Internals.hs view
@@ -42,6 +42,10 @@ integerLog2 = integerLogBase 2 #endif +#if __GLASGOW_HASKELL__ < 707+isTrue# :: Bool -> Bool+isTrue# = id+#endif #if WORD_SIZE_IN_BITS == 32 #define DIGITS 9@@ -97,11 +101,11 @@ !decshift@(I# d#) = showDigs - l10 !binshift = e# +# d# !decMant- | d# <# 0# =- (if binshift <# 0#+ | isTrue# (d# <# 0#) =+ (if isTrue# (binshift <# 0#) then shiftRInteger mant (negateInt# binshift) else shiftLInteger mant binshift) `quot` expt5 (I# (negateInt# d#))- | binshift <# 0# =+ | isTrue# (binshift <# 0#) = shiftRInteger (mant * expt5 decshift) (negateInt# binshift) | otherwise = shiftLInteger (mant * expt5 decshift) binshift !e10 = if decMant < expt10 (showDigs+1) then l10 else l10+1
floatshow.cabal view
@@ -7,7 +7,7 @@ -- The package version. See the Haskell package versioning policy -- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for -- standards guiding when and how versions should be incremented.-Version: 0.2.3+Version: 0.2.4 -- Constraint on the version of Cabal needed to build this package. Cabal-version: >=1.6@@ -75,7 +75,7 @@ Text.FShow.Raw -- Packages needed in order to build this package.- Build-depends: base >= 4 && < 5, array >= 0.1 && < 0.5+ Build-depends: base >= 4 && < 5, array >= 0.1 && < 0.6 if flag(gmp) Build-depends: integer-gmp else