#[repr(C)]pub enum GateType {
Show 18 variants
Zero,
Generic,
Poseidon,
CompleteAdd,
VarBaseMul,
EndoMul,
EndoMulScalar,
Lookup,
CairoClaim,
CairoInstruction,
CairoFlags,
CairoTransition,
RangeCheck0,
RangeCheck1,
ForeignFieldAdd,
ForeignFieldMul,
Xor16,
Rot64,
}
Expand description
The different types of gates the system supports. Note that all the gates are mutually exclusive: they cannot be used at the same time on single row. If we were ever to support this feature, we would have to make sure not to re-use powers of alpha across constraints.
Variants§
Zero
Zero gate
Generic
Generic arithmetic gate
Poseidon
Poseidon permutation gate
CompleteAdd
Complete EC addition in Affine form
VarBaseMul
EC variable base scalar multiplication
EndoMul
EC variable base scalar multiplication with group endomorphim optimization
EndoMulScalar
Gate for computing the scalar corresponding to an endoscaling
Lookup
CairoClaim
Cairo
CairoInstruction
CairoFlags
CairoTransition
RangeCheck0
Range check
RangeCheck1
ForeignFieldAdd
ForeignFieldMul
Xor16
Rot64
Implementations§
source§impl GateType
impl GateType
sourcepub fn lookup_kinds() -> Vec<LookupPattern>
pub fn lookup_kinds() -> Vec<LookupPattern>
Which lookup-patterns should be applied on which rows.
Trait Implementations§
source§impl<'de> Deserialize<'de> for GateType
impl<'de> Deserialize<'de> for GateType
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl<'from_value_lifetime> FromValue<'from_value_lifetime> for GateType
impl<'from_value_lifetime> FromValue<'from_value_lifetime> for GateType
source§fn from_value(value: Value) -> Self
fn from_value(value: Value) -> Self
Convert from OCaml value
source§impl FromWasmAbi for GateType
impl FromWasmAbi for GateType
source§impl IntoValue for GateType
impl IntoValue for GateType
source§fn into_value(self, gc: &Runtime) -> Value
fn into_value(self, gc: &Runtime) -> Value
Convert to OCaml value
source§impl IntoWasmAbi for GateType
impl IntoWasmAbi for GateType
source§impl OCamlDesc for GateType
impl OCamlDesc for GateType
source§fn ocaml_desc(env: &Env, generics: &[&str]) -> String
fn ocaml_desc(env: &Env, generics: &[&str]) -> String
describes the type in OCaml, given the current environment [Env]
and the list of generic type parameters of the root type
(the type that makes use of this type)
source§impl OptionFromWasmAbi for GateType
impl OptionFromWasmAbi for GateType
source§impl OptionIntoWasmAbi for GateType
impl OptionIntoWasmAbi for GateType
source§impl Ord for GateType
impl Ord for GateType
source§impl PartialEq<GateType> for GateType
impl PartialEq<GateType> for GateType
source§impl PartialOrd<GateType> for GateType
impl PartialOrd<GateType> for GateType
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moreimpl Copy for GateType
impl Eq for GateType
impl StructuralEq for GateType
impl StructuralPartialEq for GateType
Auto Trait Implementations§
impl RefUnwindSafe for GateType
impl Send for GateType
impl Sync for GateType
impl Unpin for GateType
impl UnwindSafe for GateType
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
impl<T> ReturnWasmAbi for Twhere T: IntoWasmAbi,
§type Abi = <T as IntoWasmAbi>::Abi
type Abi = <T as IntoWasmAbi>::Abi
Same as
IntoWasmAbi::Abi
source§fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
Same as
IntoWasmAbi::into_abi
, except that it may throw and never
return in the case of Err
.