Exchanged all Bit[] by BitVector, tests work
[Mograsim.git] / era.mi / src / era / mi / logic / components / Splitter.java
index 760da8f..e936c82 100644 (file)
@@ -1,6 +1,6 @@
 package era.mi.logic.components;\r
 \r
-import era.mi.logic.types.Bit;\r
+import era.mi.logic.types.BitVector;\r
 import era.mi.logic.wires.Wire;\r
 import era.mi.logic.wires.Wire.WireEnd;\r
 import era.mi.logic.wires.WireObserver;\r
@@ -26,19 +26,17 @@ public class Splitter implements WireObserver
 \r
        protected void compute()\r
        {\r
+               BitVector inputBits = input.getValues();\r
                int startIndex = 0;\r
-               Bit[] inputBits = input.getValues();\r
                for (int i = 0; i < outputs.length; i++)\r
                {\r
-                       Bit[] outputBits = new Bit[outputs[i].length()];\r
-                       System.arraycopy(inputBits, startIndex, outputBits, 0, outputs[i].length());\r
-                       outputs[i].feedSignals(outputBits);\r
+                       outputs[i].feedSignals(inputBits.subVector(startIndex, startIndex + outputs[i].length()));\r
                        startIndex += outputs[i].length();\r
                }\r
        }\r
 \r
        @Override\r
-       public void update(Wire initiator, Bit[] oldValues)\r
+       public void update(Wire initiator, BitVector oldValues)\r
        {\r
                compute();\r
        }\r