pub trait PoseidonSpongeInstructions<F: FieldExt, S: Spec<F, T, RATE>, D: Domain<F, RATE>, const T: usize, const RATE: usize>: PoseidonInstructions<F, S, T, RATE> {
fn initial_state(
&self,
layouter: &mut impl Layouter<F>
) -> Result<[Self::Word; T], Error>;
fn add_input(
&self,
layouter: &mut impl Layouter<F>,
initial_state: &[Self::Word; T],
input: &Absorbing<PaddedWord<F>, RATE>
) -> Result<[Self::Word; T], Error>;
fn get_output(state: &[Self::Word; T]) -> Squeezing<Self::Word, RATE>;
}
Required Methods
sourcefn initial_state(
&self,
layouter: &mut impl Layouter<F>
) -> Result<[Self::Word; T], Error>
fn initial_state(
&self,
layouter: &mut impl Layouter<F>
) -> Result<[Self::Word; T], Error>
Returns the initial empty state for the given domain.