#[repr(C)]pub enum GateType {
Show 18 variants
Zero = 0,
Generic = 1,
Poseidon = 2,
CompleteAdd = 3,
VarBaseMul = 4,
EndoMul = 5,
EndoMulScalar = 6,
Lookup = 7,
CairoClaim = 8,
CairoInstruction = 9,
CairoFlags = 10,
CairoTransition = 11,
RangeCheck0 = 12,
RangeCheck1 = 13,
ForeignFieldAdd = 14,
ForeignFieldMul = 15,
Xor16 = 16,
Rot64 = 17,
}
Expand description
Handy re-exports 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 = 0
Zero gate
Generic = 1
Generic arithmetic gate
Poseidon = 2
Poseidon permutation gate
CompleteAdd = 3
Complete EC addition in Affine form
VarBaseMul = 4
EC variable base scalar multiplication
EndoMul = 5
EC variable base scalar multiplication with group endomorphim optimization
EndoMulScalar = 6
Gate for computing the scalar corresponding to an endoscaling
Lookup = 7
CairoClaim = 8
Cairo
CairoInstruction = 9
CairoFlags = 10
CairoTransition = 11
RangeCheck0 = 12
Range check
RangeCheck1 = 13
ForeignFieldAdd = 14
ForeignFieldMul = 15
Xor16 = 16
Rot64 = 17
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<GateType, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<GateType, <__D as Deserializer<'de>>::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) -> GateType
fn from_value(value: Value) -> GateType
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: &OCamlRuntime) -> Value
fn into_value(self, gc: &OCamlRuntime) -> 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 PartialOrd for GateType
impl PartialOrd for GateType
Source§impl Serialize for GateType
impl Serialize for GateType
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Source§impl TryFromJsValue for GateType
impl TryFromJsValue for GateType
Source§impl VectorFromWasmAbi for GateType
impl VectorFromWasmAbi for GateType
type Abi = <Box<[JsValue]> as FromWasmAbi>::Abi
unsafe fn vector_from_abi( js: <GateType as VectorFromWasmAbi>::Abi, ) -> Box<[GateType]>
Source§impl VectorIntoWasmAbi for GateType
impl VectorIntoWasmAbi for GateType
type Abi = <Box<[JsValue]> as IntoWasmAbi>::Abi
fn vector_into_abi( vector: Box<[GateType]>, ) -> <GateType as VectorIntoWasmAbi>::Abi
impl Copy for GateType
impl Eq for GateType
impl StructuralPartialEq for GateType
Auto Trait Implementations§
impl Freeze for GateType
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§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,
Source§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
.