log-domain 0.10.2.1 → 0.10.3
raw patch · 3 files changed
+26/−5 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Numeric.Log: instance (Floating a, Read a) => Read (Log a)
- Numeric.Log: instance (Floating a, Show a) => Show (Log a)
- Numeric.Log: instance (Precise a, RealFloat a) => Monoid (Log a)
- Numeric.Log: instance (Precise a, RealFloat a) => Num (Log a)
- Numeric.Log: instance (Precise a, RealFloat a) => RealFrac (Log a)
- Numeric.Log: instance (Precise a, RealFloat a, Eq a) => Fractional (Log a)
- Numeric.Log: instance (Precise a, RealFloat a, Ord a) => Real (Log a)
- Numeric.Log: instance (RealFloat a, Precise a) => Floating (Log a)
- Numeric.Log: instance (RealFloat a, Precise a) => Precise (Complex a)
- Numeric.Log: instance (RealFloat a, Precise a, Enum a) => Enum (Log a)
- Numeric.Log: instance (RealFloat a, Unbox a) => MVector MVector (Log a)
- Numeric.Log: instance (RealFloat a, Unbox a) => Unbox (Log a)
- Numeric.Log: instance (RealFloat a, Unbox a) => Vector Vector (Log a)
- Numeric.Log: instance Applicative Log
- Numeric.Log: instance Apply Log
- Numeric.Log: instance Binary a => Binary (Log a)
- Numeric.Log: instance Bind Log
- Numeric.Log: instance Comonad Log
- Numeric.Log: instance ComonadApply Log
- Numeric.Log: instance Constructor C1_0Log
- Numeric.Log: instance Data a => Data (Log a)
- Numeric.Log: instance Datatype D1Log
- Numeric.Log: instance Distributive Log
- Numeric.Log: instance Eq a => Eq (Log a)
- Numeric.Log: instance Extend Log
- Numeric.Log: instance Foldable Log
- Numeric.Log: instance Foldable1 Log
- Numeric.Log: instance Functor Log
- Numeric.Log: instance Generic (Log a)
- Numeric.Log: instance Hashable a => Hashable (Log a)
- Numeric.Log: instance Hashable1 Log
- Numeric.Log: instance Monad Log
- Numeric.Log: instance NFData a => NFData (Log a)
- Numeric.Log: instance Ord a => Ord (Log a)
- Numeric.Log: instance Precise Double
- Numeric.Log: instance Precise Float
- Numeric.Log: instance SafeCopy a0 => SafeCopy (Log a0)
- Numeric.Log: instance Selector S1_0_0Log
- Numeric.Log: instance Serial a => Serial (Log a)
- Numeric.Log: instance Serial1 Log
- Numeric.Log: instance Serialize a => Serialize (Log a)
- Numeric.Log: instance Storable a => Storable (Log a)
- Numeric.Log: instance Traversable Log
- Numeric.Log: instance Traversable1 Log
- Numeric.Log: instance Typeable Log
- Numeric.Log: ln :: Log a -> a
- Numeric.Log.Signed: instance (Eq a, Fractional a) => Eq (SignedLog a)
- Numeric.Log.Signed: instance (Ord a, Fractional a) => Ord (SignedLog a)
- Numeric.Log.Signed: instance (Precise a, RealFloat a) => Fractional (SignedLog a)
- Numeric.Log.Signed: instance (Precise a, RealFloat a) => Num (SignedLog a)
- Numeric.Log.Signed: instance (Precise a, RealFloat a) => RealFrac (SignedLog a)
- Numeric.Log.Signed: instance (Precise a, RealFloat a, Fractional a, Read a) => Read (SignedLog a)
- Numeric.Log.Signed: instance (Precise a, RealFloat a, Ord a) => Real (SignedLog a)
- Numeric.Log.Signed: instance (RealFloat a, Precise a) => Floating (SignedLog a)
- Numeric.Log.Signed: instance (Show a, RealFloat a, Eq a, Fractional a) => Show (SignedLog a)
- Numeric.Log.Signed: instance Constructor C1_0SignedLog
- Numeric.Log.Signed: instance Data a => Data (SignedLog a)
- Numeric.Log.Signed: instance Datatype D1SignedLog
- Numeric.Log.Signed: instance Generic (SignedLog a)
- Numeric.Log.Signed: instance Selector S1_0_0SignedLog
- Numeric.Log.Signed: instance Selector S1_0_1SignedLog
- Numeric.Log.Signed: instance Typeable SignedLog
- Numeric.Log.Signed: lnSL :: SignedLog a -> a
- Numeric.Log.Signed: signSL :: SignedLog a -> Bool
+ Numeric.Log: [ln] :: Log a -> a
+ Numeric.Log: instance (GHC.Float.Floating a, GHC.Read.Read a) => GHC.Read.Read (Numeric.Log.Log a)
+ Numeric.Log: instance (GHC.Float.Floating a, GHC.Show.Show a) => GHC.Show.Show (Numeric.Log.Log a)
+ Numeric.Log: instance (GHC.Float.RealFloat a, Data.Vector.Unboxed.Base.Unbox a) => Data.Vector.Generic.Base.Vector Data.Vector.Unboxed.Base.Vector (Numeric.Log.Log a)
+ Numeric.Log: instance (GHC.Float.RealFloat a, Data.Vector.Unboxed.Base.Unbox a) => Data.Vector.Generic.Mutable.Base.MVector Data.Vector.Unboxed.Base.MVector (Numeric.Log.Log a)
+ Numeric.Log: instance (GHC.Float.RealFloat a, Data.Vector.Unboxed.Base.Unbox a) => Data.Vector.Unboxed.Base.Unbox (Numeric.Log.Log a)
+ Numeric.Log: instance (GHC.Float.RealFloat a, Numeric.Log.Precise a) => GHC.Float.Floating (Numeric.Log.Log a)
+ Numeric.Log: instance (GHC.Float.RealFloat a, Numeric.Log.Precise a) => Numeric.Log.Precise (Data.Complex.Complex a)
+ Numeric.Log: instance (GHC.Float.RealFloat a, Numeric.Log.Precise a, GHC.Enum.Enum a) => GHC.Enum.Enum (Numeric.Log.Log a)
+ Numeric.Log: instance (Numeric.Log.Precise a, GHC.Float.RealFloat a) => GHC.Base.Monoid (Numeric.Log.Log a)
+ Numeric.Log: instance (Numeric.Log.Precise a, GHC.Float.RealFloat a) => GHC.Num.Num (Numeric.Log.Log a)
+ Numeric.Log: instance (Numeric.Log.Precise a, GHC.Float.RealFloat a) => GHC.Real.RealFrac (Numeric.Log.Log a)
+ Numeric.Log: instance (Numeric.Log.Precise a, GHC.Float.RealFloat a, GHC.Classes.Eq a) => GHC.Real.Fractional (Numeric.Log.Log a)
+ Numeric.Log: instance (Numeric.Log.Precise a, GHC.Float.RealFloat a, GHC.Classes.Ord a) => GHC.Real.Real (Numeric.Log.Log a)
+ Numeric.Log: instance Control.Comonad.Comonad Numeric.Log.Log
+ Numeric.Log: instance Control.Comonad.ComonadApply Numeric.Log.Log
+ Numeric.Log: instance Control.DeepSeq.NFData a => Control.DeepSeq.NFData (Numeric.Log.Log a)
+ Numeric.Log: instance Data.Binary.Class.Binary a => Data.Binary.Class.Binary (Numeric.Log.Log a)
+ Numeric.Log: instance Data.Bytes.Serial.Serial a => Data.Bytes.Serial.Serial (Numeric.Log.Log a)
+ Numeric.Log: instance Data.Bytes.Serial.Serial1 Numeric.Log.Log
+ Numeric.Log: instance Data.Data.Data a => Data.Data.Data (Numeric.Log.Log a)
+ Numeric.Log: instance Data.Distributive.Distributive Numeric.Log.Log
+ Numeric.Log: instance Data.Foldable.Foldable Numeric.Log.Log
+ Numeric.Log: instance Data.Functor.Bind.Class.Apply Numeric.Log.Log
+ Numeric.Log: instance Data.Functor.Bind.Class.Bind Numeric.Log.Log
+ Numeric.Log: instance Data.Functor.Extend.Extend Numeric.Log.Log
+ Numeric.Log: instance Data.Hashable.Class.Hashable a => Data.Hashable.Class.Hashable (Numeric.Log.Log a)
+ Numeric.Log: instance Data.Hashable.Extras.Hashable1 Numeric.Log.Log
+ Numeric.Log: instance Data.SafeCopy.SafeCopy.SafeCopy a => Data.SafeCopy.SafeCopy.SafeCopy (Numeric.Log.Log a)
+ Numeric.Log: instance Data.Semigroup.Foldable.Class.Foldable1 Numeric.Log.Log
+ Numeric.Log: instance Data.Semigroup.Traversable.Class.Traversable1 Numeric.Log.Log
+ Numeric.Log: instance Data.Serialize.Serialize a => Data.Serialize.Serialize (Numeric.Log.Log a)
+ Numeric.Log: instance Data.Traversable.Traversable Numeric.Log.Log
+ Numeric.Log: instance Foreign.Storable.Storable a => Foreign.Storable.Storable (Numeric.Log.Log a)
+ Numeric.Log: instance GHC.Base.Applicative Numeric.Log.Log
+ Numeric.Log: instance GHC.Base.Functor Numeric.Log.Log
+ Numeric.Log: instance GHC.Base.Monad Numeric.Log.Log
+ Numeric.Log: instance GHC.Classes.Eq a => GHC.Classes.Eq (Numeric.Log.Log a)
+ Numeric.Log: instance GHC.Classes.Ord a => GHC.Classes.Ord (Numeric.Log.Log a)
+ Numeric.Log: instance GHC.Generics.Constructor Numeric.Log.C1_0Log
+ Numeric.Log: instance GHC.Generics.Datatype Numeric.Log.D1Log
+ Numeric.Log: instance GHC.Generics.Generic (Numeric.Log.Log a)
+ Numeric.Log: instance GHC.Generics.Selector Numeric.Log.S1_0_0Log
+ Numeric.Log: instance Numeric.Log.Precise GHC.Types.Double
+ Numeric.Log: instance Numeric.Log.Precise GHC.Types.Float
+ Numeric.Log.Signed: [lnSL] :: SignedLog a -> a
+ Numeric.Log.Signed: [signSL] :: SignedLog a -> Bool
+ Numeric.Log.Signed: instance (GHC.Classes.Eq a, GHC.Real.Fractional a) => GHC.Classes.Eq (Numeric.Log.Signed.SignedLog a)
+ Numeric.Log.Signed: instance (GHC.Classes.Ord a, GHC.Real.Fractional a) => GHC.Classes.Ord (Numeric.Log.Signed.SignedLog a)
+ Numeric.Log.Signed: instance (GHC.Float.RealFloat a, Numeric.Log.Precise a) => GHC.Float.Floating (Numeric.Log.Signed.SignedLog a)
+ Numeric.Log.Signed: instance (GHC.Show.Show a, GHC.Float.RealFloat a, GHC.Classes.Eq a, GHC.Real.Fractional a) => GHC.Show.Show (Numeric.Log.Signed.SignedLog a)
+ Numeric.Log.Signed: instance (Numeric.Log.Precise a, GHC.Float.RealFloat a) => GHC.Num.Num (Numeric.Log.Signed.SignedLog a)
+ Numeric.Log.Signed: instance (Numeric.Log.Precise a, GHC.Float.RealFloat a) => GHC.Real.Fractional (Numeric.Log.Signed.SignedLog a)
+ Numeric.Log.Signed: instance (Numeric.Log.Precise a, GHC.Float.RealFloat a) => GHC.Real.RealFrac (Numeric.Log.Signed.SignedLog a)
+ Numeric.Log.Signed: instance (Numeric.Log.Precise a, GHC.Float.RealFloat a, GHC.Classes.Ord a) => GHC.Real.Real (Numeric.Log.Signed.SignedLog a)
+ Numeric.Log.Signed: instance (Numeric.Log.Precise a, GHC.Float.RealFloat a, GHC.Real.Fractional a, GHC.Read.Read a) => GHC.Read.Read (Numeric.Log.Signed.SignedLog a)
+ Numeric.Log.Signed: instance Data.Data.Data a => Data.Data.Data (Numeric.Log.Signed.SignedLog a)
+ Numeric.Log.Signed: instance GHC.Generics.Constructor Numeric.Log.Signed.C1_0SignedLog
+ Numeric.Log.Signed: instance GHC.Generics.Datatype Numeric.Log.Signed.D1SignedLog
+ Numeric.Log.Signed: instance GHC.Generics.Generic (Numeric.Log.Signed.SignedLog a)
+ Numeric.Log.Signed: instance GHC.Generics.Selector Numeric.Log.Signed.S1_0_0SignedLog
+ Numeric.Log.Signed: instance GHC.Generics.Selector Numeric.Log.Signed.S1_0_1SignedLog
Files
- CHANGELOG.markdown +5/−0
- log-domain.cabal +4/−4
- src/Numeric/Log.hs +17/−1
CHANGELOG.markdown view
@@ -1,3 +1,8 @@+0.10.3+------+* Work around an issue with `safecopy` on GHC 7.10+* Changed the repository link to my `ekmett` github account from `analytics`.+ 0.10.2.1 -------- * Add `vector` 0.11 support.
log-domain.cabal view
@@ -1,17 +1,17 @@ name: log-domain category: Numeric-version: 0.10.2.1+version: 0.10.3 license: BSD3 cabal-version: >= 1.8 license-file: LICENSE author: Edward A. Kmett maintainer: Edward A. Kmett <ekmett@gmail.com> stability: provisional-homepage: http://github.com/analytics/log-domain/-bug-reports: http://github.com/analytics/log-domain/issues+homepage: http://github.com/ekmett/log-domain/+bug-reports: http://github.com/ekmett/log-domain/issues copyright: Copyright (C) 2013-2015 Edward A. Kmett build-type: Custom-tested-with: GHC == 7.4.1, GHC == 7.6.3+tested-with: GHC == 7.4.1, GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.2 synopsis: Log-domain arithmetic description: This package provides log-domain floats, doubles and complex numbers.
src/Numeric/Log.hs view
@@ -72,7 +72,23 @@ -- | @Log@-domain @Float@ and @Double@ values. newtype Log a = Exp { ln :: a } deriving (Eq,Ord,Data,Typeable,Generic) -deriveSafeCopy 1 'base ''Log+--deriveSafeCopy 1 'base ''Log++instance SafeCopy a => SafeCopy (Log a) where+ putCopy (Exp arg_afqB)+ = contain+ (do { safePut_a_afqC <- getSafePut;+ safePut_a_afqC arg_afqB;+ return () })+ getCopy+ = contain+ (label+ "Numeric.Log.Log:"+ (do { safeGet_a_afqD <- getSafeGet;+ ((return Exp) <*> safeGet_a_afqD) }))+ version = 1+ kind = base+ errorTypeName _ = "Numeric.Log.Log" instance (Floating a, Show a) => Show (Log a) where showsPrec d (Exp a) = T.showsPrec d (exp a)