24 // ships required in order to run this code
31 // alternate values from choice1+choice2
32 choice.out1: [*] take, notify fifo1.out;
33 choice.out2: [*] take, notify fifo2.out;
34 debug.in: [*] take, deliver, notify fifo.out;
36 choice.in1: take; [*] deliver;
39 // choice.in2 should never be used (FIXME: test this)
41 choice.in: [*] take, deliver;
43 0: sendto fifo.in; fifo.out: wait, take, sendto choice.in.deMuxIfZero;
44 1: sendto fifo.in; fifo.out: wait, take, sendto choice.in.deMuxIfZero;
45 0: sendto fifo.in; fifo.out: wait, take, sendto choice.in.deMuxIfNonZero;
46 1: sendto fifo.in; fifo.out: wait, take, sendto choice.in.deMuxIfNonZero;
47 -1: sendto fifo.in; fifo.out: wait, take, sendto choice.in.deMuxIfPositive;
48 0: sendto fifo.in; fifo.out: wait, take, sendto choice.in.deMuxIfPositive;
49 1: sendto fifo.in; fifo.out: wait, take, sendto choice.in.deMuxIfPositive;
50 -1: sendto fifo.in; fifo.out: wait, take, sendto choice.in.deMuxIfNonPositive;
51 0: sendto fifo.in; fifo.out: wait, take, sendto choice.in.deMuxIfNonPositive;
52 1: sendto fifo.in; fifo.out: wait, take, sendto choice.in.deMuxIfNonPositive;
53 -1: sendto fifo.in; fifo.out: wait, take, sendto choice.in.deMuxIfNegative;
54 0: sendto fifo.in; fifo.out: wait, take, sendto choice.in.deMuxIfNegative;
55 1: sendto fifo.in; fifo.out: wait, take, sendto choice.in.deMuxIfNegative;
56 -1: sendto fifo.in; fifo.out: wait, take, sendto choice.in.deMuxIfNonNegative;
57 0: sendto fifo.in; fifo.out: wait, take, sendto choice.in.deMuxIfNonNegative;
58 1: sendto fifo.in; fifo.out: wait, take, sendto choice.in.deMuxIfNonNegative;
60 fifo.in: [*] take, deliver;
63 fifo1.in: take, deliver;
64 fifo1.out: take; [*] wait, sendto debug.in;
67 fifo2.in: take, deliver;
68 fifo2.out: take; [*] wait, sendto debug.in;