X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=era.mi%2Fsrc%2Fera%2Fmi%2Flogic%2Fcomponents%2Fgates%2FNotGate.java;h=685bc2290de7b5404ac4b666cc3569b2b05c1bb5;hb=6c67a9ff8361cd9fc082f40e2676f2c8b5911fe4;hp=c4821159b386bd022e9ad4266a471df2e31c809d;hpb=4712d3e6ee08461b7754dbfba1c9e82372bb474d;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 c4821159..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,52 +1,50 @@ 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.components.BasicComponent; -import era.mi.logic.wires.WireArray; -import era.mi.logic.wires.WireArray.WireArrayEnd; +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; - private WireArrayEnd outI; + private ReadEnd in; + private ReadWriteEnd out; - public NotGate(int processTime, WireArray in, WireArray 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; - outI = out.createInput(); } - public void compute() + @Override + protected void compute() { - outI.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() + public List getAllInputs() { - return Collections.unmodifiableList(Arrays.asList(in)); + return List.of(in); } @Override - public List getAllOutputs() + public List getAllOutputs() { - return Collections.unmodifiableList(Arrays.asList(out)); + return List.of(out); } }