Struct snarkvm_circuit::Poseidon
source · pub struct Poseidon<E, const RATE: usize>where
E: Environment,{ /* private fields */ }
Trait Implementations§
source§impl<E, const RATE: usize> HashToGroup for Poseidon<E, RATE>where
E: Environment,
impl<E, const RATE: usize> HashToGroup for Poseidon<E, RATE>where E: Environment,
source§impl<E, const RATE: usize> HashToScalar for Poseidon<E, RATE>where
E: Environment,
impl<E, const RATE: usize> HashToScalar for Poseidon<E, RATE>where E: Environment,
source§fn hash_to_scalar(
&self,
input: &[<Poseidon<E, RATE> as HashToScalar>::Input]
) -> <Poseidon<E, RATE> as HashToScalar>::Scalar
fn hash_to_scalar( &self, input: &[<Poseidon<E, RATE> as HashToScalar>::Input] ) -> <Poseidon<E, RATE> as HashToScalar>::Scalar
Returns a scalar from hashing the input. This method uses truncation (up to data bits) to project onto the scalar field.
type Input = Field<E>
type Scalar = Scalar<E>
source§impl<E, const RATE: usize> Inject for Poseidon<E, RATE>where
E: Environment,
impl<E, const RATE: usize> Inject for Poseidon<E, RATE>where E: Environment,
Auto Trait Implementations§
impl<E, const RATE: usize> RefUnwindSafe for Poseidon<E, RATE>where <E as Environment>::BaseField: UnwindSafe + RefUnwindSafe,
impl<E, const RATE: usize> !Send for Poseidon<E, RATE>
impl<E, const RATE: usize> !Sync for Poseidon<E, RATE>
impl<E, const RATE: usize> Unpin for Poseidon<E, RATE>where <E as Environment>::BaseField: Unpin,
impl<E, const RATE: usize> UnwindSafe for Poseidon<E, RATE>where <E as Environment>::BaseField: UnwindSafe + RefUnwindSafe,
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