packages feed

yarr 1.3.3.3 → 1.4.0.0

raw patch · 21 files changed

+94/−62 lines, 21 filesdep ~fixed-vectordep ~primitive

Dependency ranges changed: fixed-vector, primitive

Files

Data/Yarr/Base.hs view
@@ -1,3 +1,9 @@+{-# LANGUAGE CPP                    #-}+{-# LANGUAGE TypeFamilies           #-}+{-# LANGUAGE MultiParamTypeClasses  #-}+{-# LANGUAGE FlexibleContexts       #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE FlexibleInstances      #-}  -- | Core type system module Data.Yarr.Base (
Data/Yarr/Eval.hs view
@@ -1,3 +1,10 @@+{-# LANGUAGE BangPatterns          #-}+{-# LANGUAGE CPP                   #-}+{-# LANGUAGE TypeFamilies          #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE FlexibleContexts      #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE UndecidableInstances  #-}  -- | 'Load'ing and computing arrays module Data.Yarr.Eval (
Data/Yarr/Flow.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE FlexibleContexts      #-}  -- | Dataflow (fusion operations) module Data.Yarr.Flow (
Data/Yarr/Fusion.hs view
@@ -1,3 +1,10 @@+{-# LANGUAGE TypeFamilies           #-}+{-# LANGUAGE MultiParamTypeClasses  #-}+{-# LANGUAGE FlexibleContexts       #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE FlexibleInstances      #-}+{-# LANGUAGE UndecidableInstances   #-}+ -- | Fusion type system. Use re-exported in "Data.Yarr.Flow" functions. module Data.Yarr.Fusion where 
Data/Yarr/Repr/Delayed.hs view
@@ -1,3 +1,8 @@+{-# LANGUAGE TypeFamilies          #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE FlexibleContexts      #-}+{-# LANGUAGE OverlappingInstances  #-}  module Data.Yarr.Repr.Delayed (     -- * Delayed source
Data/Yarr/Repr/Foreign.hs view
@@ -1,3 +1,10 @@+{-# LANGUAGE RankNTypes             #-}+{-# LANGUAGE ScopedTypeVariables    #-}+{-# LANGUAGE FlexibleInstances      #-}+{-# LANGUAGE FlexibleContexts       #-}+{-# LANGUAGE MultiParamTypeClasses  #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeFamilies           #-}  module Data.Yarr.Repr.Foreign (     F, FS,@@ -25,7 +32,6 @@ import Data.Yarr.Repr.Separate import Data.Yarr.Shape -import Data.Yarr.Utils.Storable import Data.Yarr.Utils.FixedVector as V  -- | Foreign representation is the heart of Yarr framework.@@ -126,7 +132,7 @@ instance Shape sh => DefaultIFusion FS L D SH sh  -instance (Shape sh, Vector v e, Storable e) => VecRegular F FS L sh v e where+instance (Shape sh, Vector v e, Storable e, Storable (v e)) => VecRegular F FS L sh v e where     slices (ForeignArray sh fptr ptr) =         let esize = sizeOf (undefined :: e)             vsize = sizeOf (undefined :: (v e))@@ -136,7 +142,7 @@             ForeignSlice sh vsize feptr (eptr `plusPtr` (i * esize))     {-# INLINE slices #-} -instance (Shape sh, Vector v e, Storable e) => UVecSource F FS L sh v e+instance (Shape sh, Vector v e, Storable e, Storable (v e)) => UVecSource F FS L sh v e  instance (Shape sh, Vector v e, Storable e) => UVecSource (SE F) F L sh v e @@ -184,7 +190,8 @@         pokeByteOff ptr (i * vsize) x     {-# INLINE linearWrite #-} -instance (Shape sh, Vector v e, Storable e) => UVecTarget F FS L sh v e+instance (Shape sh, Vector v e, Storable e, Storable (v e)) =>+         UVecTarget F FS L sh v e  -- | /O(1)/ Returns pointer to memory block used by the given foreign -- array.
Data/Yarr/Repr/Separate.hs view
@@ -1,3 +1,9 @@+{-# LANGUAGE BangPatterns          #-}+{-# LANGUAGE TypeFamilies          #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE FlexibleContexts      #-}+{-# LANGUAGE UndecidableInstances  #-}  module Data.Yarr.Repr.Separate (     -- * @Separate@ representation
Data/Yarr/Shape.hs view
@@ -1,4 +1,15 @@-{-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE InstanceSigs           #-}+{-# LANGUAGE RankNTypes             #-}+{-# LANGUAGE ScopedTypeVariables    #-}+{-# LANGUAGE TypeFamilies           #-}+{-# LANGUAGE FlexibleContexts       #-}+{-# LANGUAGE MultiParamTypeClasses  #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE TypeSynonymInstances   #-}+{-# LANGUAGE FlexibleInstances      #-}+{-# LANGUAGE MagicHash              #-}+{-# LANGUAGE UnboxedTuples          #-}+{-# LANGUAGE BangPatterns           #-}  module Data.Yarr.Shape (     -- * Flow types hierarchy
Data/Yarr/Utils/FixedVector.hs view
@@ -5,13 +5,17 @@ {-# OPTIONS_GHC -fno-warn-missing-methods #-} {-# OPTIONS_GHC -fno-warn-orphans         #-} +{-# LANGUAGE RankNTypes                   #-}+{-# LANGUAGE ScopedTypeVariables          #-}+{-# LANGUAGE FlexibleContexts             #-}+ module Data.Yarr.Utils.FixedVector (     -- * Fixed Vector       module Data.Vector.Fixed,     arity,          -- * Missed utility-    zipWith3, zipWithM_, apply, zero,+    apply, zero,     iifoldl, iifoldM,      -- * Aliases and shortcuts@@ -37,8 +41,6 @@     foldl, zipWith, zipWith3,     all, any, sequence_, replicate) -import Control.DeepSeq- import Data.Vector.Fixed import Data.Vector.Fixed.Cont ( accum, arity ) @@ -65,26 +67,6 @@ vl_4 :: a -> a -> a -> a -> VecList N4 a {-# INLINE vl_4 #-} vl_4 a b c d = a `Cons` (b `Cons` (c `Cons` (d `Cons` Nil)))---instance (Arity n, NFData e) => NFData (VecList n e) where-    rnf = Data.Vector.Fixed.foldl (\r e -> r `seq` rnf e) ()-    {-# INLINE rnf #-}--    -zipWith3-  :: (Vector v a, Vector v b, Vector v c, Vector v d, Vector v (b, c))-  => (a -> b -> c -> d)-  -> v a -> v b -> v c-  -> v d-{-# INLINE zipWith3 #-}-zipWith3 f v1 v2 v3 = zipWith (\a (b, c) -> f a b c) v1 (zipWith (,) v2 v3)--zipWithM_-  :: (Vector v a, Vector v b, Vector v c, Monad m, Vector v (m c))-  => (a -> b -> m c) -> v a -> v b -> m ()-{-# INLINE zipWithM_ #-}-zipWithM_ f xs ys = sequence_ (zipWith f xs ys)   apply :: (Vector v a, Vector v (a -> b), Vector v b)
Data/Yarr/Utils/FixedVector/InlinableArity.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE TemplateHaskell       #-}+{-# LANGUAGE TypeFamilies          #-}  module Data.Yarr.Utils.FixedVector.InlinableArity where 
Data/Yarr/Utils/FixedVector/VecTuple.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeFamilies    #-}  module Data.Yarr.Utils.FixedVector.VecTuple (     VecTuple(..), makeVecTupleInstance
Data/Yarr/Utils/FixedVector/VecTupleInstances.hs view
@@ -1,8 +1,9 @@--{-# LANGUAGE CPP #-}-{-# LANGUAGE StandaloneDeriving #-}-{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE CPP                   #-}+{-# LANGUAGE StandaloneDeriving    #-}+{-# LANGUAGE FlexibleInstances     #-} {-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE TemplateHaskell       #-}+{-# LANGUAGE TypeFamilies          #-}  module Data.Yarr.Utils.FixedVector.VecTupleInstances where 
Data/Yarr/Utils/Fork.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE BangPatterns #-}+{-# LANGUAGE TypeFamilies #-}  module Data.Yarr.Utils.Fork where 
Data/Yarr/Utils/LowLevelFlow.hs view
@@ -1,3 +1,8 @@+{-# LANGUAGE RankNTypes          #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE MagicHash           #-}+{-# LANGUAGE UnboxedTuples       #-}+{-# LANGUAGE BangPatterns        #-}  module Data.Yarr.Utils.LowLevelFlow where 
Data/Yarr/Utils/Parallel.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE BangPatterns #-}  module Data.Yarr.Utils.Parallel where 
Data/Yarr/Utils/Primitive.hs view
@@ -1,3 +1,7 @@+{-# LANGUAGE FlexibleInstances        #-}+{-# LANGUAGE UndecidableInstances     #-}+{-# LANGUAGE MagicHash, UnboxedTuples #-}+{-# LANGUAGE CPP                      #-}  module Data.Yarr.Utils.Primitive where 
Data/Yarr/Utils/Split.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE BangPatterns #-}  module Data.Yarr.Utils.Split where 
− Data/Yarr/Utils/Storable.hs
@@ -1,26 +0,0 @@--module Data.Yarr.Utils.Storable where--import Foreign-import Data.Yarr.Utils.FixedVector as V--instance (Storable e, Vector v e) => Storable (v e) where-    sizeOf _ =-        let esize = sizeOf (undefined :: e)-            n = arity (undefined :: (Dim v))-        in n * esize--    alignment _ = alignment (undefined :: e)--    peek ptr =-        let eptr = castPtr ptr-        in V.generateM (\i -> peekElemOff eptr i)--    poke ptr v =-        let eptr = castPtr ptr-        in imapM_ (\i e -> pokeElemOff eptr i e) v--    {-# INLINE sizeOf #-}-    {-# INLINE alignment #-}-    {-# INLINE peek #-}-    {-# INLINE poke #-}
Data/Yarr/Walk/Internal.hs view
@@ -1,3 +1,6 @@+{-# LANGUAGE TypeFamilies           #-}+{-# LANGUAGE MultiParamTypeClasses  #-}+{-# LANGUAGE FunctionalDependencies #-}  module Data.Yarr.Walk.Internal where 
Debug/Yarr.hs view
@@ -1,3 +1,9 @@+{-# LANGUAGE MultiParamTypeClasses  #-}+{-# LANGUAGE FunctionalDependencies #-}+{-# LANGUAGE FlexibleInstances      #-}+{-# LANGUAGE TypeFamilies           #-}+{-# LANGUAGE FlexibleContexts       #-}+{-# LANGUAGE UndecidableInstances   #-}  module Debug.Yarr (     -- * @Checked@ meta repr
yarr.cabal view
@@ -1,5 +1,5 @@ Name:                yarr-Version:             1.3.3.3+Version:             1.4.0.0 Synopsis:            Yet another array library Description:     Yarr is a new blazing fast dataflow framework (array library),@@ -59,8 +59,8 @@         base >=4.6 && <4.8,         ghc-prim         == 0.3.*,         deepseq          == 1.3.*,-        fixed-vector     >= 0.7 && < 0.8,-        primitive        >= 0.2 && < 0.6,+        fixed-vector     >= 0.8 && < 0.9,+        primitive        == 0.6,         template-haskell >= 2.8 && < 2.10,         missing-foreign  == 0.1.1 @@ -113,5 +113,4 @@         Data.Yarr.WorkTypes          Data.Yarr.Walk.Internal-        Data.Yarr.Utils.Storable         Data.Yarr.Utils.LowLevelFlow