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".

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>