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§
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 Methods§
fn initialize_state(&mut self, p_value: u128, acc: &mut Self::Acc)
Object Safety§
This trait is not object safe.