repa- High performance, regular, shape polymorphic parallel arrays.

Safe HaskellSafe-Infered




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.


(Repr r1 e, Repr r2 e) => Repr (P r1 r2) e

Read elements from a partitioned array.

(FillRange r1 r3 sh e, Fill r2 r3 sh e, Fillable r3 e) => Fill (P r1 r2) r3 sh e 
(Combine r11 a r21 b, Combine r12 a r22 b) => Combine (P r11 r12) a (P r21 r22) b 

data family Array r sh e Source

Arrays with a representation tag, shape, and element type. Use one of the type tags like D, U and so on for r, one of DIM1, DIM2 ... for sh.

data Range sh Source


Range !sh !sh (sh -> Bool) 

inRange :: Range sh -> sh -> BoolSource

Check whether an index is within the given range.