use super::layout::OP_ID;
use super::program_serial::csr_forward_or_changed;
use crate::graph::program_graph::ProgramGraphShape;
inventory::submit! {
crate::harness::OpEntry::new(
OP_ID,
|| csr_forward_or_changed(ProgramGraphShape::new(4, 4), "frontier", "changed", 1),
Some(|| {
let to_bytes = |w: &[u32]| crate::wire::pack_u32_slice(w);
vec![vec![
to_bytes(&[0, 0, 0, 0]),
to_bytes(&[0, 2, 3, 4, 4]),
to_bytes(&[1, 2, 3, 3]),
to_bytes(&[1, 1, 1, 1]),
to_bytes(&[0, 0, 0, 0]),
to_bytes(&[0b0001]),
to_bytes(&[0]),
]]
}),
Some(|| {
let to_bytes = |w: &[u32]| crate::wire::pack_u32_slice(w);
vec![vec![to_bytes(&[0b1111]), to_bytes(&[1])]]
}),
)
}