packages feed

linear 1.16.4 → 1.17

raw patch · 9 files changed

+122/−1 lines, 9 filesdep +bytesdep +cerealdep ~base

Dependencies added: bytes, cereal

Dependency ranges changed: base

Files

linear.cabal view
@@ -1,6 +1,6 @@ name:          linear category:      Math, Algebra-version:       1.16.4+version:       1.17 license:       BSD3 cabal-version: >= 1.8 license-file:  LICENSE@@ -33,6 +33,8 @@     adjunctions          >= 4     && < 5,     base                 >= 4.5   && < 5,     binary               >= 0.5   && < 0.8,+    bytes                >= 0.15  && < 1,+    cereal               >= 0.4.1.1 && < 0.5,     containers           >= 0.4   && < 0.6,     deepseq              >= 1.1   && < 1.5,     distributive         >= 0.2.2 && < 1,
src/Linear/Plucker.hs view
@@ -51,6 +51,8 @@ import Control.Monad.Fix import Control.Monad.Zip import Control.Lens hiding (index, (<.>))+import Data.Binary as Binary+import Data.Bytes.Serial import Data.Distributive import Data.Foldable as Foldable import Data.Functor.Bind@@ -58,6 +60,7 @@ import Data.Hashable import Data.Semigroup import Data.Semigroup.Foldable+import Data.Serialize as Cereal import Foreign.Ptr (castPtr) import Foreign.Storable (Storable(..)) import GHC.Arr (Ix(..))@@ -562,3 +565,14 @@ instance NFData a => NFData (Plucker a) where   rnf (Plucker a b c d e f) = rnf a `seq` rnf b `seq` rnf c                         `seq` rnf d `seq` rnf e `seq` rnf f++instance Serial1 Plucker+instance Serial a => Serial (Plucker a)++instance Binary a => Binary (Plucker a) where+  put = serializeWith Binary.put+  get = deserializeWith Binary.get++instance Serialize a => Serialize (Plucker a) where+  put = serializeWith Cereal.put+  get = deserializeWith Cereal.get
src/Linear/Quaternion.hs view
@@ -44,6 +44,9 @@ import Control.Monad.Fix import Control.Monad.Zip import Control.Lens hiding ((<.>))+import Data.Binary as Binary+import Data.Bytes.Serial+ import Data.Complex (Complex((:+))) import Data.Data import Data.Distributive@@ -51,6 +54,7 @@ import Data.Functor.Bind import Data.Functor.Rep import Data.Hashable+import Data.Serialize as Cereal import GHC.Arr (Ix(..)) import qualified Data.Foldable as F import Data.Monoid@@ -554,3 +558,14 @@  instance NFData a => NFData (Quaternion a) where   rnf (Quaternion a b) = rnf a `seq` rnf b++instance Serial1 Quaternion+instance Serial a => Serial (Quaternion a)++instance Binary a => Binary (Quaternion a) where+  put = serializeWith Binary.put+  get = deserializeWith Binary.get++instance Serialize a => Serialize (Quaternion a) where+  put = serializeWith Cereal.put+  get = deserializeWith Cereal.get
src/Linear/V.hs view
@@ -47,6 +47,8 @@ import Control.Monad.Fix import Control.Monad.Zip import Control.Lens as Lens+import Data.Binary as Binary+import Data.Bytes.Serial import Data.Data import Data.Distributive import Data.Foldable as Foldable@@ -56,6 +58,8 @@ import Data.Proxy #endif import Data.Reflection as R+import Data.Serialize as Cereal+import Data.Traversable (sequenceA) import Data.Vector as V import Foreign.Ptr import Foreign.Storable@@ -372,3 +376,18 @@   dataTypeOf _ = vDataType   dataCast1 f = gcast1 f +instance Dim n => Serial1 (V n) where+  serializeWith = traverse_+  deserializeWith f = sequenceA $ pure f++instance (Dim n, Serial a) => Serial (V n a) where+  serialize = traverse_ serialize+  deserialize = sequenceA $ pure deserialize++instance (Dim n, Binary a) => Binary (V n a) where+  put = serializeWith Binary.put+  get = deserializeWith Binary.get++instance (Dim n, Serialize a) => Serialize (V n a) where+  put = serializeWith Cereal.put+  get = deserializeWith Cereal.get
src/Linear/V0.hs view
@@ -32,6 +32,8 @@ import Control.Lens import Control.Monad.Fix import Control.Monad.Zip+import Data.Binary -- binary+import Data.Bytes.Serial -- bytes import Data.Data import Data.Distributive import Data.Foldable@@ -40,6 +42,7 @@ import Data.Hashable import Data.Ix import Data.Semigroup+import Data.Serialize -- cereal import Foreign.Storable (Storable(..)) #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702 import GHC.Generics (Generic)@@ -74,6 +77,17 @@                         ,Generic1 #endif                         )++instance Serial1 V0+instance Serial (V0 a)++instance Binary (V0 a) where+  put V0 = return ()+  get = return V0++instance Serialize (V0 a) where+  put V0 = return ()+  get = return V0  instance Functor V0 where   fmap _ V0 = V0
src/Linear/V1.hs view
@@ -40,6 +40,9 @@ import Control.Monad.Fix import Control.Monad.Zip import Control.Lens+import Data.Binary as Binary+import Data.Bytes.Serial+import Data.Serialize as Cereal import Data.Data import Data.Distributive import Data.Foldable@@ -308,3 +311,15 @@   {-# INLINE minBound #-}   maxBound = pure maxBound   {-# INLINE maxBound #-}++instance Serial1 V1+instance Serial a => Serial (V1 a)++instance Binary a => Binary (V1 a) where+  put = serializeWith Binary.put+  get = deserializeWith Binary.get++instance Serialize a => Serialize (V1 a) where+  put = serializeWith Cereal.put+  get = deserializeWith Cereal.get+
src/Linear/V2.hs view
@@ -37,6 +37,8 @@ import Control.Monad.Fix import Control.Monad.Zip import Control.Lens hiding ((<.>))+import Data.Binary as Binary+import Data.Bytes.Serial import Data.Data import Data.Distributive import Data.Foldable@@ -45,6 +47,7 @@ import Data.Functor.Rep import Data.Semigroup import Data.Semigroup.Foldable+import Data.Serialize as Cereal import Foreign.Ptr (castPtr) import Foreign.Storable (Storable(..)) import GHC.Arr (Ix(..))@@ -370,3 +373,14 @@  instance NFData a => NFData (V2 a) where   rnf (V2 a b) = rnf a `seq` rnf b++instance Serial1 V2+instance Serial a => Serial (V2 a)++instance Binary a => Binary (V2 a) where+  put = serializeWith Binary.put+  get = deserializeWith Binary.get++instance Serialize a => Serialize (V2 a) where+  put = serializeWith Cereal.put+  get = deserializeWith Cereal.get
src/Linear/V3.hs view
@@ -38,6 +38,8 @@ import Control.Monad.Fix import Control.Monad.Zip import Control.Lens hiding ((<.>))+import Data.Binary as Binary -- binary+import Data.Bytes.Serial -- bytes import Data.Data import Data.Distributive import Data.Foldable@@ -46,6 +48,7 @@ import Data.Hashable import Data.Semigroup import Data.Semigroup.Foldable+import Data.Serialize as Cereal -- cereal import Foreign.Ptr (castPtr) import Foreign.Storable (Storable(..)) import GHC.Arr (Ix(..))@@ -393,3 +396,14 @@  instance NFData a => NFData (V3 a) where   rnf (V3 a b c) = rnf a `seq` rnf b `seq` rnf c++instance Serial1 V3+instance Serial a => Serial (V3 a)++instance Binary a => Binary (V3 a) where+  put = serializeWith Binary.put+  get = deserializeWith Binary.get++instance Serialize a => Serialize (V3 a) where+  put = serializeWith Cereal.put+  get = deserializeWith Cereal.get
src/Linear/V4.hs view
@@ -45,6 +45,8 @@ import Control.Monad.Fix import Control.Monad.Zip import Control.Lens hiding ((<.>))+import Data.Binary as Binary+import Data.Bytes.Serial import Data.Data import Data.Distributive import Data.Foldable@@ -53,6 +55,7 @@ import Data.Hashable import Data.Semigroup import Data.Semigroup.Foldable+import Data.Serialize as Cereal import Foreign.Ptr (castPtr) import Foreign.Storable (Storable(..)) import GHC.Arr (Ix(..))@@ -540,3 +543,14 @@  instance NFData a => NFData (V4 a) where   rnf (V4 a b c d) = rnf a `seq` rnf b `seq` rnf c `seq` rnf d++instance Serial1 V4+instance Serial a => Serial (V4 a)++instance Binary a => Binary (V4 a) where+  put = serializeWith Binary.put+  get = deserializeWith Binary.get++instance Serialize a => Serialize (V4 a) where+  put = serializeWith Cereal.put+  get = deserializeWith Cereal.get