Trait neptune::sponge::api::InnerSpongeAPI

source ·
pub trait InnerSpongeAPI<F: PrimeField, A: Arity<F>> {
    type Acc;
    type Value;

Show 15 methods // Required methods fn initialize_capacity(&mut self, tag: u128, acc: &mut Self::Acc); fn read_rate_element(&mut self, offset: usize) -> Self::Value; fn add_rate_element(&mut self, offset: usize, x: &Self::Value); fn permute(&mut self, acc: &mut Self::Acc); fn rate(&self) -> usize; fn absorb_pos(&self) -> usize; fn squeeze_pos(&self) -> usize; fn set_absorb_pos(&mut self, pos: usize); fn set_squeeze_pos(&mut self, pos: usize); fn add(a: Self::Value, b: &Self::Value) -> Self::Value; fn pattern(&self) -> &IOPattern; fn set_pattern(&mut self, pattern: IOPattern); fn increment_io_count(&mut self) -> usize; fn zero() -> Self::Value; // Provided method fn initialize_state(&mut self, p_value: u128, acc: &mut Self::Acc) { ... }
}

Required Associated Types§

Required Methods§

source

fn initialize_capacity(&mut self, tag: u128, acc: &mut Self::Acc)

source

fn read_rate_element(&mut self, offset: usize) -> Self::Value

source

fn add_rate_element(&mut self, offset: usize, x: &Self::Value)

source

fn permute(&mut self, acc: &mut Self::Acc)

source

fn rate(&self) -> usize

source

fn absorb_pos(&self) -> usize

source

fn squeeze_pos(&self) -> usize

source

fn set_absorb_pos(&mut self, pos: usize)

source

fn set_squeeze_pos(&mut self, pos: usize)

source

fn add(a: Self::Value, b: &Self::Value) -> Self::Value

source

fn pattern(&self) -> &IOPattern

source

fn set_pattern(&mut self, pattern: IOPattern)

source

fn increment_io_count(&mut self) -> usize

source

fn zero() -> Self::Value

Provided Methods§

source

fn initialize_state(&mut self, p_value: u128, acc: &mut Self::Acc)

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a, F: PrimeField, A: Arity<F>, CS: 'a + ConstraintSystem<F>> InnerSpongeAPI<F, A> for SpongeCircuit<'a, F, A, CS>

§

type Acc = Namespace<'a, F, CS>

§

type Value = Elt<F>

source§

impl<F: PrimeField, A: Arity<F>> InnerSpongeAPI<F, A> for Sponge<'_, F, A>

§

type Acc = ()

§

type Value = F