sim: properly update all VCD wires when they share simulation state
All checks were successful
/ test (pull_request) Successful in 4m8s
/ test (push) Successful in 4m42s

This commit is contained in:
Jacob Lifshay 2026-05-05 21:12:00 -07:00
parent 2266315944
commit 26224abe1c
Signed by: programmerjake
SSH key fingerprint: SHA256:HnFTLGpSm4Q4Fj502oCFisjZSoakwEuTsJJMSke63RQ
41 changed files with 2666 additions and 1621 deletions

View file

@ -2217,7 +2217,7 @@ impl SimulationImpl {
| SimTraceKind::BigClock { index } => self
.state
.big_slots
.state_index_fetch_and_clear_maybe_modified_flag(index),
.state_index_fetch_maybe_modified_flag(index),
SimTraceKind::SmallUInt { index, ty: _ }
| SimTraceKind::SmallSInt { index, ty: _ }
| SimTraceKind::SmallBool { index }
@ -2227,11 +2227,11 @@ impl SimulationImpl {
| SimTraceKind::EnumDiscriminant { index, ty: _ } => self
.state
.small_slots
.state_index_fetch_and_clear_maybe_modified_flag(index),
.state_index_fetch_maybe_modified_flag(index),
SimTraceKind::SimOnly { index, ty: _ } => self
.state
.sim_only_slots
.state_index_fetch_and_clear_maybe_modified_flag(index),
.state_index_fetch_maybe_modified_flag(index),
SimTraceKind::PhantomConst { ty: _ } => IS_INITIAL_STEP,
};
if !new_maybe_changed && !IS_INITIAL_STEP {
@ -2291,6 +2291,7 @@ impl SimulationImpl {
last_state.clone_from(state);
}
}
self.state.clear_all_maybe_modified_flags();
}
#[track_caller]
fn advance_time(this_ref: &Rc<RefCell<Self>>, duration: SimDuration) {

View file

@ -914,11 +914,14 @@ impl<K: StatePartKind> StatePart<K> {
value: K::borrow_state(&mut self.value),
}
}
pub(crate) fn state_index_fetch_and_clear_maybe_modified_flag(
&mut self,
pub(crate) fn state_index_fetch_maybe_modified_flag(
&self,
part_index: StatePartIndex<K>,
) -> bool {
K::state_index_fetch_and_clear_maybe_modified_flag(&mut self.value, part_index)
K::state_index_fetch_maybe_modified_flag(&self.value, part_index)
}
pub(crate) fn clear_all_maybe_modified_flags(&mut self) {
K::clear_all_maybe_modified_flags(&mut self.value)
}
}
@ -1015,6 +1018,10 @@ macro_rules! make_state {
$($type_plural_field: self.$type_plural_field.borrow(),)*
}
}
pub(crate) fn clear_all_maybe_modified_flags(&mut self) {
$(self.$state_plural_field.clear_all_maybe_modified_flags();)*
$(self.$type_plural_field.clear_all_maybe_modified_flags();)*
}
}
#[derive(Debug)]

View file

@ -256,10 +256,11 @@ pub(crate) trait StatePartKind:
state: &'a mut Self::State,
part_index: StatePartIndex<Self>,
) -> &'a mut Self::StateElement;
fn state_index_fetch_and_clear_maybe_modified_flag(
state: &mut Self::State,
fn state_index_fetch_maybe_modified_flag(
state: &Self::State,
part_index: StatePartIndex<Self>,
) -> bool;
fn clear_all_maybe_modified_flags(state: &mut Self::State);
fn borrowed_state_index<'a, 'b>(
state: &'a Self::BorrowedState<'b>,
part_index: StatePartIndex<Self>,
@ -335,12 +336,13 @@ impl StatePartKind for StatePartKindMemories {
) -> &'a mut Self::StateElement {
&mut state[part_index.as_usize()]
}
fn state_index_fetch_and_clear_maybe_modified_flag(
_state: &mut Self::State,
fn state_index_fetch_maybe_modified_flag(
_state: &Self::State,
_part_index: StatePartIndex<Self>,
) -> bool {
true
}
fn clear_all_maybe_modified_flags(_state: &mut Self::State) {}
fn borrowed_state_index<'a, 'b>(
state: &'a Self::BorrowedState<'b>,
part_index: StatePartIndex<Self>,
@ -438,11 +440,14 @@ impl StatePartKind for StatePartKindSmallSlots {
state.modified[part_index.as_usize()] = true;
&mut state.state[part_index.as_usize()]
}
fn state_index_fetch_and_clear_maybe_modified_flag(
state: &mut Self::State,
fn state_index_fetch_maybe_modified_flag(
state: &Self::State,
part_index: StatePartIndex<Self>,
) -> bool {
std::mem::replace(&mut state.modified[part_index.as_usize()], false)
state.modified[part_index.as_usize()]
}
fn clear_all_maybe_modified_flags(state: &mut Self::State) {
state.modified.fill(false);
}
fn borrowed_state_index<'a, 'b>(
state: &'a Self::BorrowedState<'b>,
@ -519,11 +524,14 @@ impl StatePartKind for StatePartKindBigSlots {
state.modified[part_index.as_usize()] = true;
&mut state.state[part_index.as_usize()]
}
fn state_index_fetch_and_clear_maybe_modified_flag(
state: &mut Self::State,
fn state_index_fetch_maybe_modified_flag(
state: &Self::State,
part_index: StatePartIndex<Self>,
) -> bool {
std::mem::replace(&mut state.modified[part_index.as_usize()], false)
state.modified[part_index.as_usize()]
}
fn clear_all_maybe_modified_flags(state: &mut Self::State) {
state.modified.fill(false);
}
fn borrowed_state_index<'a, 'b>(
state: &'a Self::BorrowedState<'b>,
@ -600,11 +608,14 @@ impl StatePartKind for StatePartKindSimOnlySlots {
state.modified[part_index.as_usize()] = true;
&mut state.state[part_index.as_usize()]
}
fn state_index_fetch_and_clear_maybe_modified_flag(
state: &mut Self::State,
fn state_index_fetch_maybe_modified_flag(
state: &Self::State,
part_index: StatePartIndex<Self>,
) -> bool {
std::mem::replace(&mut state.modified[part_index.as_usize()], false)
state.modified[part_index.as_usize()]
}
fn clear_all_maybe_modified_flags(state: &mut Self::State) {
state.modified.fill(false);
}
fn borrowed_state_index<'a, 'b>(
state: &'a Self::BorrowedState<'b>,

View file

@ -550,6 +550,150 @@ fn test_enums() {
}
}
#[hdl]
pub enum EnumWithSimpleBody {
A(UInt<8>),
B(UInt<8>),
C(UInt<8>),
}
#[hdl_module(outline_generated)]
pub fn enum_with_simple_body() {
#[hdl]
let which_in: UInt<8> = m.input();
#[hdl]
let data_in: UInt<8> = m.input();
#[hdl]
let which_out: UInt<8> = m.output();
#[hdl]
let data_out: UInt<8> = m.output();
#[hdl]
let enum_out: EnumWithSimpleBody = m.output();
#[hdl]
if which_in.cmp_eq(0u8) {
connect(enum_out, EnumWithSimpleBody.A(data_in));
} else if which_in.cmp_eq(1u8) {
connect(enum_out, EnumWithSimpleBody.B(data_in));
} else {
connect(enum_out, EnumWithSimpleBody.C(data_in));
}
#[hdl]
match enum_out {
EnumWithSimpleBody::A(v) => {
connect(which_out, 0u8);
connect(data_out, v);
}
EnumWithSimpleBody::B(v) => {
connect(which_out, 1u8);
connect(data_out, v);
}
EnumWithSimpleBody::C(v) => {
connect(which_out, 2u8);
connect(data_out, v);
}
}
}
#[hdl]
#[test]
fn test_enum_with_simple_body() {
let _n = SourceLocation::normalize_files_for_tests();
let mut sim = Simulation::new(enum_with_simple_body());
let mut writer = RcWriter::default();
sim.add_trace_writer(VcdWriterDecls::new(writer.clone()));
for which in 0u8..=2 {
for data in (0..u8::MAX).step_by(45) {
sim.write(sim.io().which_in, which);
sim.write(sim.io().data_in, data);
sim.advance_time(SimDuration::from_micros(1));
assert_eq!(sim.read(sim.io().which_out).as_int(), which);
assert_eq!(sim.read(sim.io().data_out).as_int(), data);
}
}
sim.flush_traces().unwrap();
let vcd = String::from_utf8(writer.take()).unwrap();
println!("####### VCD:\n{vcd}\n#######");
#[derive(Debug)]
struct WireState<'a> {
name: &'a str,
space_then_id: Option<&'a str>,
value: Option<&'a str>,
}
impl<'a> WireState<'a> {
fn new(name: &'a str) -> Self {
Self {
name,
space_then_id: None,
value: None,
}
}
}
let mut variant_wires = [
WireState::new("A"),
WireState::new("B"),
WireState::new("C"),
];
// check that output .vcd has the proper values for all variants' wires
for (is_last, line) in vcd.lines().map(|line| (false, line)).chain([(true, "")]) {
if let Some(line) = line.strip_prefix("$var wire 8")
&& let Some(line) = line.strip_suffix(" $end")
&& let Some((space_then_id, state)) = variant_wires
.iter_mut()
.find_map(|state| Some((line.strip_suffix(state.name)?.strip_suffix(" ")?, state)))
{
assert_eq!(space_then_id.chars().next(), Some(' '));
assert!(
space_then_id
.chars()
.skip(1)
.all(|ch| matches!(ch, '!'..='~'))
);
assert_eq!(state.space_then_id.replace(space_then_id), None);
} else if line.starts_with("#") || is_last {
let Some(expected_value) = variant_wires[0].value else {
panic!(
"variant {} hasn't been initialized before a timestamp or EOF: {variant_wires:#?}\n\
line={line:?}",
variant_wires[0].name,
);
};
for state in &variant_wires {
assert_eq!(
state.value,
Some(expected_value),
"at a timestamp or EOF: variant value for {} doesn't match expected value.\n\
{variant_wires:#?}\nline={line:?}",
state.name,
);
}
} else if line.starts_with("b") {
for state in &mut variant_wires {
let Some(space_then_id) = state.space_then_id else {
let name = state.name;
panic!(
"variant {name} hasn't had an id assigned yet: {variant_wires:#?}\n\
line={line:?}",
);
};
if let Some(value) = line.strip_suffix(space_then_id) {
state.value = Some(value);
break;
}
}
}
}
if vcd != include_str!("sim/expected/enum_with_simple_body.vcd") {
panic!();
}
let sim_debug = format!("{sim:#?}");
println!("#######\n{sim_debug}\n#######");
if sim_debug != include_str!("sim/expected/enum_with_simple_body.txt") {
panic!();
}
}
#[hdl_module(outline_generated)]
pub fn memories() {
#[hdl]

View file

@ -424,8 +424,8 @@ Simulation {
},
small_slots: StatePart {
value: [
16 (modified),
0 (modified),
16,
0,
],
},
big_slots: StatePart {
@ -483,7 +483,7 @@ Simulation {
248,
252,
254,
255 (modified),
255,
],
},
sim_only_slots: StatePart {

View file

@ -86,8 +86,8 @@ Simulation {
value: [
1,
0,
1 (modified),
0 (modified),
1,
0,
],
},
sim_only_slots: StatePart {

View file

@ -63,7 +63,7 @@ Simulation {
big_slots: StatePart {
value: [
5,
5 (modified),
5,
],
},
sim_only_slots: StatePart {

View file

@ -90,9 +90,9 @@ Simulation {
value: [
1,
1,
1 (modified),
1 (modified),
1 (modified),
1,
1,
1,
],
},
sim_only_slots: StatePart {

View file

@ -185,10 +185,10 @@ Simulation {
},
small_slots: StatePart {
value: [
0 (modified),
0 (modified),
1 (modified),
0 (modified),
0,
0,
1,
0,
],
},
big_slots: StatePart {
@ -197,12 +197,12 @@ Simulation {
0,
3,
3,
4 (modified),
3 (modified),
0 (modified),
1 (modified),
4 (modified),
4 (modified),
4,
3,
0,
1,
4,
4,
],
},
sim_only_slots: StatePart {

View file

@ -167,10 +167,10 @@ Simulation {
},
small_slots: StatePart {
value: [
0 (modified),
0 (modified),
1 (modified),
0 (modified),
0,
0,
1,
0,
],
},
big_slots: StatePart {
@ -179,11 +179,11 @@ Simulation {
0,
3,
3,
4 (modified),
3 (modified),
1 (modified),
4 (modified),
4 (modified),
4,
3,
1,
4,
4,
],
},
sim_only_slots: StatePart {

View file

@ -81,9 +81,9 @@ Simulation {
big_slots: StatePart {
value: [
5,
5 (modified),
5,
6,
6,
6 (modified),
],
},
sim_only_slots: StatePart {

View file

@ -0,0 +1,749 @@
Simulation {
state: State {
insns: Insns {
state_layout: StateLayout {
ty: TypeLayout {
small_slots: StatePartLayout<SmallSlots> {
len: 1,
debug_data: [
SlotDebugData {
name: "",
ty: Enum {
A,
B,
C,
},
},
],
..
},
big_slots: StatePartLayout<BigSlots> {
len: 33,
debug_data: [
SlotDebugData {
name: "InstantiatedModule(enum_with_simple_body: enum_with_simple_body).enum_with_simple_body::which_in",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(enum_with_simple_body: enum_with_simple_body).enum_with_simple_body::data_in",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(enum_with_simple_body: enum_with_simple_body).enum_with_simple_body::which_out",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(enum_with_simple_body: enum_with_simple_body).enum_with_simple_body::data_out",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(enum_with_simple_body: enum_with_simple_body).enum_with_simple_body::enum_out",
ty: Enum {
A(UInt<8>),
B(UInt<8>),
C(UInt<8>),
},
},
SlotDebugData {
name: "",
ty: UInt<10>,
},
SlotDebugData {
name: "",
ty: UInt<8>,
},
SlotDebugData {
name: "",
ty: UInt<8>,
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: ".0",
ty: UInt<2>,
},
SlotDebugData {
name: ".1",
ty: UInt<8>,
},
SlotDebugData {
name: "",
ty: UInt<2>,
},
SlotDebugData {
name: "",
ty: UInt<10>,
},
SlotDebugData {
name: "",
ty: UInt<10>,
},
SlotDebugData {
name: "",
ty: UInt<10>,
},
SlotDebugData {
name: "",
ty: Enum {
A(UInt<8>),
B(UInt<8>),
C(UInt<8>),
},
},
SlotDebugData {
name: "",
ty: UInt<8>,
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: ".0",
ty: UInt<2>,
},
SlotDebugData {
name: ".1",
ty: UInt<8>,
},
SlotDebugData {
name: "",
ty: UInt<2>,
},
SlotDebugData {
name: "",
ty: UInt<10>,
},
SlotDebugData {
name: "",
ty: UInt<10>,
},
SlotDebugData {
name: "",
ty: UInt<10>,
},
SlotDebugData {
name: "",
ty: Enum {
A(UInt<8>),
B(UInt<8>),
C(UInt<8>),
},
},
SlotDebugData {
name: ".0",
ty: UInt<2>,
},
SlotDebugData {
name: ".1",
ty: UInt<8>,
},
SlotDebugData {
name: "",
ty: UInt<2>,
},
SlotDebugData {
name: "",
ty: UInt<10>,
},
SlotDebugData {
name: "",
ty: UInt<10>,
},
SlotDebugData {
name: "",
ty: UInt<10>,
},
SlotDebugData {
name: "",
ty: Enum {
A(UInt<8>),
B(UInt<8>),
C(UInt<8>),
},
},
SlotDebugData {
name: "",
ty: UInt<8>,
},
],
..
},
sim_only_slots: StatePartLayout<SimOnlySlots> {
len: 0,
debug_data: [],
layout_data: [],
..
},
},
memories: StatePartLayout<Memories> {
len: 0,
debug_data: [],
layout_data: [],
..
},
},
insns: [
// at: module-XXXXXXXXXX.rs:1:1
0: Const {
dest: StatePartIndex<BigSlots>(32), // (0x2) SlotDebugData { name: "", ty: UInt<8> },
value: 0x2,
},
1: Const {
dest: StatePartIndex<BigSlots>(27), // (0x2) SlotDebugData { name: "", ty: UInt<2> },
value: 0x2,
},
2: Copy {
dest: StatePartIndex<BigSlots>(25), // (0x2) SlotDebugData { name: ".0", ty: UInt<2> },
src: StatePartIndex<BigSlots>(27), // (0x2) SlotDebugData { name: "", ty: UInt<2> },
},
3: Copy {
dest: StatePartIndex<BigSlots>(26), // (0xe1) SlotDebugData { name: ".1", ty: UInt<8> },
src: StatePartIndex<BigSlots>(1), // (0xe1) SlotDebugData { name: "InstantiatedModule(enum_with_simple_body: enum_with_simple_body).enum_with_simple_body::data_in", ty: UInt<8> },
},
4: Shl {
dest: StatePartIndex<BigSlots>(28), // (0x384) SlotDebugData { name: "", ty: UInt<10> },
lhs: StatePartIndex<BigSlots>(26), // (0xe1) SlotDebugData { name: ".1", ty: UInt<8> },
rhs: 2,
},
5: Or {
dest: StatePartIndex<BigSlots>(29), // (0x386) SlotDebugData { name: "", ty: UInt<10> },
lhs: StatePartIndex<BigSlots>(25), // (0x2) SlotDebugData { name: ".0", ty: UInt<2> },
rhs: StatePartIndex<BigSlots>(28), // (0x384) SlotDebugData { name: "", ty: UInt<10> },
},
6: CastToUInt {
dest: StatePartIndex<BigSlots>(30), // (0x386) SlotDebugData { name: "", ty: UInt<10> },
src: StatePartIndex<BigSlots>(29), // (0x386) SlotDebugData { name: "", ty: UInt<10> },
dest_width: 10,
},
7: Copy {
dest: StatePartIndex<BigSlots>(31), // (0x386) SlotDebugData { name: "", ty: Enum {A(UInt<8>), B(UInt<8>), C(UInt<8>)} },
src: StatePartIndex<BigSlots>(30), // (0x386) SlotDebugData { name: "", ty: UInt<10> },
},
8: Const {
dest: StatePartIndex<BigSlots>(20), // (0x1) SlotDebugData { name: "", ty: UInt<2> },
value: 0x1,
},
9: Copy {
dest: StatePartIndex<BigSlots>(18), // (0x1) SlotDebugData { name: ".0", ty: UInt<2> },
src: StatePartIndex<BigSlots>(20), // (0x1) SlotDebugData { name: "", ty: UInt<2> },
},
10: Copy {
dest: StatePartIndex<BigSlots>(19), // (0xe1) SlotDebugData { name: ".1", ty: UInt<8> },
src: StatePartIndex<BigSlots>(1), // (0xe1) SlotDebugData { name: "InstantiatedModule(enum_with_simple_body: enum_with_simple_body).enum_with_simple_body::data_in", ty: UInt<8> },
},
11: Shl {
dest: StatePartIndex<BigSlots>(21), // (0x384) SlotDebugData { name: "", ty: UInt<10> },
lhs: StatePartIndex<BigSlots>(19), // (0xe1) SlotDebugData { name: ".1", ty: UInt<8> },
rhs: 2,
},
12: Or {
dest: StatePartIndex<BigSlots>(22), // (0x385) SlotDebugData { name: "", ty: UInt<10> },
lhs: StatePartIndex<BigSlots>(18), // (0x1) SlotDebugData { name: ".0", ty: UInt<2> },
rhs: StatePartIndex<BigSlots>(21), // (0x384) SlotDebugData { name: "", ty: UInt<10> },
},
13: CastToUInt {
dest: StatePartIndex<BigSlots>(23), // (0x385) SlotDebugData { name: "", ty: UInt<10> },
src: StatePartIndex<BigSlots>(22), // (0x385) SlotDebugData { name: "", ty: UInt<10> },
dest_width: 10,
},
14: Copy {
dest: StatePartIndex<BigSlots>(24), // (0x385) SlotDebugData { name: "", ty: Enum {A(UInt<8>), B(UInt<8>), C(UInt<8>)} },
src: StatePartIndex<BigSlots>(23), // (0x385) SlotDebugData { name: "", ty: UInt<10> },
},
15: Const {
dest: StatePartIndex<BigSlots>(16), // (0x1) SlotDebugData { name: "", ty: UInt<8> },
value: 0x1,
},
16: CmpEq {
dest: StatePartIndex<BigSlots>(17), // (0x0) SlotDebugData { name: "", ty: Bool },
lhs: StatePartIndex<BigSlots>(0), // (0x2) SlotDebugData { name: "InstantiatedModule(enum_with_simple_body: enum_with_simple_body).enum_with_simple_body::which_in", ty: UInt<8> },
rhs: StatePartIndex<BigSlots>(16), // (0x1) SlotDebugData { name: "", ty: UInt<8> },
},
17: Const {
dest: StatePartIndex<BigSlots>(11), // (0x0) SlotDebugData { name: "", ty: UInt<2> },
value: 0x0,
},
18: Copy {
dest: StatePartIndex<BigSlots>(9), // (0x0) SlotDebugData { name: ".0", ty: UInt<2> },
src: StatePartIndex<BigSlots>(11), // (0x0) SlotDebugData { name: "", ty: UInt<2> },
},
19: Copy {
dest: StatePartIndex<BigSlots>(10), // (0xe1) SlotDebugData { name: ".1", ty: UInt<8> },
src: StatePartIndex<BigSlots>(1), // (0xe1) SlotDebugData { name: "InstantiatedModule(enum_with_simple_body: enum_with_simple_body).enum_with_simple_body::data_in", ty: UInt<8> },
},
20: Shl {
dest: StatePartIndex<BigSlots>(12), // (0x384) SlotDebugData { name: "", ty: UInt<10> },
lhs: StatePartIndex<BigSlots>(10), // (0xe1) SlotDebugData { name: ".1", ty: UInt<8> },
rhs: 2,
},
21: Or {
dest: StatePartIndex<BigSlots>(13), // (0x384) SlotDebugData { name: "", ty: UInt<10> },
lhs: StatePartIndex<BigSlots>(9), // (0x0) SlotDebugData { name: ".0", ty: UInt<2> },
rhs: StatePartIndex<BigSlots>(12), // (0x384) SlotDebugData { name: "", ty: UInt<10> },
},
22: CastToUInt {
dest: StatePartIndex<BigSlots>(14), // (0x384) SlotDebugData { name: "", ty: UInt<10> },
src: StatePartIndex<BigSlots>(13), // (0x384) SlotDebugData { name: "", ty: UInt<10> },
dest_width: 10,
},
23: Copy {
dest: StatePartIndex<BigSlots>(15), // (0x384) SlotDebugData { name: "", ty: Enum {A(UInt<8>), B(UInt<8>), C(UInt<8>)} },
src: StatePartIndex<BigSlots>(14), // (0x384) SlotDebugData { name: "", ty: UInt<10> },
},
24: Const {
dest: StatePartIndex<BigSlots>(7), // (0x0) SlotDebugData { name: "", ty: UInt<8> },
value: 0x0,
},
25: CmpEq {
dest: StatePartIndex<BigSlots>(8), // (0x0) SlotDebugData { name: "", ty: Bool },
lhs: StatePartIndex<BigSlots>(0), // (0x2) SlotDebugData { name: "InstantiatedModule(enum_with_simple_body: enum_with_simple_body).enum_with_simple_body::which_in", ty: UInt<8> },
rhs: StatePartIndex<BigSlots>(7), // (0x0) SlotDebugData { name: "", ty: UInt<8> },
},
// at: module-XXXXXXXXXX.rs:7:1
26: BranchIfZero {
target: 28,
value: StatePartIndex<BigSlots>(8), // (0x0) SlotDebugData { name: "", ty: Bool },
},
// at: module-XXXXXXXXXX.rs:8:1
27: Copy {
dest: StatePartIndex<BigSlots>(4), // (0x386) SlotDebugData { name: "InstantiatedModule(enum_with_simple_body: enum_with_simple_body).enum_with_simple_body::enum_out", ty: Enum {A(UInt<8>), B(UInt<8>), C(UInt<8>)} },
src: StatePartIndex<BigSlots>(15), // (0x384) SlotDebugData { name: "", ty: Enum {A(UInt<8>), B(UInt<8>), C(UInt<8>)} },
},
// at: module-XXXXXXXXXX.rs:7:1
28: BranchIfNonZero {
target: 33,
value: StatePartIndex<BigSlots>(8), // (0x0) SlotDebugData { name: "", ty: Bool },
},
// at: module-XXXXXXXXXX.rs:9:1
29: BranchIfZero {
target: 31,
value: StatePartIndex<BigSlots>(17), // (0x0) SlotDebugData { name: "", ty: Bool },
},
// at: module-XXXXXXXXXX.rs:10:1
30: Copy {
dest: StatePartIndex<BigSlots>(4), // (0x386) SlotDebugData { name: "InstantiatedModule(enum_with_simple_body: enum_with_simple_body).enum_with_simple_body::enum_out", ty: Enum {A(UInt<8>), B(UInt<8>), C(UInt<8>)} },
src: StatePartIndex<BigSlots>(24), // (0x385) SlotDebugData { name: "", ty: Enum {A(UInt<8>), B(UInt<8>), C(UInt<8>)} },
},
// at: module-XXXXXXXXXX.rs:9:1
31: BranchIfNonZero {
target: 33,
value: StatePartIndex<BigSlots>(17), // (0x0) SlotDebugData { name: "", ty: Bool },
},
// at: module-XXXXXXXXXX.rs:11:1
32: Copy {
dest: StatePartIndex<BigSlots>(4), // (0x386) SlotDebugData { name: "InstantiatedModule(enum_with_simple_body: enum_with_simple_body).enum_with_simple_body::enum_out", ty: Enum {A(UInt<8>), B(UInt<8>), C(UInt<8>)} },
src: StatePartIndex<BigSlots>(31), // (0x386) SlotDebugData { name: "", ty: Enum {A(UInt<8>), B(UInt<8>), C(UInt<8>)} },
},
// at: module-XXXXXXXXXX.rs:1:1
33: Copy {
dest: StatePartIndex<BigSlots>(5), // (0x386) SlotDebugData { name: "", ty: UInt<10> },
src: StatePartIndex<BigSlots>(4), // (0x386) SlotDebugData { name: "InstantiatedModule(enum_with_simple_body: enum_with_simple_body).enum_with_simple_body::enum_out", ty: Enum {A(UInt<8>), B(UInt<8>), C(UInt<8>)} },
},
34: SliceInt {
dest: StatePartIndex<BigSlots>(6), // (0xe1) SlotDebugData { name: "", ty: UInt<8> },
src: StatePartIndex<BigSlots>(5), // (0x386) SlotDebugData { name: "", ty: UInt<10> },
start: 2,
len: 8,
},
// at: module-XXXXXXXXXX.rs:6:1
35: AndBigWithSmallImmediate {
dest: StatePartIndex<SmallSlots>(0), // (0x2 2) SlotDebugData { name: "", ty: Enum {A, B, C} },
lhs: StatePartIndex<BigSlots>(4), // (0x386) SlotDebugData { name: "InstantiatedModule(enum_with_simple_body: enum_with_simple_body).enum_with_simple_body::enum_out", ty: Enum {A(UInt<8>), B(UInt<8>), C(UInt<8>)} },
rhs: 0x3,
},
// at: module-XXXXXXXXXX.rs:12:1
36: BranchIfSmallNeImmediate {
target: 39,
lhs: StatePartIndex<SmallSlots>(0), // (0x2 2) SlotDebugData { name: "", ty: Enum {A, B, C} },
rhs: 0x0,
},
// at: module-XXXXXXXXXX.rs:13:1
37: Copy {
dest: StatePartIndex<BigSlots>(2), // (0x2) SlotDebugData { name: "InstantiatedModule(enum_with_simple_body: enum_with_simple_body).enum_with_simple_body::which_out", ty: UInt<8> },
src: StatePartIndex<BigSlots>(7), // (0x0) SlotDebugData { name: "", ty: UInt<8> },
},
// at: module-XXXXXXXXXX.rs:14:1
38: Copy {
dest: StatePartIndex<BigSlots>(3), // (0xe1) SlotDebugData { name: "InstantiatedModule(enum_with_simple_body: enum_with_simple_body).enum_with_simple_body::data_out", ty: UInt<8> },
src: StatePartIndex<BigSlots>(6), // (0xe1) SlotDebugData { name: "", ty: UInt<8> },
},
// at: module-XXXXXXXXXX.rs:12:1
39: BranchIfSmallNeImmediate {
target: 42,
lhs: StatePartIndex<SmallSlots>(0), // (0x2 2) SlotDebugData { name: "", ty: Enum {A, B, C} },
rhs: 0x1,
},
// at: module-XXXXXXXXXX.rs:15:1
40: Copy {
dest: StatePartIndex<BigSlots>(2), // (0x2) SlotDebugData { name: "InstantiatedModule(enum_with_simple_body: enum_with_simple_body).enum_with_simple_body::which_out", ty: UInt<8> },
src: StatePartIndex<BigSlots>(16), // (0x1) SlotDebugData { name: "", ty: UInt<8> },
},
// at: module-XXXXXXXXXX.rs:16:1
41: Copy {
dest: StatePartIndex<BigSlots>(3), // (0xe1) SlotDebugData { name: "InstantiatedModule(enum_with_simple_body: enum_with_simple_body).enum_with_simple_body::data_out", ty: UInt<8> },
src: StatePartIndex<BigSlots>(6), // (0xe1) SlotDebugData { name: "", ty: UInt<8> },
},
// at: module-XXXXXXXXXX.rs:12:1
42: BranchIfSmallNeImmediate {
target: 45,
lhs: StatePartIndex<SmallSlots>(0), // (0x2 2) SlotDebugData { name: "", ty: Enum {A, B, C} },
rhs: 0x2,
},
// at: module-XXXXXXXXXX.rs:17:1
43: Copy {
dest: StatePartIndex<BigSlots>(2), // (0x2) SlotDebugData { name: "InstantiatedModule(enum_with_simple_body: enum_with_simple_body).enum_with_simple_body::which_out", ty: UInt<8> },
src: StatePartIndex<BigSlots>(32), // (0x2) SlotDebugData { name: "", ty: UInt<8> },
},
// at: module-XXXXXXXXXX.rs:18:1
44: Copy {
dest: StatePartIndex<BigSlots>(3), // (0xe1) SlotDebugData { name: "InstantiatedModule(enum_with_simple_body: enum_with_simple_body).enum_with_simple_body::data_out", ty: UInt<8> },
src: StatePartIndex<BigSlots>(6), // (0xe1) SlotDebugData { name: "", ty: UInt<8> },
},
// at: module-XXXXXXXXXX.rs:1:1
45: Return,
],
..
},
pc: 45,
memory_write_log: [],
memories: StatePart {
value: [],
},
small_slots: StatePart {
value: [
2,
],
},
big_slots: StatePart {
value: [
2,
225,
2 (modified),
225 (modified),
902,
902,
225,
0,
0,
0,
225,
0,
900,
900,
900,
900,
1,
0,
1,
225,
1,
900,
901,
901,
901,
2,
225,
2,
900,
902,
902,
902,
2,
],
},
sim_only_slots: StatePart {
value: [],
},
},
io: Instance {
name: <simulator>::enum_with_simple_body,
instantiated: Module {
name: enum_with_simple_body,
..
},
},
main_module: SimulationModuleState {
base_targets: [
Instance {
name: <simulator>::enum_with_simple_body,
instantiated: Module {
name: enum_with_simple_body,
..
},
}.which_in,
Instance {
name: <simulator>::enum_with_simple_body,
instantiated: Module {
name: enum_with_simple_body,
..
},
}.data_in,
Instance {
name: <simulator>::enum_with_simple_body,
instantiated: Module {
name: enum_with_simple_body,
..
},
}.which_out,
Instance {
name: <simulator>::enum_with_simple_body,
instantiated: Module {
name: enum_with_simple_body,
..
},
}.data_out,
Instance {
name: <simulator>::enum_with_simple_body,
instantiated: Module {
name: enum_with_simple_body,
..
},
}.enum_out,
],
uninitialized_ios: {},
io_targets: {
Instance {
name: <simulator>::enum_with_simple_body,
instantiated: Module {
name: enum_with_simple_body,
..
},
}.data_in,
Instance {
name: <simulator>::enum_with_simple_body,
instantiated: Module {
name: enum_with_simple_body,
..
},
}.data_out,
Instance {
name: <simulator>::enum_with_simple_body,
instantiated: Module {
name: enum_with_simple_body,
..
},
}.enum_out,
Instance {
name: <simulator>::enum_with_simple_body,
instantiated: Module {
name: enum_with_simple_body,
..
},
}.which_in,
Instance {
name: <simulator>::enum_with_simple_body,
instantiated: Module {
name: enum_with_simple_body,
..
},
}.which_out,
},
did_initial_settle: true,
clocks_for_past: {},
},
extern_modules: [],
trace_decls: TraceModule {
name: "enum_with_simple_body",
children: [
TraceModuleIO {
name: "which_in",
child: TraceUInt {
location: TraceScalarId(0),
name: "which_in",
ty: UInt<8>,
flow: Source,
},
ty: UInt<8>,
flow: Source,
},
TraceModuleIO {
name: "data_in",
child: TraceUInt {
location: TraceScalarId(1),
name: "data_in",
ty: UInt<8>,
flow: Source,
},
ty: UInt<8>,
flow: Source,
},
TraceModuleIO {
name: "which_out",
child: TraceUInt {
location: TraceScalarId(2),
name: "which_out",
ty: UInt<8>,
flow: Sink,
},
ty: UInt<8>,
flow: Sink,
},
TraceModuleIO {
name: "data_out",
child: TraceUInt {
location: TraceScalarId(3),
name: "data_out",
ty: UInt<8>,
flow: Sink,
},
ty: UInt<8>,
flow: Sink,
},
TraceModuleIO {
name: "enum_out",
child: TraceEnumWithFields {
name: "enum_out",
discriminant: TraceEnumDiscriminant {
location: TraceScalarId(4),
name: "$tag",
ty: Enum {
A(UInt<8>),
B(UInt<8>),
C(UInt<8>),
},
flow: Sink,
},
non_empty_fields: [
TraceUInt {
location: TraceScalarId(5),
name: "A",
ty: UInt<8>,
flow: Source,
},
TraceUInt {
location: TraceScalarId(6),
name: "B",
ty: UInt<8>,
flow: Source,
},
TraceUInt {
location: TraceScalarId(7),
name: "C",
ty: UInt<8>,
flow: Source,
},
],
ty: Enum {
A(UInt<8>),
B(UInt<8>),
C(UInt<8>),
},
flow: Sink,
},
ty: Enum {
A(UInt<8>),
B(UInt<8>),
C(UInt<8>),
},
flow: Sink,
},
],
},
traces: [
SimTrace {
id: TraceScalarId(0),
kind: BigUInt {
index: StatePartIndex<BigSlots>(0),
ty: UInt<8>,
},
maybe_changed: true,
state: 0x02,
last_state: 0x02,
},
SimTrace {
id: TraceScalarId(1),
kind: BigUInt {
index: StatePartIndex<BigSlots>(1),
ty: UInt<8>,
},
maybe_changed: true,
state: 0xe1,
last_state: 0xb4,
},
SimTrace {
id: TraceScalarId(2),
kind: BigUInt {
index: StatePartIndex<BigSlots>(2),
ty: UInt<8>,
},
maybe_changed: true,
state: 0x02,
last_state: 0x02,
},
SimTrace {
id: TraceScalarId(3),
kind: BigUInt {
index: StatePartIndex<BigSlots>(3),
ty: UInt<8>,
},
maybe_changed: true,
state: 0xe1,
last_state: 0xb4,
},
SimTrace {
id: TraceScalarId(4),
kind: EnumDiscriminant {
index: StatePartIndex<SmallSlots>(0),
ty: Enum {
A(UInt<8>),
B(UInt<8>),
C(UInt<8>),
},
},
maybe_changed: true,
state: 0x2,
last_state: 0x2,
},
SimTrace {
id: TraceScalarId(5),
kind: BigUInt {
index: StatePartIndex<BigSlots>(6),
ty: UInt<8>,
},
maybe_changed: true,
state: 0xe1,
last_state: 0xb4,
},
SimTrace {
id: TraceScalarId(6),
kind: BigUInt {
index: StatePartIndex<BigSlots>(6),
ty: UInt<8>,
},
maybe_changed: true,
state: 0xe1,
last_state: 0xb4,
},
SimTrace {
id: TraceScalarId(7),
kind: BigUInt {
index: StatePartIndex<BigSlots>(6),
ty: UInt<8>,
},
maybe_changed: true,
state: 0xe1,
last_state: 0xb4,
},
],
trace_memories: {},
trace_writers: [
Running(
VcdWriter {
finished_init: true,
timescale: 1 ps,
..
},
),
],
clocks_triggered: [],
event_queue: EventQueue(EventQueueData {
instant: 18 μs,
events: {},
}),
waiting_sensitivity_sets_by_address: {},
waiting_sensitivity_sets_by_compiled_value: {},
..
}

View file

@ -0,0 +1,133 @@
$timescale 1 ps $end
$scope module enum_with_simple_body $end
$var wire 8 J&-ne which_in $end
$var wire 8 \7mo/ data_in $end
$var wire 8 ,`>ir which_out $end
$var wire 8 0_gMP data_out $end
$scope struct enum_out $end
$var string 1 kFH/w \$tag $end
$var wire 8 |EI_= A $end
$var wire 8 !pRd4 B $end
$var wire 8 &RAbd C $end
$upscope $end
$upscope $end
$enddefinitions $end
$dumpvars
b0 J&-ne
b0 \7mo/
b0 ,`>ir
b0 0_gMP
sA\x20(0) kFH/w
b0 |EI_=
b0 !pRd4
b0 &RAbd
$end
#1000000
b101101 \7mo/
b101101 0_gMP
b101101 |EI_=
b101101 !pRd4
b101101 &RAbd
#2000000
b1011010 \7mo/
b1011010 0_gMP
b1011010 |EI_=
b1011010 !pRd4
b1011010 &RAbd
#3000000
b10000111 \7mo/
b10000111 0_gMP
b10000111 |EI_=
b10000111 !pRd4
b10000111 &RAbd
#4000000
b10110100 \7mo/
b10110100 0_gMP
b10110100 |EI_=
b10110100 !pRd4
b10110100 &RAbd
#5000000
b11100001 \7mo/
b11100001 0_gMP
b11100001 |EI_=
b11100001 !pRd4
b11100001 &RAbd
#6000000
b1 J&-ne
b0 \7mo/
b1 ,`>ir
b0 0_gMP
sB\x20(1) kFH/w
b0 |EI_=
b0 !pRd4
b0 &RAbd
#7000000
b101101 \7mo/
b101101 0_gMP
b101101 |EI_=
b101101 !pRd4
b101101 &RAbd
#8000000
b1011010 \7mo/
b1011010 0_gMP
b1011010 |EI_=
b1011010 !pRd4
b1011010 &RAbd
#9000000
b10000111 \7mo/
b10000111 0_gMP
b10000111 |EI_=
b10000111 !pRd4
b10000111 &RAbd
#10000000
b10110100 \7mo/
b10110100 0_gMP
b10110100 |EI_=
b10110100 !pRd4
b10110100 &RAbd
#11000000
b11100001 \7mo/
b11100001 0_gMP
b11100001 |EI_=
b11100001 !pRd4
b11100001 &RAbd
#12000000
b10 J&-ne
b0 \7mo/
b10 ,`>ir
b0 0_gMP
sC\x20(2) kFH/w
b0 |EI_=
b0 !pRd4
b0 &RAbd
#13000000
b101101 \7mo/
b101101 0_gMP
b101101 |EI_=
b101101 !pRd4
b101101 &RAbd
#14000000
b1011010 \7mo/
b1011010 0_gMP
b1011010 |EI_=
b1011010 !pRd4
b1011010 &RAbd
#15000000
b10000111 \7mo/
b10000111 0_gMP
b10000111 |EI_=
b10000111 !pRd4
b10000111 &RAbd
#16000000
b10110100 \7mo/
b10110100 0_gMP
b10110100 |EI_=
b10110100 !pRd4
b10110100 &RAbd
#17000000
b11100001 \7mo/
b11100001 0_gMP
b11100001 |EI_=
b11100001 !pRd4
b11100001 &RAbd
#18000000

View file

@ -1191,10 +1191,10 @@ Simulation {
value: [
0,
0,
0 (modified),
0 (modified),
1 (modified),
0 (modified),
0,
0,
1,
0,
2,
],
},
@ -1207,110 +1207,110 @@ Simulation {
15,
2,
15,
0 (modified),
0,
0,
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0,
0,
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
62 (modified),
62 (modified),
0 (modified),
0 (modified),
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
62,
62,
0,
0,
1,
1,
62,
3,
1,
1,
1,
62 (modified),
3 (modified),
1 (modified),
1 (modified),
1 (modified),
1,
1,
-1,
1 (modified),
1 (modified),
15 (modified),
3 (modified),
1 (modified),
1 (modified),
3 (modified),
-1 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
1 (modified),
1 (modified),
1 (modified),
1 (modified),
1 (modified),
1 (modified),
1 (modified),
1 (modified),
1 (modified),
1 (modified),
1 (modified),
2 (modified),
3 (modified),
12 (modified),
13 (modified),
13 (modified),
13 (modified),
2 (modified),
1 (modified),
1 (modified),
-1 (modified),
2 (modified),
1 (modified),
1 (modified),
-1 (modified),
1 (modified),
1 (modified),
1 (modified),
3 (modified),
-1 (modified),
2 (modified),
3 (modified),
3 (modified),
12 (modified),
15 (modified),
60 (modified),
62 (modified),
62 (modified),
62 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
2 (modified),
3 (modified),
3 (modified),
1 (modified),
1 (modified),
1 (modified),
1 (modified),
1 (modified),
2 (modified),
3 (modified),
6 (modified),
7 (modified),
7 (modified),
7 (modified),
2 (modified),
3 (modified),
3 (modified),
12 (modified),
15 (modified),
1,
1,
15,
3,
1,
1,
3,
-1,
0,
0,
1,
0,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
2,
3,
12,
13,
13,
13,
2,
1,
1,
-1,
2,
1,
1,
-1,
1,
1,
1,
3,
-1,
2,
3,
3,
12,
15,
60,
62,
62,
62,
0,
0,
0,
1,
2,
3,
3,
1,
1,
1,
1,
1,
2,
3,
6,
7,
7,
7,
2,
3,
3,
12,
15,
],
},
sim_only_slots: StatePart {

View file

@ -418,39 +418,39 @@ Simulation {
},
big_slots: StatePart {
value: [
31 (modified),
31,
1,
1,
1,
1,
31,
15,
1,
1,
1,
1,
1,
1,
1,
1,
31 (modified),
15 (modified),
1 (modified),
1 (modified),
1 (modified),
1 (modified),
1 (modified),
1 (modified),
1 (modified),
1 (modified),
7 (modified),
7 (modified),
7,
3,
0 (modified),
0 (modified),
0,
0,
3,
1,
3,
1,
6,
7,
7,
7,
4,
0,
1,
2,
3,
1 (modified),
3 (modified),
1 (modified),
6 (modified),
7 (modified),
7 (modified),
7 (modified),
4 (modified),
0 (modified),
1 (modified),
2 (modified),
3 (modified),
],
},
sim_only_slots: StatePart {

View file

@ -2910,102 +2910,102 @@ Simulation {
},
small_slots: StatePart {
value: [
1 (modified),
0 (modified),
0 (modified),
1 (modified),
15 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
0 (modified),
1 (modified),
15 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
0 (modified),
1 (modified),
15 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
0 (modified),
1 (modified),
15 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
0 (modified),
1 (modified),
15 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
0 (modified),
1 (modified),
15 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
0 (modified),
1 (modified),
15 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
0 (modified),
1 (modified),
15 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
1,
0,
0,
1,
15,
1,
0,
0,
0,
0,
0,
0,
1,
0,
0,
1,
15,
1,
0,
0,
0,
0,
0,
0,
1,
0,
0,
1,
15,
1,
0,
0,
0,
0,
0,
0,
1,
0,
0,
1,
15,
1,
0,
0,
0,
0,
0,
0,
1,
0,
0,
1,
15,
1,
0,
0,
0,
0,
0,
0,
1,
0,
0,
1,
15,
1,
0,
0,
0,
0,
0,
0,
1,
0,
0,
1,
15,
1,
0,
0,
0,
0,
0,
0,
1,
0,
0,
1,
15,
1,
0,
0,
0,
0,
0,
0,
],
},
big_slots: StatePart {
@ -3091,8 +3091,8 @@ Simulation {
0,
0,
1,
0 (modified),
1 (modified),
0,
1,
15,
1,
0,
@ -3102,8 +3102,8 @@ Simulation {
0,
0,
1,
0 (modified),
1 (modified),
0,
1,
15,
1,
0,
@ -3113,8 +3113,8 @@ Simulation {
0,
0,
1,
0 (modified),
1 (modified),
0,
1,
15,
1,
0,
@ -3124,8 +3124,8 @@ Simulation {
0,
0,
1,
0 (modified),
1 (modified),
0,
1,
15,
1,
0,
@ -3135,8 +3135,8 @@ Simulation {
0,
0,
1,
0 (modified),
1 (modified),
0,
1,
15,
1,
0,
@ -3146,8 +3146,8 @@ Simulation {
0,
0,
1,
0 (modified),
1 (modified),
0,
1,
15,
1,
0,
@ -3157,8 +3157,8 @@ Simulation {
0,
0,
1,
0 (modified),
1 (modified),
0,
1,
15,
1,
0,
@ -3168,8 +3168,8 @@ Simulation {
0,
0,
1,
0 (modified),
1 (modified),
0,
1,
],
},
sim_only_slots: StatePart {

View file

@ -522,18 +522,18 @@ Simulation {
},
small_slots: StatePart {
value: [
1 (modified),
0 (modified),
0 (modified),
1 (modified),
2 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
2 (modified),
2 (modified),
0 (modified),
1,
0,
0,
1,
2,
1,
0,
0,
0,
2,
2,
0,
],
},
big_slots: StatePart {
@ -562,10 +562,10 @@ Simulation {
-32,
1,
1,
208 (modified),
-32 (modified),
1 (modified),
1 (modified),
208,
-32,
1,
1,
],
},
sim_only_slots: StatePart {

View file

@ -545,15 +545,15 @@ Simulation {
value: [
0,
0,
1 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
1,
0,
0,
0,
0,
0,
0,
0,
0,
],
},
big_slots: StatePart {
@ -568,32 +568,32 @@ Simulation {
0,
0,
0,
0 (modified),
0,
0 (modified),
0,
0 (modified),
0 (modified),
0,
0 (modified),
0 (modified),
0,
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
1 (modified),
1 (modified),
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
0,
1,
0,
0,
0,
0,
1,
1,
1,
],
},
sim_only_slots: StatePart {

View file

@ -1356,20 +1356,20 @@ Simulation {
},
small_slots: StatePart {
value: [
1 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
1,
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
0,
0,
0,
],
},
big_slots: StatePart {
@ -1415,22 +1415,6 @@ Simulation {
0,
0,
0,
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0,
0,
0,
@ -1450,38 +1434,54 @@ Simulation {
0,
0,
0,
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
],
},
sim_only_slots: StatePart {

View file

@ -207,11 +207,11 @@ Simulation {
-2,
-2,
15,
-2 (modified),
14 (modified),
5 (modified),
1 (modified),
15 (modified),
-2,
14,
5,
1,
15,
],
},
sim_only_slots: StatePart {

View file

@ -185,11 +185,11 @@ Simulation {
},
small_slots: StatePart {
value: [
1 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
1,
0,
0,
0,
0,
],
},
big_slots: StatePart {
@ -197,11 +197,11 @@ Simulation {
0,
0,
0,
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0,
0,
0,
0,
0,
],
},
sim_only_slots: StatePart {

View file

@ -1098,35 +1098,35 @@ Simulation {
value: [
1,
1,
1 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
1,
0,
0,
1,
0,
1,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
],
},
big_slots: StatePart {
value: [
0,
0,
51 (modified),
51,
0,
51 (modified),
51,
25,
51 (modified),
51,
0,
51 (modified),
51,
25,
1,
0,
@ -1138,56 +1138,56 @@ Simulation {
0,
25,
1,
25 (modified),
1 (modified),
0,
0 (modified),
0 (modified),
0,
0 (modified),
1,
1 (modified),
0 (modified),
0,
0,
0,
0,
1,
1 (modified),
0,
0 (modified),
0 (modified),
1,
1 (modified),
1 (modified),
25,
0 (modified),
0 (modified),
1 (modified),
1 (modified),
25 (modified),
1 (modified),
50 (modified),
51 (modified),
51 (modified),
51 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
1,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
1,
1,
1,
25,
0,
0,
1,
1,
25,
1,
50,
51,
51,
51,
0,
0,
0,
0,
1,
1,
0,
1,
1,
0,
1,
1,
0,
0,
0,
0,
0,
0 (modified),
0 (modified),
0 (modified),
],
},
sim_only_slots: StatePart {

View file

@ -1079,35 +1079,35 @@ Simulation {
value: [
1,
1,
1 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
1,
0,
0,
1,
0,
1,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
],
},
big_slots: StatePart {
value: [
0,
0,
63 (modified),
63,
0,
63 (modified),
63,
31,
63 (modified),
63,
0,
63 (modified),
63,
31,
1,
0,
@ -1119,54 +1119,54 @@ Simulation {
0,
31,
1,
31 (modified),
1 (modified),
0,
0 (modified),
0 (modified),
0,
0 (modified),
1,
1 (modified),
0 (modified),
0,
0,
0,
0,
1,
1 (modified),
0,
0 (modified),
0 (modified),
1,
1 (modified),
1 (modified),
31,
0 (modified),
0 (modified),
1 (modified),
1 (modified),
31 (modified),
1 (modified),
62 (modified),
63 (modified),
63 (modified),
63 (modified),
0 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
1,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
1,
1,
1,
31,
0,
0,
1,
1,
31,
1,
62,
63,
63,
63,
0,
0,
1,
1,
0,
1,
1,
0,
1,
1,
0,
0,
0,
0,
0,
0 (modified),
0 (modified),
0 (modified),
],
},
sim_only_slots: StatePart {

View file

@ -1108,35 +1108,35 @@ Simulation {
value: [
1,
1,
1 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
1,
0,
0,
1,
0,
1,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
],
},
big_slots: StatePart {
value: [
0,
0,
63 (modified),
63,
0,
63 (modified),
63,
31,
63 (modified),
63,
0,
63 (modified),
63,
31,
1,
0,
@ -1148,56 +1148,56 @@ Simulation {
0,
31,
1,
31 (modified),
1 (modified),
0,
0 (modified),
0 (modified),
0,
0 (modified),
1,
1 (modified),
0 (modified),
0,
0,
0,
0,
1,
1 (modified),
0,
0 (modified),
0 (modified),
1,
1 (modified),
1 (modified),
31,
0 (modified),
0 (modified),
1 (modified),
1 (modified),
31 (modified),
1 (modified),
62 (modified),
63 (modified),
63 (modified),
63 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
1,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
1,
1,
1,
31,
0,
0,
1,
1,
31,
1,
62,
63,
63,
63,
0,
0,
0,
0,
1,
1,
0,
1,
1,
0,
1,
1,
0,
0,
0,
0,
0,
0 (modified),
0 (modified),
0 (modified),
],
},
sim_only_slots: StatePart {

View file

@ -1089,35 +1089,35 @@ Simulation {
value: [
1,
1,
1 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
1,
0,
0,
1,
0,
1,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
],
},
big_slots: StatePart {
value: [
0,
0,
71 (modified),
71,
0,
71 (modified),
71,
35,
71 (modified),
71,
0,
71 (modified),
71,
35,
1,
0,
@ -1129,54 +1129,54 @@ Simulation {
0,
35,
1,
35 (modified),
1 (modified),
0,
0 (modified),
0 (modified),
0,
0 (modified),
1,
1 (modified),
0 (modified),
0,
0,
0,
0,
1,
1 (modified),
0,
0 (modified),
0 (modified),
1,
1 (modified),
1 (modified),
35,
0 (modified),
0 (modified),
1 (modified),
1 (modified),
35 (modified),
1 (modified),
70 (modified),
71 (modified),
71 (modified),
71 (modified),
0 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
1,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
1,
1,
1,
35,
0,
0,
1,
1,
35,
1,
70,
71,
71,
71,
0,
0,
1,
1,
0,
1,
1,
0,
1,
1,
0,
0,
0,
0,
0,
0 (modified),
0 (modified),
0 (modified),
],
},
sim_only_slots: StatePart {

View file

@ -1114,35 +1114,35 @@ Simulation {
value: [
1,
1,
1 (modified),
0 (modified),
0 (modified),
1 (modified),
1 (modified),
1 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
1 (modified),
1 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
1,
0,
0,
1,
1,
1,
0,
0,
1,
0,
1,
1,
1,
0,
0,
0,
],
},
big_slots: StatePart {
value: [
0,
0,
71 (modified),
71,
1,
71 (modified),
71,
35,
71 (modified),
71,
0,
71 (modified),
71,
35,
1,
1,
@ -1154,58 +1154,58 @@ Simulation {
0,
35,
1,
35 (modified),
1 (modified),
0,
1 (modified),
0 (modified),
1,
1 (modified),
1,
1 (modified),
0 (modified),
1,
1,
0,
0,
0,
0 (modified),
0,
0 (modified),
0 (modified),
0,
0 (modified),
1 (modified),
35,
0 (modified),
1 (modified),
1 (modified),
1 (modified),
35 (modified),
1 (modified),
70 (modified),
71 (modified),
71 (modified),
71 (modified),
0 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
1 (modified),
1 (modified),
2 (modified),
0 (modified),
2 (modified),
2 (modified),
0 (modified),
1,
3 (modified),
1 (modified),
1 (modified),
0,
1,
0,
1,
1,
1,
1,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
35,
0,
1,
1,
1,
35,
1,
70,
71,
71,
71,
0,
0,
1,
1,
0,
0,
0,
1,
1,
1,
2,
0,
2,
2,
0,
1,
3,
1,
1,
],
},
sim_only_slots: StatePart {

View file

@ -1095,35 +1095,35 @@ Simulation {
value: [
1,
1,
1 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
1 (modified),
0 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
1,
0,
0,
1,
0,
1,
0,
0,
1,
1,
0,
1,
1,
0,
0,
0,
],
},
big_slots: StatePart {
value: [
0,
0,
77 (modified),
77,
1,
77 (modified),
77,
38,
77 (modified),
77,
0,
77 (modified),
77,
38,
1,
0,
@ -1135,56 +1135,56 @@ Simulation {
0,
38,
1,
38 (modified),
1 (modified),
1,
0 (modified),
0 (modified),
0,
0 (modified),
1,
1 (modified),
0 (modified),
1,
1,
0,
0,
0,
0 (modified),
0,
0 (modified),
0 (modified),
0,
0 (modified),
1 (modified),
38,
0 (modified),
1 (modified),
1 (modified),
1 (modified),
38 (modified),
1 (modified),
76 (modified),
77 (modified),
77 (modified),
77 (modified),
1 (modified),
1 (modified),
1 (modified),
0 (modified),
0 (modified),
2 (modified),
0 (modified),
0 (modified),
1 (modified),
1 (modified),
2 (modified),
2 (modified),
0 (modified),
1,
1 (modified),
1 (modified),
1 (modified),
1,
0,
0,
0,
0,
1,
1,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
38,
0,
1,
1,
1,
38,
1,
76,
77,
77,
77,
1,
1,
1,
0,
0,
2,
0,
0,
1,
1,
2,
2,
0,
1,
1,
1,
1,
],
},
sim_only_slots: StatePart {

View file

@ -1124,35 +1124,35 @@ Simulation {
value: [
1,
1,
1 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
1 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
1,
0,
0,
1,
0,
1,
0,
0,
0,
0,
1,
1,
1,
0,
0,
0,
],
},
big_slots: StatePart {
value: [
0,
0,
79 (modified),
79,
0,
79 (modified),
79,
39,
77 (modified),
77,
0,
77 (modified),
77,
38,
2,
0,
@ -1164,58 +1164,58 @@ Simulation {
0,
39,
1,
39 (modified),
1 (modified),
0,
0 (modified),
0 (modified),
0,
0 (modified),
1,
1 (modified),
0 (modified),
0,
0,
0,
0,
1,
1 (modified),
0,
0 (modified),
0 (modified),
1,
1 (modified),
1 (modified),
39,
0 (modified),
0 (modified),
1 (modified),
1 (modified),
38 (modified),
1 (modified),
76 (modified),
77 (modified),
77 (modified),
77 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
1 (modified),
1 (modified),
2 (modified),
2 (modified),
0 (modified),
1,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
1,
1,
1,
39,
0,
0,
1,
1,
38,
1,
76,
77,
77,
77,
0,
0,
0,
1,
0,
0,
0,
1,
1,
0,
1,
1,
2,
2,
0,
0,
0,
0,
0,
0 (modified),
0 (modified),
0 (modified),
],
},
sim_only_slots: StatePart {

View file

@ -1105,35 +1105,35 @@ Simulation {
value: [
1,
1,
1 (modified),
0 (modified),
0 (modified),
1 (modified),
1 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
1,
0,
0,
1,
1,
1,
0,
0,
0,
1,
0,
1,
1,
0,
0,
0,
],
},
big_slots: StatePart {
value: [
0,
0,
85 (modified),
85,
0,
85 (modified),
85,
42,
83 (modified),
83,
0,
83 (modified),
83,
41,
2,
1,
@ -1145,56 +1145,56 @@ Simulation {
0,
42,
1,
42 (modified),
1 (modified),
1,
1 (modified),
0 (modified),
1,
1 (modified),
1,
1 (modified),
0 (modified),
0,
0,
0,
0,
1,
1 (modified),
0,
0 (modified),
0 (modified),
1,
1 (modified),
1 (modified),
42,
0 (modified),
0 (modified),
1 (modified),
1 (modified),
41 (modified),
1 (modified),
82 (modified),
83 (modified),
83 (modified),
83 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
0 (modified),
2 (modified),
0 (modified),
1 (modified),
2 (modified),
0 (modified),
2 (modified),
2 (modified),
0 (modified),
1,
1,
1,
0,
1,
1,
1,
1,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
1,
1,
1,
42,
0,
0,
1,
1,
41,
1,
82,
83,
83,
83,
0,
1,
1,
0,
0,
2,
0,
1,
2,
0,
2,
2,
0,
0,
0,
0,
0,
0 (modified),
0 (modified),
0 (modified),
],
},
sim_only_slots: StatePart {

View file

@ -1142,35 +1142,35 @@ Simulation {
value: [
1,
1,
1 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
1 (modified),
0 (modified),
0 (modified),
1 (modified),
2 (modified),
1 (modified),
1 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
1,
0,
0,
1,
0,
1,
0,
0,
1,
2,
1,
1,
1,
0,
0,
0,
],
},
big_slots: StatePart {
value: [
0,
0,
81 (modified),
81,
1,
81 (modified),
81,
40,
79 (modified),
79,
0,
79 (modified),
79,
39,
2,
0,
@ -1182,59 +1182,59 @@ Simulation {
0,
40,
1,
40 (modified),
1 (modified),
2,
0 (modified),
0 (modified),
0,
0 (modified),
1,
1 (modified),
0 (modified),
1,
1,
0,
0,
0,
0 (modified),
0,
0 (modified),
0 (modified),
0,
0 (modified),
1 (modified),
40,
0 (modified),
1 (modified),
1 (modified),
1 (modified),
39 (modified),
1 (modified),
78 (modified),
79 (modified),
79 (modified),
79 (modified),
0 (modified),
0 (modified),
1 (modified),
2 (modified),
1 (modified),
0 (modified),
0 (modified),
3 (modified),
3 (modified),
0 (modified),
1 (modified),
1 (modified),
3 (modified),
3 (modified),
0 (modified),
5 (modified),
5 (modified),
1 (modified),
2 (modified),
2 (modified),
1,
2,
0,
0,
0,
0,
1,
1,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
40,
0,
1,
1,
1,
39,
1,
78,
79,
79,
79,
0,
0,
1,
2,
1,
0,
0,
3,
3,
0,
1,
1,
3,
3,
0,
5,
5,
1,
2,
2,
],
},
sim_only_slots: StatePart {

View file

@ -1123,35 +1123,35 @@ Simulation {
value: [
1,
1,
1 (modified),
0 (modified),
0 (modified),
1 (modified),
2 (modified),
1 (modified),
0 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
1,
0,
0,
1,
2,
1,
0,
0,
1,
1,
0,
1,
1,
0,
0,
0,
],
},
big_slots: StatePart {
value: [
0,
0,
85 (modified),
85,
1,
85 (modified),
85,
42,
83 (modified),
83,
0,
83 (modified),
83,
41,
2,
2,
@ -1163,57 +1163,57 @@ Simulation {
0,
42,
1,
42 (modified),
1 (modified),
1,
2 (modified),
0 (modified),
2,
2 (modified),
1,
1 (modified),
0 (modified),
1,
1,
0,
0,
0,
0 (modified),
0,
0 (modified),
0 (modified),
0,
0 (modified),
1 (modified),
42,
0 (modified),
1 (modified),
1 (modified),
1 (modified),
41 (modified),
1 (modified),
82 (modified),
83 (modified),
83 (modified),
83 (modified),
1 (modified),
2 (modified),
0 (modified),
0 (modified),
0 (modified),
2 (modified),
2 (modified),
1 (modified),
3 (modified),
3 (modified),
3 (modified),
3 (modified),
1 (modified),
4 (modified),
2 (modified),
2 (modified),
7 (modified),
3 (modified),
1,
1,
2,
0,
2,
2,
1,
1,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
42,
0,
1,
1,
1,
41,
1,
82,
83,
83,
83,
1,
2,
0,
0,
0,
2,
2,
1,
3,
3,
3,
3,
1,
4,
2,
2,
7,
3,
],
},
sim_only_slots: StatePart {

View file

@ -1152,35 +1152,35 @@ Simulation {
value: [
1,
1,
1 (modified),
0 (modified),
0 (modified),
1 (modified),
2 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
2 (modified),
1 (modified),
1 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
1,
0,
0,
1,
2,
1,
0,
0,
0,
2,
1,
1,
1,
0,
0,
0,
],
},
big_slots: StatePart {
value: [
0,
0,
87 (modified),
87,
0,
87 (modified),
87,
43,
83 (modified),
83,
0,
83 (modified),
83,
41,
3,
2,
@ -1192,59 +1192,59 @@ Simulation {
0,
43,
1,
43 (modified),
1 (modified),
2,
2 (modified),
0 (modified),
2,
2 (modified),
1,
1 (modified),
0 (modified),
0,
0,
0,
0,
1,
1 (modified),
0,
0 (modified),
0 (modified),
1,
1 (modified),
1 (modified),
43,
0 (modified),
0 (modified),
1 (modified),
1 (modified),
41 (modified),
1 (modified),
82 (modified),
83 (modified),
83 (modified),
83 (modified),
0 (modified),
0 (modified),
0 (modified),
2 (modified),
1 (modified),
0 (modified),
0 (modified),
3 (modified),
3 (modified),
1 (modified),
3 (modified),
3 (modified),
3 (modified),
3 (modified),
0 (modified),
5 (modified),
3 (modified),
3 (modified),
0 (modified),
0 (modified),
1,
2,
2,
0,
2,
2,
1,
1,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
1,
1,
1,
43,
0,
0,
1,
1,
41,
1,
82,
83,
83,
83,
0,
0,
0,
2,
1,
0,
0,
3,
3,
1,
3,
3,
3,
3,
0,
5,
3,
3,
0,
0,
],
},
sim_only_slots: StatePart {

View file

@ -1133,35 +1133,35 @@ Simulation {
value: [
1,
1,
1 (modified),
0 (modified),
0 (modified),
1 (modified),
2 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
2 (modified),
1 (modified),
1 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
1,
0,
0,
1,
2,
1,
0,
0,
0,
2,
1,
1,
1,
0,
0,
0,
],
},
big_slots: StatePart {
value: [
0,
0,
87 (modified),
87,
0,
87 (modified),
87,
43,
83 (modified),
83,
0,
83 (modified),
83,
41,
3,
2,
@ -1173,57 +1173,57 @@ Simulation {
0,
43,
1,
43 (modified),
1 (modified),
2,
2 (modified),
0 (modified),
2,
2 (modified),
1,
1 (modified),
0 (modified),
0,
0,
0,
0,
1,
1 (modified),
0,
0 (modified),
0 (modified),
1,
1 (modified),
1 (modified),
43,
0 (modified),
0 (modified),
1 (modified),
1 (modified),
41 (modified),
1 (modified),
82 (modified),
83 (modified),
83 (modified),
83 (modified),
0 (modified),
2 (modified),
1 (modified),
0 (modified),
0 (modified),
3 (modified),
3 (modified),
1 (modified),
3 (modified),
3 (modified),
3 (modified),
3 (modified),
0 (modified),
5 (modified),
3 (modified),
3 (modified),
0 (modified),
0 (modified),
1,
2,
2,
0,
2,
2,
1,
1,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
1,
1,
1,
43,
0,
0,
1,
1,
41,
1,
82,
83,
83,
83,
0,
2,
1,
0,
0,
3,
3,
1,
3,
3,
3,
3,
0,
5,
3,
3,
0,
0,
],
},
sim_only_slots: StatePart {

View file

@ -1122,35 +1122,35 @@ Simulation {
value: [
1,
1,
1 (modified),
0 (modified),
0 (modified),
1 (modified),
1 (modified),
1 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
3 (modified),
1 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
1,
0,
0,
1,
1,
1,
0,
0,
1,
0,
3,
1,
1,
0,
0,
0,
],
},
big_slots: StatePart {
value: [
0,
0,
87 (modified),
87,
1,
87 (modified),
87,
43,
83 (modified),
83,
0,
83 (modified),
83,
41,
3,
1,
@ -1162,58 +1162,58 @@ Simulation {
0,
43,
1,
43 (modified),
1 (modified),
0,
1 (modified),
0 (modified),
1,
1 (modified),
1,
1 (modified),
0 (modified),
1,
1,
0,
0,
0,
0 (modified),
0,
0 (modified),
0 (modified),
0,
0 (modified),
1 (modified),
43,
0 (modified),
1 (modified),
1 (modified),
1 (modified),
41 (modified),
1 (modified),
82 (modified),
83 (modified),
83 (modified),
83 (modified),
0 (modified),
0 (modified),
1 (modified),
3 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
2 (modified),
2 (modified),
4 (modified),
4 (modified),
0 (modified),
1,
0,
1,
0,
1,
1,
1,
1,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
43,
0,
1,
1,
1,
41,
1,
82,
83,
83,
83,
0,
0,
1,
3,
0,
0,
0,
1,
1,
0,
2,
2,
4,
4,
0,
3,
7,
3,
3,
7 (modified),
3 (modified),
3 (modified),
],
},
sim_only_slots: StatePart {

View file

@ -1103,35 +1103,35 @@ Simulation {
value: [
1,
1,
1 (modified),
0 (modified),
0 (modified),
1 (modified),
1 (modified),
1 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
3 (modified),
1 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
1,
0,
0,
1,
1,
1,
0,
0,
1,
0,
3,
1,
1,
0,
0,
0,
],
},
big_slots: StatePart {
value: [
0,
0,
87 (modified),
87,
1,
87 (modified),
87,
43,
83 (modified),
83,
0,
83 (modified),
83,
41,
3,
1,
@ -1143,56 +1143,56 @@ Simulation {
0,
43,
1,
43 (modified),
1 (modified),
0,
1 (modified),
0 (modified),
1,
1 (modified),
1,
1 (modified),
0 (modified),
1,
1,
0,
0,
0,
0 (modified),
0,
0 (modified),
0 (modified),
0,
0 (modified),
1 (modified),
43,
0 (modified),
1 (modified),
1 (modified),
1 (modified),
41 (modified),
1 (modified),
82 (modified),
83 (modified),
83 (modified),
83 (modified),
1 (modified),
3 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
2 (modified),
2 (modified),
4 (modified),
4 (modified),
0 (modified),
1,
0,
1,
0,
1,
1,
1,
1,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
43,
0,
1,
1,
1,
41,
1,
82,
83,
83,
83,
1,
3,
0,
0,
0,
1,
1,
0,
2,
2,
4,
4,
0,
3,
7,
3,
3,
7 (modified),
3 (modified),
3 (modified),
],
},
sim_only_slots: StatePart {

View file

@ -1132,35 +1132,35 @@ Simulation {
value: [
1,
1,
1 (modified),
0 (modified),
0 (modified),
1 (modified),
1 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
1,
0,
0,
1,
1,
1,
0,
0,
0,
1,
0,
1,
1,
0,
0,
0,
],
},
big_slots: StatePart {
value: [
0,
0,
89 (modified),
89,
0,
89 (modified),
89,
44,
83 (modified),
83,
0,
83 (modified),
83,
41,
4,
1,
@ -1172,58 +1172,58 @@ Simulation {
0,
44,
1,
44 (modified),
1 (modified),
1,
1 (modified),
0 (modified),
1,
1 (modified),
1,
1 (modified),
0 (modified),
0,
0,
0,
0,
1,
1 (modified),
0,
0 (modified),
0 (modified),
1,
1 (modified),
1 (modified),
44,
0 (modified),
0 (modified),
1 (modified),
1 (modified),
41 (modified),
1 (modified),
82 (modified),
83 (modified),
83 (modified),
83 (modified),
0 (modified),
0 (modified),
0 (modified),
3 (modified),
0 (modified),
0 (modified),
0 (modified),
2 (modified),
2 (modified),
0 (modified),
2 (modified),
2 (modified),
4 (modified),
4 (modified),
0 (modified),
1,
1,
1,
0,
1,
1,
1,
1,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
1,
1,
1,
44,
0,
0,
1,
1,
41,
1,
82,
83,
83,
83,
0,
0,
0,
3,
0,
0,
0,
2,
2,
0,
2,
2,
4,
4,
0,
0,
0,
0,
0,
0 (modified),
0 (modified),
0 (modified),
],
},
sim_only_slots: StatePart {

View file

@ -1113,35 +1113,35 @@ Simulation {
value: [
1,
1,
1 (modified),
0 (modified),
0 (modified),
1 (modified),
1 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
1,
0,
0,
1,
1,
1,
0,
0,
0,
1,
0,
1,
1,
0,
0,
0,
],
},
big_slots: StatePart {
value: [
0,
0,
89 (modified),
89,
0,
89 (modified),
89,
44,
83 (modified),
83,
0,
83 (modified),
83,
41,
4,
1,
@ -1153,56 +1153,56 @@ Simulation {
0,
44,
1,
44 (modified),
1 (modified),
1,
1 (modified),
0 (modified),
1,
1 (modified),
1,
1 (modified),
0 (modified),
0,
0,
0,
0,
1,
1 (modified),
0,
0 (modified),
0 (modified),
1,
1 (modified),
1 (modified),
44,
0 (modified),
0 (modified),
1 (modified),
1 (modified),
41 (modified),
1 (modified),
82 (modified),
83 (modified),
83 (modified),
83 (modified),
0 (modified),
3 (modified),
0 (modified),
0 (modified),
0 (modified),
2 (modified),
2 (modified),
0 (modified),
2 (modified),
2 (modified),
4 (modified),
4 (modified),
0 (modified),
1,
1,
1,
0,
1,
1,
1,
1,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
1,
1,
1,
44,
0,
0,
1,
1,
41,
1,
82,
83,
83,
83,
0,
3,
0,
0,
0,
2,
2,
0,
2,
2,
4,
4,
0,
0,
0,
0,
0,
0 (modified),
0 (modified),
0 (modified),
],
},
sim_only_slots: StatePart {

View file

@ -641,15 +641,15 @@ Simulation {
},
small_slots: StatePart {
value: [
0 (modified),
0 (modified),
1 (modified),
1 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
0 (modified),
0,
0,
1,
1,
0,
0,
1,
0,
0,
],
},
big_slots: StatePart {
@ -662,56 +662,56 @@ Simulation {
0,
0,
0,
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0 (modified),
0,
1 (modified),
1 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
1,
0,
0,
0,
1,
0,
0,
0 (modified),
0,
0 (modified),
0,
1 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
0,
1,
0,
0,
0,
1,
0,
0,
0 (modified),
0,
0 (modified),
0,
1 (modified),
0 (modified),
0 (modified),
0 (modified),
1 (modified),
0,
1,
0,
0,
0,
1,
0,
0,
0 (modified),
0,
0 (modified),
0,
],
},
sim_only_slots: StatePart {

View file

@ -259,10 +259,10 @@ Simulation {
},
small_slots: StatePart {
value: [
0 (modified),
0 (modified),
1 (modified),
0 (modified),
0,
0,
1,
0,
],
},
big_slots: StatePart {
@ -272,14 +272,14 @@ Simulation {
0,
0,
0,
0 (modified),
0 (modified),
0,
0 (modified),
0,
0 (modified),
0,
0 (modified),
0,
0,
0,
0,
0,
],
},
sim_only_slots: StatePart {

View file

@ -380,10 +380,10 @@ Simulation {
},
small_slots: StatePart {
value: [
0 (modified),
0 (modified),
1 (modified),
0 (modified),
0,
0,
1,
0,
],
},
big_slots: StatePart {
@ -395,9 +395,9 @@ Simulation {
1 (modified),
0,
0,
0 (modified),
1 (modified),
0 (modified),
0,
1,
0,
1,
0,
1 (modified),
@ -443,8 +443,8 @@ Simulation {
},
{
"extra": "value",
} (modified),
{} (modified),
},
{},
{
"bar": "",
"extra": "value",

View file

@ -517,15 +517,15 @@ Simulation {
},
small_slots: StatePart {
value: [
1 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
0 (modified),
1 (modified),
0 (modified),
0 (modified),
1,
0,
0,
1,
0,
0,
1,
0,
0,
],
},
big_slots: StatePart {
@ -542,42 +542,42 @@ Simulation {
49 (modified),
49 (modified),
50 (modified),
1 (modified),
0 (modified),
0 (modified),
48 (modified),
49 (modified),
49 (modified),
0 (modified),
0 (modified),
1 (modified),
48 (modified),
49 (modified),
48 (modified),
0 (modified),
1 (modified),
0 (modified),
49 (modified),
49 (modified),
50 (modified),
0 (modified),
0 (modified),
1 (modified),
49 (modified),
49 (modified),
49 (modified),
0 (modified),
0 (modified),
1 (modified),
49 (modified),
50 (modified),
50 (modified),
0 (modified),
1 (modified),
0 (modified),
49 (modified),
49 (modified),
50 (modified),
1,
0,
0,
48,
49,
49,
0,
0,
1,
48,
49,
48,
0,
1,
0,
49,
49,
50,
0,
0,
1,
49,
49,
49,
0,
0,
1,
49,
50,
50,
0,
1,
0,
49,
49,
50,
],
},
sim_only_slots: StatePart {