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

Safe HaskellNone

Data.Array.Knead.Simple.Physical

Synopsis

Documentation

data Array sh a Source

Constructors

Array 

Fields

shape :: sh
 
buffer :: ForeignPtr a
 

toList :: (C sh, Storable a) => Array sh a -> IO [a]Source

fromList :: (C sh, Storable a) => sh -> [a] -> IO (Array sh a)Source

vectorFromList :: (C sh, Num sh, Storable a) => [a] -> IO (Array sh a)Source

with :: (C sh, C a) => (Array sh a -> IO b) -> Array sh a -> IO bSource

The symbolic array is only valid inside the enclosed action.

render :: (C sh, Storable sh, C sh, Storable a, C a) => Array sh a -> IO (Array sh a)Source

scanl1 :: (C sh, Storable sh, C sh, C n, Storable n, C n, Storable a, C a) => (Exp a -> Exp a -> Exp a) -> Array (sh, n) a -> IO (Array (sh, n) a)Source

mapAccumLSimple :: (C sh, Storable sh, C sh, C n, Storable n, C n, C acc, Storable x, C x, Storable y, C y) => (Exp acc -> Exp x -> Exp (acc, y)) -> Array sh acc -> Array (sh, n) x -> IO (Array (sh, n) y)Source

scatter :: (C sh0, Index sh0 ~ ix0, C sh1, Index sh1 ~ ix1, Storable sh1, C sh1, Storable a, C a) => (Exp a -> Exp a -> Exp a) -> Array sh1 a -> Array sh0 (ix1, a) -> IO (Array sh1 a)Source

scatterMaybe :: (C sh0, Index sh0 ~ ix0, C sh1, Index sh1 ~ ix1, Storable sh1, C sh1, Storable a, C a) => (Exp a -> Exp a -> Exp a) -> Array sh1 a -> Array sh0 (Maybe (ix1, a)) -> IO (Array sh1 a)Source

permute :: (C sh0, Index sh0 ~ ix0, C sh1, Index sh1 ~ ix1, Storable sh1, C sh1, Storable a, C a) => (Exp a -> Exp a -> Exp a) -> Array sh1 a -> (Exp ix0 -> Exp ix1) -> Array sh0 a -> IO (Array sh1 a)Source