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