X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=era.mi%2Fsrc%2Fera%2Fmi%2Flogic%2Fcomponents%2Fgates%2FNotGate.java;h=685bc2290de7b5404ac4b666cc3569b2b05c1bb5;hb=80bfbd8ebf0ad8a7ad98584544a0c73f43e6f3b6;hp=55d0cb01bb42b49115e36cde1fc58c0d9f48ab3d;hpb=a4c5cfb856026771dfcf31eb22434b8b6ff20ad4;p=Mograsim.git diff --git a/era.mi/src/era/mi/logic/components/gates/NotGate.java b/era.mi/src/era/mi/logic/components/gates/NotGate.java index 55d0cb01..685bc229 100644 --- a/era.mi/src/era/mi/logic/components/gates/NotGate.java +++ b/era.mi/src/era/mi/logic/components/gates/NotGate.java @@ -1,33 +1,50 @@ package era.mi.logic.components.gates; -import era.mi.logic.Util; -import era.mi.logic.WireArray; +import java.util.List; + import era.mi.logic.components.BasicComponent; +import era.mi.logic.timeline.Timeline; +import era.mi.logic.wires.Wire.ReadEnd; +import era.mi.logic.wires.Wire.ReadWriteEnd; public class NotGate extends BasicComponent { - private WireArray in, out; - - public NotGate(int processTime, WireArray in, WireArray out) + private ReadEnd in; + private ReadWriteEnd out; + + public NotGate(Timeline timeline, int processTime, ReadEnd in, ReadWriteEnd out) { - super(processTime); + super(timeline, processTime); this.in = in; in.addObserver(this); this.out = out; } - - public void compute() + + @Override + protected void compute() { - out.feedSignals(Util.not(in.getValues())); + out.feedSignals(in.getValues().not()); } - public WireArray getIn() + public ReadEnd getIn() { return in; } - public WireArray getOut() + public ReadEnd getOut() { return out; } + + @Override + public List getAllInputs() + { + return List.of(in); + } + + @Override + public List getAllOutputs() + { + return List.of(out); + } }