Struct snarkvm_circuit::poseidon::Poseidon
source · [−]pub struct Poseidon<E, const RATE: usize> where
E: Environment, { /* private fields */ }
Trait Implementations
sourceimpl<E, const RATE: usize> Hash for Poseidon<E, RATE> where
E: Environment,
impl<E, const RATE: usize> Hash for Poseidon<E, RATE> where
E: Environment,
sourceimpl<E, const RATE: usize> HashMany for Poseidon<E, RATE> where
E: Environment,
impl<E, const RATE: usize> HashMany for Poseidon<E, RATE> where
E: Environment,
sourceimpl<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,
sourcefn hash_to_group(
&self,
input: &[<Poseidon<E, RATE> as HashToGroup>::Input]
) -> <Poseidon<E, RATE> as HashToGroup>::Group
fn hash_to_group(
&self,
input: &[<Poseidon<E, RATE> as HashToGroup>::Input]
) -> <Poseidon<E, RATE> as HashToGroup>::Group
Returns an affine group element from hashing the input.
type Group = Group<E>
type Input = Field<E>
type Scalar = Scalar<E>
sourceimpl<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,
sourcefn 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>
sourceimpl<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,
sourceimpl<E, const RATE: usize> PRF for Poseidon<E, RATE> where
E: Environment,
impl<E, const RATE: usize> PRF 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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more