Exchanged all Bit[] by BitVector, tests work
[Mograsim.git] / era.mi / src / era / mi / logic / components / gates / NotGate.java
1 package era.mi.logic.components.gates;\r
2 \r
3 import java.util.List;\r
4 \r
5 import era.mi.logic.components.BasicComponent;\r
6 import era.mi.logic.wires.Wire.WireEnd;\r
7 \r
8 public class NotGate extends BasicComponent\r
9 {\r
10         private WireEnd in;\r
11         private WireEnd out;\r
12 \r
13         public NotGate(int processTime, WireEnd in, WireEnd out)\r
14         {\r
15                 super(processTime);\r
16                 this.in = in;\r
17                 in.addObserver(this);\r
18                 this.out = out;\r
19         }\r
20 \r
21         @Override\r
22         protected void compute()\r
23         {\r
24                 out.feedSignals(in.getValues().not());\r
25         }\r
26 \r
27         public WireEnd getIn()\r
28         {\r
29                 return in;\r
30         }\r
31 \r
32         public WireEnd getOut()\r
33         {\r
34                 return out;\r
35         }\r
36 \r
37         @Override\r
38         public List<WireEnd> getAllInputs()\r
39         {\r
40                 return List.of(in);\r
41         }\r
42 \r
43         @Override\r
44         public List<WireEnd> getAllOutputs()\r
45         {\r
46                 return List.of(out);\r
47         }\r
48 }\r