in crypto/src/hash/rescue/rp64_256/tests.rs [48:83]
fn apply_permutation() {
let mut state: [BaseElement; STATE_WIDTH] = [
BaseElement::new(0),
BaseElement::new(1),
BaseElement::new(2),
BaseElement::new(3),
BaseElement::new(4),
BaseElement::new(5),
BaseElement::new(6),
BaseElement::new(7),
BaseElement::new(8),
BaseElement::new(9),
BaseElement::new(10),
BaseElement::new(11),
];
Rp64_256::apply_permutation(&mut state);
// expected values are obtained by executing sage reference implementation code
let expected = vec![
BaseElement::new(10809974140050983728),
BaseElement::new(6938491977181280539),
BaseElement::new(8834525837561071698),
BaseElement::new(6854417192438540779),
BaseElement::new(4476630872663101667),
BaseElement::new(6292749486700362097),
BaseElement::new(18386622366690620454),
BaseElement::new(10614098972800193173),
BaseElement::new(7543273285584849722),
BaseElement::new(9490898458612615694),
BaseElement::new(9030271581669113292),
BaseElement::new(10101107035874348250),
];
assert_eq!(expected, state);
}