Safe Haskell | None |
---|
Documentation
paramWith :: (Storable b, C b, Value val) => T p b -> (forall parameters. (Storable parameters, C parameters) => (p -> parameters) -> (T parameters -> val b) -> a) -> aSource
flattenIndex :: C sh => T sh -> T (Index sh) -> CodeGenFunction r (Value Word32)Source
class C sh => C sh whereSource
intersectCode :: T sh -> T sh -> CodeGenFunction r (T sh)Source
sizeCode :: T sh -> CodeGenFunction r (Value Word32)Source
flattenIndexRec :: T sh -> T (Index sh) -> CodeGenFunction r (Value Word32, Value Word32)Source
Result is (size, flattenedIndex)
.
size
must equal the result of sizeCode
.
We use this for sharing intermediate results.
loop :: (Index sh ~ ix, Phi state) => (T ix -> state -> CodeGenFunction r state) -> T sh -> state -> CodeGenFunction r stateSource