p3_poseidon2

Trait ExternalLayer

Source
pub trait ExternalLayer<AF, const WIDTH: usize, const D: u64>: Sync + Clone
where AF: AbstractField,
{ // Required methods fn permute_state_initial(&self, state: &mut [AF; WIDTH]); fn permute_state_terminal(&self, state: &mut [AF; WIDTH]); }
Expand description

A trait containing all data needed to implement the external layers of Poseidon2.

Required Methods§

Source

fn permute_state_initial(&self, state: &mut [AF; WIDTH])

Perform the initial external layers of the Poseidon2 permutation on the given state.

Source

fn permute_state_terminal(&self, state: &mut [AF; WIDTH])

Perform the terminal external layers of the Poseidon2 permutation on the given state.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§