knead-0.5: Repa-like array processing using LLVM JIT

Safe HaskellNone

Data.Array.Knead.Parameterized.Render

Description

Simplify running the render function by handling passing of parameters.

Documentation

run :: C f => f -> IO (Plain f)Source

newtype MarshalExp a Source

Constructors

MarshalExp 

Fields

getMarshalExp :: Exp a
 

Instances

(C a, C a) => C (MarshalExp a) 

data MapFilter n a b Source

Constructors

MapFilter 

Instances

(Sequence n, MV n, C b, C b) => C (MapFilter n a b) 

data FilterOuter n sh a Source

Constructors

FilterOuter 

Instances

(Sequence n, MV n, C sh, MV sh, C a, C a) => C (FilterOuter n sh a) 

data Scatter sh0 sh1 a Source

Constructors

Scatter 

Fields

scatterAccum :: Exp a -> Exp a -> Exp a
 
scatterInit :: Array sh1 a
 
scatterMap :: Array sh0 (Index sh1, a)
 

Instances

(C sh0, MV sh0, C sh1, MV sh1, C a, C a) => C (Scatter sh0 sh1 a) 

data ScatterMaybe sh0 sh1 a Source

Constructors

ScatterMaybe 

Fields

scatterMaybeAccum :: Exp a -> Exp a -> Exp a
 
scatterMaybeInit :: Array sh1 a
 
scatterMaybeMap :: Array sh0 (Maybe (Index sh1, a))
 

Instances

(C sh0, MV sh0, C sh1, MV sh1, C a, C a) => C (ScatterMaybe sh0 sh1 a) 

data MapAccumLSimple sh n acc a b Source

Constructors

MapAccumLSimple 

Fields

mapAccumLSimpleAccum :: Exp acc -> Exp a -> Exp (acc, b)
 
mapAccumLSimpleInit :: Array sh acc
 
mapAccumLSimpleArray :: Array (sh, n) a
 

Instances

(C sh, MV sh, C n, MV n, C acc, C a, C a, C b, C b) => C (MapAccumLSimple sh n acc a b) 

data MapAccumLSequence n acc final a b Source

Constructors

MapAccumLSequence 

Fields

mapAccumLSequenceAccum :: Exp acc -> Exp a -> Exp (acc, b)
 
mapAccumLSequenceFinal :: Exp acc -> Exp final
 
mapAccumLSequenceInit :: Exp acc
 
mapAccumLSequenceArray :: Array n a
 

Instances

(C n, MV n, C acc, C final, C final, C a, C a, C b, C b) => C (MapAccumLSequence n acc final a b) 

data MapAccumL sh n acc final a b Source

Constructors

MapAccumL 

Fields

mapAccumLAccum :: Exp acc -> Exp a -> Exp (acc, b)
 
mapAccumLFinal :: Exp acc -> Exp final
 
mapAccumLInit :: Array sh acc
 
mapAccumLArray :: Array (sh, n) a
 

Instances

(C sh, MV sh, C n, MV n, C acc, C final, C final, C a, C a, C b, C b) => C (MapAccumL sh n acc final a b) 

data FoldOuterL n sh a b Source

Constructors

FoldOuterL 

Fields

foldOuterLAccum :: Exp a -> Exp b -> Exp a
 
foldOuterLInit :: Array sh a
 
foldOuterLArray :: Array (n, sh) b
 

Instances

(C n, MV n, C sh, MV sh, C a, C a, C b, C b) => C (FoldOuterL n sh a b) 

data AddDimension sh n a b Source

Constructors

AddDimension 

Instances

(C sh, MV sh, C n, MV n, C b, C b) => C (AddDimension sh n a b)