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

Safe HaskellNone

Data.Array.Knead.Simple.Physical

Synopsis

Documentation

data Array sh a

Instances

(C sh, Eq sh, Storable a, Eq a) => Eq (Array sh a) 
(C sh, Show sh, Storable a, Show a) => Show (Array sh a) 
NFData sh => NFData (Array sh a) 

shape :: Array sh a -> shSource

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

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

vectorFromList :: (Num n, Storable a) => [a] -> IO (Array (ZeroBased n) 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, MV sh, C a) => Array sh a -> IO (Array sh a)Source

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

mapAccumLSimple :: (C sh, MV sh, C n, MV n, C acc, C x, 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, MV sh1, 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, MV sh1, 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, MV sh1, C a) => (Exp a -> Exp a -> Exp a) -> Array sh1 a -> (Exp ix0 -> Exp ix1) -> Array sh0 a -> IO (Array sh1 a)Source