pub fn full_round_initial_permute_state<F: Field, A: Algebra<F> + InjectiveMonomial<D>, Mds: Permutation<[A; WIDTH]>, const WIDTH: usize, const D: u64>(
state: &mut [A; WIDTH],
constants: &FullRoundConstants<F, WIDTH>,
mds: &Mds,
)Expand description
Apply the initial full rounds (generic implementation).
Each round: add round constants, S-box on all elements, MDS multiply. The MDS multiply is dispatched via the permutation trait parameter.