X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=era.mi%2Fsrc%2Fera%2Fmi%2Flogic%2Fcomponents%2Fgates%2FAndGate.java;h=5c814064ae6b24db0f53351a7a3641f051c6821f;hb=bcf8d773c7a836c2ee17e17a49c296ebf31d2777;hp=762eeef8b553aa0901a5c91ab47c5f9f525e796a;hpb=a4c5cfb856026771dfcf31eb22434b8b6ff20ad4;p=Mograsim.git diff --git a/era.mi/src/era/mi/logic/components/gates/AndGate.java b/era.mi/src/era/mi/logic/components/gates/AndGate.java index 762eeef8..5c814064 100644 --- a/era.mi/src/era/mi/logic/components/gates/AndGate.java +++ b/era.mi/src/era/mi/logic/components/gates/AndGate.java @@ -1,12 +1,18 @@ package era.mi.logic.components.gates; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + import era.mi.logic.Util; -import era.mi.logic.WireArray; import era.mi.logic.components.BasicComponent; +import era.mi.logic.wires.WireArray; +import era.mi.logic.wires.WireArray.WireArrayInput; public class AndGate extends BasicComponent { private WireArray a, b, out; + private WireArrayInput outI; public AndGate(int processTime, WireArray a, WireArray b, WireArray out) { @@ -16,11 +22,12 @@ public class AndGate extends BasicComponent this.b = b; b.addObserver(this); this.out = out; + outI = out.createInput(); } protected void compute() { - out.feedSignals(Util.and(a.getValues(), b.getValues())); + outI.feedSignals(Util.and(a.getValues(), b.getValues())); } public WireArray getA() @@ -37,4 +44,16 @@ public class AndGate extends BasicComponent { return out; } + + @Override + public List getAllInputs() + { + return Collections.unmodifiableList(Arrays.asList(a, b)); + } + + @Override + public List getAllOutputs() + { + return Collections.unmodifiableList(Arrays.asList(out)); + } }