in math/src/field/extensions/cubic.rs [407:435]
fn bytes_as_elements() {
let bytes: Vec<u8> = vec![
1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0,
0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 7,
];
let expected = vec![
CubeExtension(
BaseElement::new(1),
BaseElement::new(2),
BaseElement::new(3),
),
CubeExtension(
BaseElement::new(4),
BaseElement::new(5),
BaseElement::new(6),
),
];
let result = unsafe { CubeExtension::<BaseElement>::bytes_as_elements(&bytes[..48]) };
assert!(result.is_ok());
assert_eq!(expected, result.unwrap());
let result = unsafe { CubeExtension::<BaseElement>::bytes_as_elements(&bytes) };
assert!(matches!(result, Err(DeserializationError::InvalidValue(_))));
let result = unsafe { CubeExtension::<BaseElement>::bytes_as_elements(&bytes[1..]) };
assert!(matches!(result, Err(DeserializationError::InvalidValue(_))));
}