-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.WireArrayInput;
-
-public class NotGate extends BasicComponent
-{
- private WireArray in, out;
- private WireArrayInput outI;
-
-
- public NotGate(int processTime, WireArray in, WireArray out)
- {
- super(processTime);
- this.in = in;
- in.addObserver(this);
- this.out = out;
- outI = out.createInput();
- }
-
- public void compute()
- {
- outI.feedSignals(Util.not(in.getValues()));
- }
-
- public WireArray getIn()
- {
- return in;
- }
-
- public WireArray getOut()
- {
- return out;
- }
-
- @Override
- public List<WireArray> getAllInputs()
- {
- return Collections.unmodifiableList(Arrays.asList(in));
- }
-
- @Override
- public List<WireArray> getAllOutputs()
- {
- return Collections.unmodifiableList(Arrays.asList(out));
- }
-}
+package era.mi.logic.components.gates;\r
+\r
+import java.util.List;\r
+\r
+import era.mi.logic.Util;\r
+import era.mi.logic.components.BasicComponent;\r
+import era.mi.logic.wires.WireArray;\r
+import era.mi.logic.wires.WireArray.WireArrayEnd;\r
+\r
+public class NotGate extends BasicComponent\r
+{\r
+ private WireArray in, out;\r
+ private WireArrayEnd outI;\r
+\r
+ public NotGate(int processTime, WireArray in, WireArray out)\r
+ {\r
+ super(processTime);\r
+ this.in = in;\r
+ in.addObserver(this);\r
+ this.out = out;\r
+ outI = out.createInput();\r
+ }\r
+\r
+ @Override\r
+ public void compute()\r
+ {\r
+ outI.feedSignals(Util.not(in.getValues()));\r
+ }\r
+\r
+ public WireArray getIn()\r
+ {\r
+ return in;\r
+ }\r
+\r
+ public WireArray getOut()\r
+ {\r
+ return out;\r
+ }\r
+\r
+ @Override\r
+ public List<WireArray> getAllInputs()\r
+ {\r
+ return List.of(in);\r
+ }\r
+\r
+ @Override\r
+ public List<WireArray> getAllOutputs()\r
+ {\r
+ return List.of(out);\r
+ }\r
+}\r