repa-3.4.1.5: High performance, regular, shape polymorphic parallel arrays.
Safe HaskellNone
LanguageHaskell2010

Data.Array.Repa.Repr.Partitioned

Synopsis

Documentation

data P r1 r2 Source #

Partitioned arrays. The last partition takes priority

These are produced by Repa's support functions and allow arrays to be defined using a different element function for each partition.

The basic idea is described in ``Efficient Parallel Stencil Convolution'', Ben Lippmeier and Gabriele Keller, Haskell 2011 -- though the underlying array representation has changed since this paper was published.

Instances

Instances details
(Source r1 e, Source r2 e) => Source (P r1 r2) e Source #

Read elements from a partitioned array.

Instance details

Defined in Data.Array.Repa.Repr.Partitioned

Associated Types

data Array (P r1 r2) sh e Source #

Methods

extent :: Shape sh => Array (P r1 r2) sh e -> sh Source #

index :: Shape sh => Array (P r1 r2) sh e -> sh -> e Source #

unsafeIndex :: Shape sh => Array (P r1 r2) sh e -> sh -> e Source #

linearIndex :: Shape sh => Array (P r1 r2) sh e -> Int -> e Source #

unsafeLinearIndex :: Shape sh => Array (P r1 r2) sh e -> Int -> e Source #

deepSeqArray :: Shape sh => Array (P r1 r2) sh e -> b -> b Source #

(LoadRange r1 sh e, Load r2 sh e) => Load (P r1 r2) sh e Source # 
Instance details

Defined in Data.Array.Repa.Repr.Partitioned

Methods

loadS :: Target r20 e => Array (P r1 r2) sh e -> MVec r20 e -> IO () Source #

loadP :: Target r20 e => Array (P r1 r2) sh e -> MVec r20 e -> IO () Source #

(Structured r1 a b, Structured r2 a b) => Structured (P r1 r2) a b Source # 
Instance details

Defined in Data.Array.Repa.Operators.Mapping

Associated Types

type TR (P r1 r2) Source #

Methods

smap :: Shape sh => (a -> b) -> Array (P r1 r2) sh a -> Array (TR (P r1 r2)) sh b Source #

szipWith :: (Shape sh, Source r c) => (c -> a -> b) -> Array r sh c -> Array (P r1 r2) sh a -> Array (TR (P r1 r2)) sh b Source #

data Array (P r1 r2) sh e Source # 
Instance details

Defined in Data.Array.Repa.Repr.Partitioned

data Array (P r1 r2) sh e = APart !sh !(Range sh) !(Array r1 sh e) !(Array r2 sh e)
type TR (P r1 r2) Source # 
Instance details

Defined in Data.Array.Repa.Operators.Mapping

type TR (P r1 r2) = P (TR r1) (TR r2)

data family Array r sh e Source #

Instances

Instances details
(Shape sh, Eq sh, Source r a, Eq a) => Eq (Array r sh a) Source # 
Instance details

Defined in Data.Array.Repa.Operators.Reduction

Methods

(==) :: Array r sh a -> Array r sh a -> Bool #

(/=) :: Array r sh a -> Array r sh a -> Bool #

Read (Array r1 sh e) => Read (Array (S r1) sh e) Source # 
Instance details

Defined in Data.Array.Repa.Repr.HintSmall

Methods

readsPrec :: Int -> ReadS (Array (S r1) sh e) #

readList :: ReadS [Array (S r1) sh e] #

readPrec :: ReadPrec (Array (S r1) sh e) #

readListPrec :: ReadPrec [Array (S r1) sh e] #

Read (Array r1 sh e) => Read (Array (I r1) sh e) Source # 
Instance details

Defined in Data.Array.Repa.Repr.HintInterleave

Methods

readsPrec :: Int -> ReadS (Array (I r1) sh e) #

readList :: ReadS [Array (I r1) sh e] #

readPrec :: ReadPrec (Array (I r1) sh e) #

readListPrec :: ReadPrec [Array (I r1) sh e] #

Read sh => Read (Array B sh Word8) Source # 
Instance details

Defined in Data.Array.Repa.Repr.ByteString

(Read sh, Read e) => Read (Array V sh e) Source # 
Instance details

Defined in Data.Array.Repa.Repr.Vector

Methods

readsPrec :: Int -> ReadS (Array V sh e) #

readList :: ReadS [Array V sh e] #

readPrec :: ReadPrec (Array V sh e) #

readListPrec :: ReadPrec [Array V sh e] #

Read sh => Read (Array X sh e) Source # 
Instance details

Defined in Data.Array.Repa.Repr.Undefined

Methods

readsPrec :: Int -> ReadS (Array X sh e) #

readList :: ReadS [Array X sh e] #

readPrec :: ReadPrec (Array X sh e) #

readListPrec :: ReadPrec [Array X sh e] #

(Read sh, Read e, Unbox e) => Read (Array U sh e) Source # 
Instance details

Defined in Data.Array.Repa.Repr.Unboxed

Methods

readsPrec :: Int -> ReadS (Array U sh e) #

readList :: ReadS [Array U sh e] #

readPrec :: ReadPrec (Array U sh e) #

readListPrec :: ReadPrec [Array U sh e] #

Show (Array r1 sh e) => Show (Array (S r1) sh e) Source # 
Instance details

Defined in Data.Array.Repa.Repr.HintSmall

Methods

showsPrec :: Int -> Array (S r1) sh e -> ShowS #

show :: Array (S r1) sh e -> String #

showList :: [Array (S r1) sh e] -> ShowS #

Show (Array r1 sh e) => Show (Array (I r1) sh e) Source # 
Instance details

Defined in Data.Array.Repa.Repr.HintInterleave

Methods

showsPrec :: Int -> Array (I r1) sh e -> ShowS #

show :: Array (I r1) sh e -> String #

showList :: [Array (I r1) sh e] -> ShowS #

Show sh => Show (Array B sh Word8) Source # 
Instance details

Defined in Data.Array.Repa.Repr.ByteString

Methods

showsPrec :: Int -> Array B sh Word8 -> ShowS #

show :: Array B sh Word8 -> String #

showList :: [Array B sh Word8] -> ShowS #

(Show sh, Show e) => Show (Array V sh e) Source # 
Instance details

Defined in Data.Array.Repa.Repr.Vector

Methods

showsPrec :: Int -> Array V sh e -> ShowS #

show :: Array V sh e -> String #

showList :: [Array V sh e] -> ShowS #

Show sh => Show (Array X sh e) Source # 
Instance details

Defined in Data.Array.Repa.Repr.Undefined

Methods

showsPrec :: Int -> Array X sh e -> ShowS #

show :: Array X sh e -> String #

showList :: [Array X sh e] -> ShowS #

(Show sh, Show e, Unbox e) => Show (Array U sh e) Source # 
Instance details

Defined in Data.Array.Repa.Repr.Unboxed

Methods

showsPrec :: Int -> Array U sh e -> ShowS #

show :: Array U sh e -> String #

showList :: [Array U sh e] -> ShowS #

(Arbitrary sh, Arbitrary a, Shape sh) => Arbitrary (Array V sh a) Source # 
Instance details

Defined in Data.Array.Repa.Arbitrary

Methods

arbitrary :: Gen (Array V sh a) #

shrink :: Array V sh a -> [Array V sh a] #

(Arbitrary sh, Arbitrary a, Unbox a, Shape sh) => Arbitrary (Array U sh a) Source # 
Instance details

Defined in Data.Array.Repa.Arbitrary

Methods

arbitrary :: Gen (Array U sh a) #

shrink :: Array U sh a -> [Array U sh a] #

(CoArbitrary sh, CoArbitrary a, Source r a, Shape sh) => CoArbitrary (Array r sh a) Source # 
Instance details

Defined in Data.Array.Repa.Arbitrary

Methods

coarbitrary :: Array r sh a -> Gen b -> Gen b #

data Array D sh a Source # 
Instance details

Defined in Data.Array.Repa.Repr.Delayed

data Array D sh a = ADelayed !sh (sh -> a)
data Array F sh a Source # 
Instance details

Defined in Data.Array.Repa.Repr.ForeignPtr

data Array F sh a = AForeignPtr !sh !Int !(ForeignPtr a)
data Array V sh a Source # 
Instance details

Defined in Data.Array.Repa.Repr.Vector

data Array V sh a = AVector !sh !(Vector a)
data Array X sh e Source # 
Instance details

Defined in Data.Array.Repa.Repr.Undefined

data Array X sh e = AUndefined !sh
data Array C sh a Source # 
Instance details

Defined in Data.Array.Repa.Repr.Cursored

data Array C sh a = ACursored {}
data Array U sh a Source # 
Instance details

Defined in Data.Array.Repa.Repr.Unboxed

data Array U sh a = AUnboxed !sh !(Vector a)
data Array B sh Word8 Source # 
Instance details

Defined in Data.Array.Repa.Repr.ByteString

data Array (S r1) sh a Source # 
Instance details

Defined in Data.Array.Repa.Repr.HintSmall

data Array (S r1) sh a = ASmall !(Array r1 sh a)
data Array (I r1) sh a Source # 
Instance details

Defined in Data.Array.Repa.Repr.HintInterleave

data Array (I r1) sh a = AInterleave !(Array r1 sh a)
data Array (P r1 r2) sh e Source # 
Instance details

Defined in Data.Array.Repa.Repr.Partitioned

data Array (P r1 r2) sh e = APart !sh !(Range sh) !(Array r1 sh e) !(Array r2 sh e)

data Range sh Source #

Constructors

Range !sh !sh (sh -> Bool) 

inRange :: Range sh -> sh -> Bool Source #

Check whether an index is within the given range.