pub enum Gadget {
App,
EllipticCurveAddition,
EllipticCurveScaling,
Poseidon,
}
Expand description
This enum represents the different gadgets that can be used in the circuit.
The selectors are defined at setup time, can take only the values 0
or
1
and are public.
Variants§
App
EllipticCurveAddition
EllipticCurveScaling
Poseidon
This gadget implement the Poseidon hash instance described in the top-level documentation. This implementation does use the “next row” to allow the computation of one additional round per row. In the current setup, with crate::NUMBER_OF_COLUMNS columns, we can compute 5 full rounds per row.
Trait Implementations§
source§impl PartialEq<Gadget> for Gadget
impl PartialEq<Gadget> for Gadget
impl Copy for Gadget
impl StructuralPartialEq for Gadget
Auto Trait Implementations§
impl RefUnwindSafe for Gadget
impl Send for Gadget
impl Sync for Gadget
impl Unpin for Gadget
impl UnwindSafe for Gadget
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