Struct snarkvm_gadgets::algorithms::crh::bhp::BHPCRHGadget
source · [−]pub struct BHPCRHGadget<G: ProjectiveCurve, F: PrimeField, GG: CompressedGroupGadget<G, F>, const NUM_WINDOWS: usize, const WINDOW_SIZE: usize> { /* private fields */ }
Trait Implementations
sourceimpl<G: ProjectiveCurve, F: PrimeField, GG: CompressedGroupGadget<G, F>, const NUM_WINDOWS: usize, const WINDOW_SIZE: usize> AllocGadget<BHPCRH<G, NUM_WINDOWS, WINDOW_SIZE>, F> for BHPCRHGadget<G, F, GG, NUM_WINDOWS, WINDOW_SIZE>
impl<G: ProjectiveCurve, F: PrimeField, GG: CompressedGroupGadget<G, F>, const NUM_WINDOWS: usize, const WINDOW_SIZE: usize> AllocGadget<BHPCRH<G, NUM_WINDOWS, WINDOW_SIZE>, F> for BHPCRHGadget<G, F, GG, NUM_WINDOWS, WINDOW_SIZE>
fn alloc_constant<Fn: FnOnce() -> Result<T, SynthesisError>, T: Borrow<BHPCRH<G, NUM_WINDOWS, WINDOW_SIZE>>, CS: ConstraintSystem<F>>(
_cs: CS,
value_gen: Fn
) -> Result<Self, SynthesisError>
fn alloc<Fn: FnOnce() -> Result<T, SynthesisError>, T: Borrow<BHPCRH<G, NUM_WINDOWS, WINDOW_SIZE>>, CS: ConstraintSystem<F>>(
_cs: CS,
_value_gen: Fn
) -> Result<Self, SynthesisError>
fn alloc_input<Fn: FnOnce() -> Result<T, SynthesisError>, T: Borrow<BHPCRH<G, NUM_WINDOWS, WINDOW_SIZE>>, CS: ConstraintSystem<F>>(
_cs: CS,
_value_gen: Fn
) -> Result<Self, SynthesisError>
fn alloc_checked<Fn: FnOnce() -> Result<T, SynthesisError>, T: Borrow<V>, CS: ConstraintSystem<F>>(
cs: CS,
f: Fn
) -> Result<Self, SynthesisError>
fn alloc_input_checked<Fn: FnOnce() -> Result<T, SynthesisError>, T: Borrow<V>, CS: ConstraintSystem<F>>(
cs: CS,
f: Fn
) -> Result<Self, SynthesisError>
sourceimpl<F: PrimeField, G: ProjectiveCurve, GG: CompressedGroupGadget<G, F>, const NUM_WINDOWS: usize, const WINDOW_SIZE: usize> CRHGadget<BHPCRH<G, NUM_WINDOWS, WINDOW_SIZE>, F> for BHPCRHGadget<G, F, GG, NUM_WINDOWS, WINDOW_SIZE>
impl<F: PrimeField, G: ProjectiveCurve, GG: CompressedGroupGadget<G, F>, const NUM_WINDOWS: usize, const WINDOW_SIZE: usize> CRHGadget<BHPCRH<G, NUM_WINDOWS, WINDOW_SIZE>, F> for BHPCRHGadget<G, F, GG, NUM_WINDOWS, WINDOW_SIZE>
type OutputGadget = GG::BaseFieldGadget
fn check_evaluation_gadget_on_bits<CS: ConstraintSystem<F>>(
&self,
cs: CS,
input: Vec<Boolean>
) -> Result<Self::OutputGadget, SynthesisError>
fn check_evaluation_gadget<CS: ConstraintSystem<F>>(
&self,
cs: CS,
input: Vec<UInt8>
) -> Result<Self::OutputGadget, SynthesisError>
fn check_evaluation_gadget_on_field_elements<CS: ConstraintSystem<F>>(
&self,
cs: CS,
input: Vec<FpGadget<F>>
) -> Result<Self::OutputGadget, SynthesisError>
sourceimpl<G: Clone + ProjectiveCurve, F: Clone + PrimeField, GG: Clone + CompressedGroupGadget<G, F>, const NUM_WINDOWS: usize, const WINDOW_SIZE: usize> Clone for BHPCRHGadget<G, F, GG, NUM_WINDOWS, WINDOW_SIZE>
impl<G: Clone + ProjectiveCurve, F: Clone + PrimeField, GG: Clone + CompressedGroupGadget<G, F>, const NUM_WINDOWS: usize, const WINDOW_SIZE: usize> Clone for BHPCRHGadget<G, F, GG, NUM_WINDOWS, WINDOW_SIZE>
sourcefn clone(&self) -> BHPCRHGadget<G, F, GG, NUM_WINDOWS, WINDOW_SIZE>
fn clone(&self) -> BHPCRHGadget<G, F, GG, NUM_WINDOWS, WINDOW_SIZE>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl<G: Debug + ProjectiveCurve, F: Debug + PrimeField, GG: Debug + CompressedGroupGadget<G, F>, const NUM_WINDOWS: usize, const WINDOW_SIZE: usize> Debug for BHPCRHGadget<G, F, GG, NUM_WINDOWS, WINDOW_SIZE>
impl<G: Debug + ProjectiveCurve, F: Debug + PrimeField, GG: Debug + CompressedGroupGadget<G, F>, const NUM_WINDOWS: usize, const WINDOW_SIZE: usize> Debug for BHPCRHGadget<G, F, GG, NUM_WINDOWS, WINDOW_SIZE>
sourceimpl<G: PartialEq + ProjectiveCurve, F: PartialEq + PrimeField, GG: PartialEq + CompressedGroupGadget<G, F>, const NUM_WINDOWS: usize, const WINDOW_SIZE: usize> PartialEq<BHPCRHGadget<G, F, GG, NUM_WINDOWS, WINDOW_SIZE>> for BHPCRHGadget<G, F, GG, NUM_WINDOWS, WINDOW_SIZE>
impl<G: PartialEq + ProjectiveCurve, F: PartialEq + PrimeField, GG: PartialEq + CompressedGroupGadget<G, F>, const NUM_WINDOWS: usize, const WINDOW_SIZE: usize> PartialEq<BHPCRHGadget<G, F, GG, NUM_WINDOWS, WINDOW_SIZE>> for BHPCRHGadget<G, F, GG, NUM_WINDOWS, WINDOW_SIZE>
sourcefn eq(&self, other: &BHPCRHGadget<G, F, GG, NUM_WINDOWS, WINDOW_SIZE>) -> bool
fn eq(&self, other: &BHPCRHGadget<G, F, GG, NUM_WINDOWS, WINDOW_SIZE>) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &BHPCRHGadget<G, F, GG, NUM_WINDOWS, WINDOW_SIZE>) -> bool
fn ne(&self, other: &BHPCRHGadget<G, F, GG, NUM_WINDOWS, WINDOW_SIZE>) -> bool
This method tests for !=
.
impl<G: Eq + ProjectiveCurve, F: Eq + PrimeField, GG: Eq + CompressedGroupGadget<G, F>, const NUM_WINDOWS: usize, const WINDOW_SIZE: usize> Eq for BHPCRHGadget<G, F, GG, NUM_WINDOWS, WINDOW_SIZE>
impl<G: ProjectiveCurve, F: PrimeField, GG: CompressedGroupGadget<G, F>, const NUM_WINDOWS: usize, const WINDOW_SIZE: usize> StructuralEq for BHPCRHGadget<G, F, GG, NUM_WINDOWS, WINDOW_SIZE>
impl<G: ProjectiveCurve, F: PrimeField, GG: CompressedGroupGadget<G, F>, const NUM_WINDOWS: usize, const WINDOW_SIZE: usize> StructuralPartialEq for BHPCRHGadget<G, F, GG, NUM_WINDOWS, WINDOW_SIZE>
Auto Trait Implementations
impl<G, F, GG, const NUM_WINDOWS: usize, const WINDOW_SIZE: usize> RefUnwindSafe for BHPCRHGadget<G, F, GG, NUM_WINDOWS, WINDOW_SIZE> where
F: RefUnwindSafe,
G: UnwindSafe + RefUnwindSafe,
GG: RefUnwindSafe,
impl<G, F, GG, const NUM_WINDOWS: usize, const WINDOW_SIZE: usize> Send for BHPCRHGadget<G, F, GG, NUM_WINDOWS, WINDOW_SIZE> where
GG: Send,
impl<G, F, GG, const NUM_WINDOWS: usize, const WINDOW_SIZE: usize> Sync for BHPCRHGadget<G, F, GG, NUM_WINDOWS, WINDOW_SIZE> where
GG: Sync,
impl<G, F, GG, const NUM_WINDOWS: usize, const WINDOW_SIZE: usize> Unpin for BHPCRHGadget<G, F, GG, NUM_WINDOWS, WINDOW_SIZE> where
F: Unpin,
G: Unpin,
GG: Unpin,
impl<G, F, GG, const NUM_WINDOWS: usize, const WINDOW_SIZE: usize> UnwindSafe for BHPCRHGadget<G, F, GG, NUM_WINDOWS, WINDOW_SIZE> where
F: UnwindSafe,
G: UnwindSafe + RefUnwindSafe,
GG: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcepub fn equivalent(&self, key: &K) -> bool
pub fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
impl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more