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

Safe HaskellSafe-Infered




data C Source

Cursored Arrays. These are produced by Repa's stencil functions, and help the fusion framework to share index compuations between array elements.

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 C a

Compute elements of a cursored array.

(Fillable r2 e, Elt e) => FillRange C r2 DIM2 e

Compute a range of elements in a rank-2 array.

(Fillable r2 e, Elt e) => Fill C r2 DIM2 e

Compute all elements in an rank-2 array.

Combine C a C 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.



:: sh 
-> (sh -> cursor)

Create a cursor for an index.

-> (sh -> cursor -> cursor)

Shift a cursor by an offset.

-> (cursor -> e)

Compute the element at the cursor.

-> Array C sh e 

Define a new cursored array.