Safe Haskell | None |
---|
- class (Applicative nodes, Traversable nodes) => C nodes where
- loadNodes :: C nodes => (Value (Ptr am) -> CodeGenFunction r a) -> Value Word32 -> Value (Ptr am) -> CodeGenFunction r (nodes a)
- indexNodes :: C nodes => (Value Word32 -> CodeGenFunction r v) -> Value Word32 -> Value Word32 -> CodeGenFunction r (nodes v)
- data Margin nodes = Margin {
- marginNumber :: Int
- marginOffset :: Int
- toMargin :: C nodes => (forall r. T r nodes a v) -> Margin (nodes v)
- 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 whereSource
loadNodes :: C nodes => (Value (Ptr am) -> CodeGenFunction r a) -> Value Word32 -> Value (Ptr am) -> CodeGenFunction r (nodes a)Source
indexNodes :: C nodes => (Value Word32 -> CodeGenFunction r v) -> Value Word32 -> Value Word32 -> CodeGenFunction r (nodes v)Source
Margin | |
|
type T r nodes a v = a -> nodes v -> CodeGenFunction r vSource
Zero nodes before index 0 and two nodes starting from index 0.
linear :: (PseudoRing a, IntegerConstant a) => T r Nodes02 a aSource
linearVector :: (PseudoModule v, Scalar v ~ a, IntegerConstant a) => T r Nodes02 a vSource
One node before index 0 and three nodes starting from index 0.
cubicVector :: (PseudoModule v, Scalar v ~ a, Field a, RationalConstant a) => T r Nodes13 a vSource