Safe Haskell | None |
---|---|
Language | Haskell98 |
Synthesizer.LLVM.Interpolation
- 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 {}
- 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 where Source
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
Constructors
Margin | |
Fields |
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
Functor Nodes02 Source | |
Applicative Nodes02 Source | |
Foldable Nodes02 Source | |
Traversable Nodes02 Source | |
C Nodes02 Source | |
C l => C (Nodes02 l) Source | |
Undefined a => Undefined (Nodes02 a) Source | |
Phi a => Phi (Nodes02 a) Source | |
Sized value => Sized (Nodes02 value) Source | |
C v => C (Nodes02 v) Source | |
Read v => Read (Nodes02 v) Source | |
type Struct (Nodes02 l) Source | |
type Size (Nodes02 value) = Size value Source | |
type WriteIt (Nodes02 v) = Nodes02 (WriteIt v) Source | |
type Element (Nodes02 v) = Nodes02 (Element v) Source | |
type ReadIt (Nodes02 v) = Nodes02 (ReadIt v) Source |
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
Functor Nodes13 Source | |
Applicative Nodes13 Source | |
Foldable Nodes13 Source | |
Traversable Nodes13 Source | |
C Nodes13 Source | |
C l => C (Nodes13 l) Source | |
Undefined a => Undefined (Nodes13 a) Source | |
Phi a => Phi (Nodes13 a) Source | |
Sized value => Sized (Nodes13 value) Source | |
C v => C (Nodes13 v) Source | |
Read v => Read (Nodes13 v) Source | |
type Struct (Nodes13 l) Source | |
type Size (Nodes13 value) = Size value Source | |
type WriteIt (Nodes13 v) = Nodes13 (WriteIt v) Source | |
type Element (Nodes13 v) = Nodes13 (Element v) Source | |
type ReadIt (Nodes13 v) = Nodes13 (ReadIt v) Source |
cubicVector :: (PseudoModule v, Scalar v ~ a, Field a, RationalConstant a) => T r Nodes13 a v Source