Safe Haskell | None |
---|---|
Language | Haskell98 |
Synopsis
- class (Applicative nodes, Traversable nodes) => C nodes where
- loadNodes :: (C nodes, Storable am) => (Value (Ptr am) -> CodeGenFunction r a) -> Value Int -> Value (Ptr am) -> CodeGenFunction r (nodes a)
- indexNodes :: C nodes => (Value Word -> CodeGenFunction r v) -> Value Word -> Value Word -> CodeGenFunction r (nodes v)
- loadNodesExp :: (C nodes, Storable am) => (Value (Ptr am) -> CodeGenFunction r a) -> T Int -> Value (Ptr am) -> CodeGenFunction r (nodes a)
- indexNodesExp :: C nodes => (T Word -> CodeGenFunction r v) -> T Word -> T Word -> CodeGenFunction r (nodes v)
- data Margin nodes = Margin {}
- zipMargin :: T Int -> T Int -> T (Margin nodes)
- unzipMargin :: T (Margin nodes) -> (T Int, T Int)
- toMargin :: C nodes => (forall r. T r nodes a v) -> Margin (nodes v)
- marginNumberExp :: Value val => val (Margin nodes) -> val Int
- marginOffsetExp :: Value val => val (Margin nodes) -> val Int
- type T r nodes a v = a -> nodes v -> CodeGenFunction r v
- data Nodes02 a = Nodes02 {}
- linear :: (PseudoRing a, IntegerConstant a) => T r Nodes02 a a
- linearVector :: (PseudoModule v, Scalar v ~ a, IntegerConstant a) => T r Nodes02 a v
- data Nodes13 a = Nodes13 {}
- cubic :: (Field a, RationalConstant a) => T r Nodes13 a a
- cubicVector :: (PseudoModule v, Scalar v ~ a, Field a, RationalConstant a) => T r Nodes13 a v
Documentation
class (Applicative nodes, Traversable nodes) => C nodes where Source #
loadNodes :: (C nodes, Storable am) => (Value (Ptr am) -> CodeGenFunction r a) -> Value Int -> Value (Ptr am) -> CodeGenFunction r (nodes a) Source #
indexNodes :: C nodes => (Value Word -> CodeGenFunction r v) -> Value Word -> Value Word -> CodeGenFunction r (nodes v) Source #
loadNodesExp :: (C nodes, Storable am) => (Value (Ptr am) -> CodeGenFunction r a) -> T Int -> Value (Ptr am) -> CodeGenFunction r (nodes a) Source #
indexNodesExp :: C nodes => (T Word -> CodeGenFunction r v) -> T Word -> T Word -> CodeGenFunction r (nodes v) Source #
type T r nodes a v = a -> nodes v -> CodeGenFunction r v Source #
Zero nodes before index 0 and two nodes starting from index 0.
Instances
linear :: (PseudoRing a, IntegerConstant a) => T r Nodes02 a a Source #
linearVector :: (PseudoModule v, Scalar v ~ a, IntegerConstant a) => T r Nodes02 a v Source #
One node before index 0 and three nodes starting from index 0.
Instances
cubicVector :: (PseudoModule v, Scalar v ~ a, Field a, RationalConstant a) => T r Nodes13 a v Source #