Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
ZkFold.Symbolic.Compiler.ArithmeticCircuit.Lookup
Synopsis
- data LookupType a = forall f.(Functor f, Typeable f) => LookupType {
- lTable :: LookupTable a f
- tryEq :: (Typeable f, Typeable g) => LookupTable a f -> LookupTable a g -> Bool
- tryCompare :: (Typeable f, Typeable g) => LookupTable a f -> LookupTable a g -> Ordering
- data LookupTable a f where
- Ranges :: Set (a, a) -> LookupTable a Par1
- Product :: LookupTable a f -> LookupTable a g -> LookupTable a (f :*: g)
- Plot :: FunctionId (f a -> g a) -> LookupTable a f -> LookupTable a (f :*: g)
- newtype FunctionId f = FunctionId {}
- isRange :: LookupType a -> Bool
- fromRange :: LookupType a -> Set (a, a)
Documentation
data LookupType a Source #
Constructors
forall f.(Functor f, Typeable f) => LookupType | |
Fields
|
Instances
tryEq :: (Typeable f, Typeable g) => LookupTable a f -> LookupTable a g -> Bool Source #
tryCompare :: (Typeable f, Typeable g) => LookupTable a f -> LookupTable a g -> Ordering Source #
data LookupTable a f where Source #
LookupTable a f
is a type of compact lookup table descriptions using ideas from relational algebra.
a
is a base field type, f
is a functor such that f a
is a type whose subset this lookup table describes.
Constructors
Ranges :: Set (a, a) -> LookupTable a Par1 |
|
Product :: LookupTable a f -> LookupTable a g -> LookupTable a (f :*: g) |
|
Plot :: FunctionId (f a -> g a) -> LookupTable a f -> LookupTable a (f :*: g) |
|
Instances
newtype FunctionId f Source #
Constructors
FunctionId | |
Fields |
Instances
isRange :: LookupType a -> Bool Source #
fromRange :: LookupType a -> Set (a, a) Source #