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

Safe HaskellSafe-Infered

Data.Array.Repa.Stencil.Dim2

Contents

Synopsis

Stencil creation

makeStencil2Source

Arguments

:: Num a 
=> Int 
-> Int

extent of stencil

-> (DIM2 -> Maybe a)

Get the coefficient at this index.

-> Stencil DIM2 a 

Wrapper for makeStencil that requires a DIM2 stencil.

stencil2 :: QuasiQuoterSource

QuasiQuoter for producing a static stencil defintion.

A definition like

     [stencil2|  0 1 0
                 1 0 1
                 0 1 0 |]

Is converted to:

     makeStencil2 (Z:.3:.3)
        (\ix -> case ix of
                  Z :. -1 :.  0  -> Just 1
                  Z :.  0 :. -1  -> Just 1
                  Z :.  0 :.  1  -> Just 1
                  Z :.  1 :.  0  -> Just 1
                  _              -> Nothing)

Stencil operators

type PC5 = P C (P (S D) (P (S D) (P (S D) (P (S D) X))))Source

mapStencil2Source

Arguments

:: Repr r a 
=> Boundary a

How to handle the boundary of the array.

-> Stencil DIM2 a

Stencil to apply.

-> Array r DIM2 a

Array to apply stencil to.

-> Array PC5 DIM2 a 

Apply a stencil to every element of a 2D array.

forStencil2 :: Repr r a => Boundary a -> Array r DIM2 a -> Stencil DIM2 a -> Array PC5 DIM2 aSource

Like mapStencil2 but with the parameters flipped.