packages feed

floatshow 0.2.1 → 0.2.2

raw patch · 2 files changed

+53/−2 lines, 2 filesdep ~arrayPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: array

API changes (from Hackage documentation)

+ Text.FShow.RealFloat: FD :: Double -> FullDouble
+ Text.FShow.RealFloat: FF :: Float -> FullFloat
+ Text.FShow.RealFloat: instance DispFloat FullDouble
+ Text.FShow.RealFloat: instance DispFloat FullFloat
+ Text.FShow.RealFloat: instance Eq FullDouble
+ Text.FShow.RealFloat: instance Eq FullFloat
+ Text.FShow.RealFloat: instance FShow FullDouble
+ Text.FShow.RealFloat: instance FShow FullFloat
+ Text.FShow.RealFloat: instance Floating FullDouble
+ Text.FShow.RealFloat: instance Floating FullFloat
+ Text.FShow.RealFloat: instance Fractional FullDouble
+ Text.FShow.RealFloat: instance Fractional FullFloat
+ Text.FShow.RealFloat: instance Num FullDouble
+ Text.FShow.RealFloat: instance Num FullFloat
+ 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 FullDouble
+ Text.FShow.RealFloat: instance Real FullFloat
+ Text.FShow.RealFloat: instance RealFloat FullDouble
+ Text.FShow.RealFloat: instance RealFloat FullFloat
+ Text.FShow.RealFloat: instance RealFrac FullDouble
+ Text.FShow.RealFloat: instance RealFrac FullFloat
+ Text.FShow.RealFloat: instance Show FullDouble
+ Text.FShow.RealFloat: instance Show FullFloat
+ Text.FShow.RealFloat: newtype FullDouble
+ Text.FShow.RealFloat: newtype FullFloat
+ Text.FShow.RealFloat: unFD :: FullDouble -> Double
+ Text.FShow.RealFloat: unFF :: FullFloat -> Float

Files

Text/FShow/RealFloat.hs view
@@ -19,10 +19,13 @@     , fshowFFloat     , fshowGFloat     , Double7(..)+    , FullDouble(..)     , Float7(..)+    , FullFloat(..)     ) where  import GHC.Show+import GHC.Read import GHC.Float (showSignedFloat) import Text.FShow.RealFloat.Internals @@ -89,6 +92,30 @@   fshowsPrec p  = showSignedFloat fshowFloat p   fshowList     = showList__ (fshowsPrec 0) +-- | newtype wrapper for 'Double'. The 'Show' (and 'FShow') instance+--   displays all significant digits.+newtype FullDouble = FD { unFD :: Double }+  deriving (Eq, Ord, Num, Fractional, Real, RealFrac, Floating, RealFloat)++instance DispFloat FullDouble where+  decDigits (FD x)  = case decodeFloat x of+                        (_,e) -> case ((53+e)*8651) `quot` 28738 of+                                   q | e >= 0    -> q+2+                                     | e > (-53) -> q+1-e+                                     | otherwise -> q-e+  binExp _          = 52++instance Show FullDouble where+  showsPrec p = showSignedFloat fshowFloat p++instance FShow FullDouble where+  fshowsPrec p = showSignedFloat fshowFloat p+  fshowList     = showList__ (fshowsPrec 0)++instance Read FullDouble where+  readPrec = fmap FD readPrec+  readListPrec = readListPrecDefault+ -- | newtype wrapper for 'Float'. The 'Show' (and 'FShow') instance --   displays numbers rounded to seven significant digits. newtype Float7 = F7 Float@@ -104,6 +131,30 @@ instance FShow Float7 where   fshowsPrec p  = showSignedFloat fshowFloat p   fshowList     = showList__ (fshowsPrec 0)++-- | newtype wrapper for 'Double'. The 'Show' (and 'FShow') instance+--   displays all significant digits.+newtype FullFloat = FF { unFF :: Float }+  deriving (Eq, Ord, Num, Fractional, Real, RealFrac, Floating, RealFloat)++instance DispFloat FullFloat where+  decDigits (FF x)  = case decodeFloat x of+                        (_,e) -> case ((24+e)*8651) `quot` 28738 of+                                   q | e >= 0    -> q+2+                                     | e > (-24) -> q+1-e+                                     | otherwise -> q-e+  binExp _          = 23++instance Show FullFloat where+  showsPrec p = showSignedFloat fshowFloat p++instance FShow FullFloat where+  fshowsPrec p = showSignedFloat fshowFloat p+  fshowList     = showList__ (fshowsPrec 0)++instance Read FullFloat where+  readPrec = fmap FF readPrec+  readListPrec = readListPrecDefault  {-     The code below is a minor modification of code from GHC.Float
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.1+Version:             0.2.2  -- 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.4+  Build-depends:     base >= 4 && < 5, array >= 0.1 && < 0.5   if flag(gmp)     Build-depends:   integer-gmp   else