ad 1.1.3 → 1.2.0
raw patch · 5 files changed
+9/−9 lines, 5 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Numeric.AD.Internal.Dense: Dense :: a -> (f a) -> Dense f a
+ Numeric.AD.Internal.Dense: Dense :: !a -> (f a) -> Dense f a
- Numeric.AD.Internal.Dense: Lift :: a -> Dense f a
+ Numeric.AD.Internal.Dense: Lift :: !a -> Dense f a
- Numeric.AD.Internal.Forward: Forward :: a -> a -> Forward a
+ Numeric.AD.Internal.Forward: Forward :: !a -> a -> Forward a
- Numeric.AD.Internal.Reverse: Binary :: a -> a -> a -> t -> t -> Tape a t
+ Numeric.AD.Internal.Reverse: Binary :: !a -> a -> a -> t -> t -> Tape a t
- Numeric.AD.Internal.Reverse: Lift :: a -> Tape a t
+ Numeric.AD.Internal.Reverse: Lift :: !a -> Tape a t
- Numeric.AD.Internal.Reverse: Unary :: a -> a -> t -> Tape a t
+ Numeric.AD.Internal.Reverse: Unary :: !a -> a -> t -> Tape a t
- Numeric.AD.Internal.Reverse: Var :: a -> {-# UNPACK #-} !Int -> Tape a t
+ Numeric.AD.Internal.Reverse: Var :: !a -> {-# UNPACK #-} !Int -> Tape a t
- Numeric.AD.Internal.Sparse: Sparse :: a -> (IntMap (Sparse a)) -> Sparse a
+ Numeric.AD.Internal.Sparse: Sparse :: !a -> (IntMap (Sparse a)) -> Sparse a
Files
- Numeric/AD/Internal/Dense.hs +2/−2
- Numeric/AD/Internal/Forward.hs +1/−1
- Numeric/AD/Internal/Reverse.hs +4/−4
- Numeric/AD/Internal/Sparse.hs +1/−1
- ad.cabal +1/−1
Numeric/AD/Internal/Dense.hs view
@@ -42,8 +42,8 @@ import Numeric.AD.Internal.Identity data Dense f a- = Lift a- | Dense a (f a)+ = Lift !a+ | Dense !a (f a) instance Show a => Show (Dense f a) where showsPrec n (Lift a) = showsPrec n a
Numeric/AD/Internal/Forward.hs view
@@ -37,7 +37,7 @@ import Numeric.AD.Internal.Classes import Numeric.AD.Internal.Identity -data Forward a = Forward a a deriving (Show, Data, Typeable)+data Forward a = Forward !a a deriving (Show, Data, Typeable) tangent :: AD Forward a -> a tangent (AD (Forward _ da)) = da
Numeric/AD/Internal/Reverse.hs view
@@ -60,10 +60,10 @@ -- | A @Tape@ records the information needed back propagate from the output to each input during 'Reverse' 'Mode' AD. data Tape a t- = Lift a- | Var a {-# UNPACK #-} !Int- | Binary a a a t t- | Unary a a t+ = Lift !a+ | Var !a {-# UNPACK #-} !Int+ | Binary !a a a t t+ | Unary !a a t deriving (Show, Data, Typeable) -- | @Reverse@ is a 'Mode' using reverse-mode automatic differentiation that provides fast 'diffFU', 'diff2FU', 'grad', 'grad2' and a fast 'jacobian' when you have a significantly smaller number of outputs than inputs.
Numeric/AD/Internal/Sparse.hs view
@@ -49,7 +49,7 @@ -- which it was found. This should be key for efficiently computing sparse hessians. -- there are only (n + k - 1) choose k distinct nth partial derivatives of a -- function with k inputs.-data Sparse a = Sparse a (IntMap (Sparse a)) deriving (Show, Data, Typeable)+data Sparse a = Sparse !a (IntMap (Sparse a)) deriving (Show, Data, Typeable) -- | drop keys below a given value dropMap :: Int -> IntMap a -> IntMap a
ad.cabal view
@@ -1,5 +1,5 @@ name: ad-version: 1.1.3+version: 1.2.0 license: BSD3 license-File: LICENSE copyright: (c) Edward Kmett 2010-2011,