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