pub struct Sponge<F: Field, C: SpongeConstants = PlonkSpongeConstantsKimchi> {
pub sponge_state: SpongeState,
pub(crate) rate: usize,
pub state: [F; 3],
pub(crate) params: &'static SpongeParams<F>,
pub(crate) constants: PhantomData<C>,
}
Fields§
§sponge_state: SpongeState
§rate: usize
§state: [F; 3]
§params: &'static SpongeParams<F>
§constants: PhantomData<C>
Implementations§
Source§impl<F: Field + SpongeParamsForField<F>, C: SpongeConstants> Sponge<F, C>
impl<F: Field + SpongeParamsForField<F>, C: SpongeConstants> Sponge<F, C>
pub fn new_with_params(params: &'static SpongeParams<F>) -> Sponge<F, C>
pub fn absorb(&mut self, x: &[F])
pub fn squeeze(&mut self) -> F
pub(crate) fn poseidon_block_cipher(&mut self)
Source§impl Sponge<Fp, PlonkSpongeConstantsLegacy>
impl Sponge<Fp, PlonkSpongeConstantsLegacy>
pub fn new_legacy() -> Self
Trait Implementations§
Source§impl<F: Field + SpongeParamsForField<F>, C: SpongeConstants> Default for Sponge<F, C>
impl<F: Field + SpongeParamsForField<F>, C: SpongeConstants> Default for Sponge<F, C>
Auto Trait Implementations§
impl<F, C> Freeze for Sponge<F, C>where
F: Freeze,
impl<F, C> RefUnwindSafe for Sponge<F, C>where
F: RefUnwindSafe,
C: RefUnwindSafe,
impl<F, C> Send for Sponge<F, C>where
C: Send,
impl<F, C> Sync for Sponge<F, C>where
C: Sync,
impl<F, C> Unpin for Sponge<F, C>
impl<F, C> UnwindSafe for Sponge<F, C>
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