Vec 0.9.8 → 0.9.9
raw patch · 4 files changed
+10/−46 lines, 4 filesdep −QuickCheckPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies removed: QuickCheck
API changes (from Hackage documentation)
- Data.Vec.Base: instance [overlap ok] (Eq (a :. u), Show (a :. u), Num a, Map a a (a :. u) (a :. u), ZipWith a a a (a :. u) (a :. u) (a :. u), Vec (Succ l) a (a :. u)) => Num (a :. u)
- Data.Vec.Base: instance [overlap ok] (Fractional a, Ord (a :. u), ZipWith a a a (a :. u) (a :. u) (a :. u), Map a a (a :. u) (a :. u), Vec (Succ l) a (a :. u), Show (a :. u)) => Fractional (a :. u)
- Data.Vec.Base: instance [overlap ok] (Length (a :. v) (Succ n), Arbitrary a', Arbitrary (a :. v)) => Arbitrary (a' :. (a :. v))
- Data.Vec.Base: instance [overlap ok] (Length (a :. v) (Succ n), CoArbitrary a', CoArbitrary (a :. v)) => CoArbitrary (a' :. (a :. v))
- Data.Vec.Base: instance [overlap ok] Arbitrary a => Arbitrary (a :. ())
- Data.Vec.Base: instance [overlap ok] CoArbitrary a => CoArbitrary (a :. ())
- Data.Vec.LinAlg: instance [overlap ok] (Fractional a, NearZero a) => Pivot1 a ((a :. ()) :. ())
- Data.Vec.Packed: instance [overlap ok] (Arbitrary v, PackedVec v) => Arbitrary (Packed v)
- Data.Vec.Packed: instance [overlap ok] (CoArbitrary v, PackedVec v) => CoArbitrary (Packed v)
+ Data.Vec.Base: instance [overlap ok] (Eq u, ShowVec u, Fractional a, Ord (a :. u), ZipWith a a a (a :. u) (a :. u) (a :. u), Map a a (a :. u) (a :. u), Vec (Succ l) a (a :. u), Show (a :. u)) => Fractional (a :. u)
+ Data.Vec.Base: instance [overlap ok] (Eq u, ShowVec u, Num a, Map a a (a :. u) (a :. u), ZipWith a a a (a :. u) (a :. u) (a :. u), Vec (Succ l) a (a :. u)) => Num (a :. u)
+ Data.Vec.LinAlg: instance [overlap ok] (Show a, Fractional a, NearZero a) => Pivot1 a ((a :. ()) :. ())
- Data.Vec.Packed: class PackedVec v where { data family Packed v; }
+ Data.Vec.Packed: class PackedVec v where data family Packed v
Files
- Data/Vec/Base.hs +6/−31
- Data/Vec/LinAlg.hs +2/−2
- Data/Vec/Packed.hs +0/−11
- Vec.cabal +2/−2
Data/Vec/Base.hs view
@@ -24,17 +24,14 @@ minimum,maximum,length) import qualified Prelude as P import Foreign-import Test.QuickCheck --for UArray instances import Data.Array.Base as Array import GHC.ST ( ST(..), runST ) import GHC.Prim import GHC.Base ( Int(..) )-import GHC.Word ( Word(..) ) import GHC.Float ( Float(..), Double(..) )-import GHC.Int ( Int8(..), Int16(..), Int32(..), Int64(..) )-import GHC.Word ( Word8(..), Word16(..), Word32(..), Word64(..) )+import GHC.Word ( Word8(..) ) -- | The vector constructor. @(:.)@ for vectors is like @(:)@ for lists, and@@ -262,7 +259,7 @@ foldr :: (a -> b -> b) -> b -> v -> b instance Fold (a:.()) a where- fold f (a:._) = a + fold _ (a:._) = a foldl f z (a:._) = seq z $ f z a foldr f z (a:._) = f a z {-# INLINE fold #-}@@ -346,7 +343,7 @@ instance (Drop n (a:.v) v') => Drop (Succ n) (a:.a:.v) v' where- drop _ (a:.v) = drop (undefined::n) v+ drop _ (_:.v) = drop (undefined::n) v {-# INLINE drop #-} @@ -360,7 +357,7 @@ {-# INLINE last #-} instance Last (a':.v) a => Last (a:.a':.v) a where- last (a:.v) = last v+ last (_:.v) = last v {-# INLINE last #-} @@ -516,9 +513,7 @@ -- If it's binary, it's a zipWith. instance- (Eq (a:.u)- ,Show (a:.u)- ,Num a+ (Eq u, ShowVec u, Num a ,Map a a (a:.u) (a:.u) ,ZipWith a a a (a:.u) (a:.u) (a:.u) ,Vec (Succ l) a (a:.u)@@ -540,7 +535,7 @@ instance - (Fractional a+ (Eq u, ShowVec u, Fractional a ,Ord (a:.u) ,ZipWith a a a (a:.u) (a:.u) (a:.u) ,Map a a (a:.u) (a:.u)@@ -558,21 +553,7 @@ --- Arbitrary instances -instance Arbitrary a => Arbitrary (a:.()) where- arbitrary = arbitrary >>= return . (:.())--instance CoArbitrary a => CoArbitrary (a:.()) where- coarbitrary (a:._) = variant 0 . coarbitrary a--instance (Length (a:.v) (Succ n), Arbitrary a', Arbitrary (a:.v)) => Arbitrary (a':.a:.v) where- arbitrary = arbitrary >>= \a -> - arbitrary >>= \v -> return (a:.v);--instance (Length (a:.v) (Succ n), CoArbitrary a', CoArbitrary (a:.v)) => CoArbitrary (a':.a:.v) where- coarbitrary (a:.v) = variant (length v) . coarbitrary a . coarbitrary v- --- UArray instances sizeOf# :: Storable a => a -> Int#@@ -587,12 +568,6 @@ vaSizeOf# :: v -> Int# --the size of a vector in bytes vaLength# :: v -> Int# --the length of a vector init# :: v --the default item when newArray_ is used- {-# INLINE vaRead# #-}- {-# INLINE vaWrite# #-}- {-# INLINE vaIndex# #-}- {-# INLINE vaSizeOf# #-}- {-# INLINE vaLength# #-}- {-# INLINE init# #-} instance VecArrayRW (Int:.()) where
Data/Vec/LinAlg.hs view
@@ -489,7 +489,7 @@ {-# INLINE mapFst #-} -class Num a => NearZero a where+class (Eq a, Num a) => NearZero a where -- | @nearZero x@ should be true when x is close enough to 0 to cause -- significant error in division. nearZero :: a -> Bool@@ -523,7 +523,7 @@ pivot1 _ = Nothing instance - ( Fractional a, NearZero a+ ( Show a, Fractional a, NearZero a ) => Pivot1 a ((a:.()):.()) where pivot1 ((p:._):._)
Data/Vec/Packed.hs view
@@ -58,7 +58,6 @@ import Data.Word import Data.Int import Foreign-import Test.QuickCheck import Data.Array.Base as Array import GHC.ST ( ST(..), runST )@@ -265,16 +264,6 @@ {-# INLINE poke #-} {-# INLINE pokeByteOff #-} {-# INLINE pokeElemOff #-}---instance (Arbitrary v, PackedVec v) => Arbitrary (Packed v)- where- arbitrary = arbitrary >>= return . pack--instance (CoArbitrary v, PackedVec v) => CoArbitrary (Packed v)- where- coarbitrary v = coarbitrary (unpack v)- instance (Length v n, PackedVec v) => Length (Packed v) n
Vec.cabal view
@@ -1,5 +1,5 @@ Name: Vec-Version: 0.9.8+Version: 0.9.9 License: BSD3 License-file: LICENSE Author: Scott E. Dillard@@ -20,7 +20,7 @@ Category: Data,Math library- Build-Depends: base<=5,QuickCheck>=2&&<3,array,ghc-prim+ Build-Depends: base<=5,array,ghc-prim Exposed-modules: Data.Vec Data.Vec.Base,