#[repr(C)]pub enum GateType {
Show 20 variants
Zero,
Generic,
Poseidon,
CompleteAdd,
VarBaseMul,
EndoMul,
EndoMulScalar,
Lookup,
CairoClaim,
CairoInstruction,
CairoFlags,
CairoTransition,
RangeCheck0,
RangeCheck1,
ForeignFieldAdd,
ForeignFieldMul,
Xor16,
Rot64,
KeccakRound,
KeccakSponge,
}
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
KeccakRound
KeccakSponge
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 FromPrimitive for GateType
impl FromPrimitive for GateType
source§fn from_i64(n: i64) -> Option<Self>
fn from_i64(n: i64) -> Option<Self>
Converts an
i64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_u64(n: u64) -> Option<Self>
fn from_u64(n: u64) -> Option<Self>
Converts an
u64
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_isize(n: isize) -> Option<Self>
fn from_isize(n: isize) -> Option<Self>
Converts an
isize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_i8(n: i8) -> Option<Self>
fn from_i8(n: i8) -> Option<Self>
Converts an
i8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_i16(n: i16) -> Option<Self>
fn from_i16(n: i16) -> Option<Self>
Converts an
i16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_i32(n: i32) -> Option<Self>
fn from_i32(n: i32) -> Option<Self>
Converts an
i32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_i128(n: i128) -> Option<Self>
fn from_i128(n: i128) -> Option<Self>
Converts an
i128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read moresource§fn from_usize(n: usize) -> Option<Self>
fn from_usize(n: usize) -> Option<Self>
Converts a
usize
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_u8(n: u8) -> Option<Self>
fn from_u8(n: u8) -> Option<Self>
Converts an
u8
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_u16(n: u16) -> Option<Self>
fn from_u16(n: u16) -> Option<Self>
Converts an
u16
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_u32(n: u32) -> Option<Self>
fn from_u32(n: u32) -> Option<Self>
Converts an
u32
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned.source§fn from_u128(n: u128) -> Option<Self>
fn from_u128(n: u128) -> Option<Self>
Converts an
u128
to return an optional value of this type. If the
value cannot be represented by this type, then None
is returned. Read moresource§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 moresource§impl ToPrimitive for GateType
impl ToPrimitive for GateType
source§fn to_i64(&self) -> Option<i64>
fn to_i64(&self) -> Option<i64>
Converts the value of
self
to an i64
. If the value cannot be
represented by an i64
, then None
is returned.source§fn to_u64(&self) -> Option<u64>
fn to_u64(&self) -> Option<u64>
Converts the value of
self
to a u64
. If the value cannot be
represented by a u64
, then None
is returned.source§fn to_isize(&self) -> Option<isize>
fn to_isize(&self) -> Option<isize>
Converts the value of
self
to an isize
. If the value cannot be
represented by an isize
, then None
is returned.source§fn to_i8(&self) -> Option<i8>
fn to_i8(&self) -> Option<i8>
Converts the value of
self
to an i8
. If the value cannot be
represented by an i8
, then None
is returned.source§fn to_i16(&self) -> Option<i16>
fn to_i16(&self) -> Option<i16>
Converts the value of
self
to an i16
. If the value cannot be
represented by an i16
, then None
is returned.source§fn to_i32(&self) -> Option<i32>
fn to_i32(&self) -> Option<i32>
Converts the value of
self
to an i32
. If the value cannot be
represented by an i32
, then None
is returned.source§fn to_i128(&self) -> Option<i128>
fn to_i128(&self) -> Option<i128>
Converts the value of
self
to an i128
. If the value cannot be
represented by an i128
(i64
under the default implementation), then
None
is returned. Read moresource§fn to_usize(&self) -> Option<usize>
fn to_usize(&self) -> Option<usize>
Converts the value of
self
to a usize
. If the value cannot be
represented by a usize
, then None
is returned.source§fn to_u8(&self) -> Option<u8>
fn to_u8(&self) -> Option<u8>
Converts the value of
self
to a u8
. If the value cannot be
represented by a u8
, then None
is returned.source§fn to_u16(&self) -> Option<u16>
fn to_u16(&self) -> Option<u16>
Converts the value of
self
to a u16
. If the value cannot be
represented by a u16
, then None
is returned.source§fn to_u32(&self) -> Option<u32>
fn to_u32(&self) -> Option<u32>
Converts the value of
self
to a u32
. If the value cannot be
represented by a u32
, then None
is returned.source§fn to_u128(&self) -> Option<u128>
fn to_u128(&self) -> Option<u128>
Converts the value of
self
to a u128
. If the value cannot be
represented by a u128
(u64
under the default implementation), then
None
is returned. Read moresource§impl TryFromJsValue for GateType
impl TryFromJsValue for GateType
source§impl VectorFromWasmAbi for GateType
impl VectorFromWasmAbi for GateType
source§impl VectorIntoWasmAbi for GateType
impl VectorIntoWasmAbi for GateType
impl 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
.