Skip to main content

PartialRoundLayer

Trait PartialRoundLayer 

Source
pub trait PartialRoundLayer<R, const WIDTH: usize, const D: u64>: Sync + Clone{
    // Required method
    fn permute_state(&self, state: &mut [R; WIDTH]);
}
Expand description

The partial (internal) round layer of the Poseidon1 permutation.

Implementors apply all RP partial rounds to the state.

Field-specific implementations (e.g., NEON, AVX2) can override the generic behavior.

Required Methods§

Source

fn permute_state(&self, state: &mut [R; WIDTH])

Apply all RP partial rounds to the 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§

Source§

impl<F, A, Mds, const WIDTH: usize, const D: u64> PartialRoundLayer<A, WIDTH, D> for Poseidon1InternalLayerTextbook<F, Mds, WIDTH>

Source§

impl<F, A, const WIDTH: usize, const D: u64> PartialRoundLayer<A, WIDTH, D> for Poseidon1InternalLayerGeneric<F, WIDTH>