- new AndGate(1, f.createEnd(), a.createReadOnlyEnd(), b.createReadOnlyEnd());
- new NotGate(1, f.createReadOnlyEnd(), g.createEnd());
- new Merger(h.createEnd(), c.createReadOnlyEnd(), g.createReadOnlyEnd());
- new Mux(1, i.createEnd(), e.createReadOnlyEnd(), h.createReadOnlyEnd(), d.createReadOnlyEnd());
- new Splitter(i.createReadOnlyEnd(), k.createEnd(), j.createEnd());
-
- a.createEnd().feedSignals(Bit.ZERO);
- b.createEnd().feedSignals(Bit.ONE);
- c.createEnd().feedSignals(Bit.ZERO);
- d.createEnd().feedSignals(Bit.ONE, Bit.ONE);
- e.createEnd().feedSignals(Bit.ZERO);
+ new AndGate(1, f.createReadWriteEnd(), a.createReadOnlyEnd(), b.createReadOnlyEnd());
+ new NotGate(1, f.createReadOnlyEnd(), g.createReadWriteEnd());
+ new Merger(h.createReadWriteEnd(), c.createReadOnlyEnd(), g.createReadOnlyEnd());
+ new Mux(1, i.createReadWriteEnd(), e.createReadOnlyEnd(), h.createReadOnlyEnd(), d.createReadOnlyEnd());
+ new Splitter(i.createReadOnlyEnd(), k.createReadWriteEnd(), j.createReadWriteEnd());
+
+ a.createReadWriteEnd().feedSignals(Bit.ZERO);
+ b.createReadWriteEnd().feedSignals(Bit.ONE);
+ c.createReadWriteEnd().feedSignals(Bit.ZERO);
+ d.createReadWriteEnd().feedSignals(Bit.ONE, Bit.ONE);
+ e.createReadWriteEnd().feedSignals(Bit.ZERO);