Changed BitVectorSplittingAtomicHighLevelStateHandler's part order
authorDaniel Kirschten <daniel.kirschten@gmx.de>
Wed, 11 Sep 2019 16:46:50 +0000 (18:46 +0200)
committerDaniel Kirschten <daniel.kirschten@gmx.de>
Wed, 11 Sep 2019 16:46:50 +0000 (18:46 +0200)
net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dff4.json
net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dff4_invwe.json
net.mograsim.logic.model.am2900/components/net/mograsim/logic/model/am2900/components/dlatch4.json
net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/BitVectorSplittingAtomicHighLevelStateHandler.java

index fe18cf1..99b9a91 100644 (file)
         "id": "bitVectorSplitting",
         "params": {
           "vectorPartTargets": [
-            "q1",
-            "q2",
+            "q4",
             "q3",
-            "q4"
+            "q2",
+            "q1"
           ],
           "vectorPartLengthes": [
             1,
index 7615dc7..9a18841 100644 (file)
         "id": "bitVectorSplitting",
         "params": {
           "vectorPartTargets": [
-            "q1",
-            "q2",
+            "q4",
             "q3",
-            "q4"
+            "q2",
+            "q1"
           ],
           "vectorPartLengthes": [
             1,
index c85ca3c..87f5370 100644 (file)
         "id": "bitVectorSplitting",
         "params": {
           "vectorPartTargets": [
-            "q1",
-            "q2",
+            "q4",
             "q3",
-            "q4"
+            "q2",
+            "q1"
           ],
           "vectorPartLengthes": [
             1,
index 4b9e2d6..443f847 100644 (file)
@@ -92,7 +92,7 @@ public class BitVectorSplittingAtomicHighLevelStateHandler implements AtomicHigh
                        if (vectorPart.length() != vectorPartLengthes.get(partIndex))
                                throw new IllegalArgumentException(
                                                "Incorrect vector part length: " + vectorPart.length() + "; expected " + vectorPartLengthes.get(partIndex));
-                       result = vectorPart.concat(result);
+                       result = result.concat(vectorPart);
                }
                return result;
        }
@@ -103,7 +103,7 @@ public class BitVectorSplittingAtomicHighLevelStateHandler implements AtomicHigh
                BitVector newStateCasted = (BitVector) newState;
                if (newStateCasted.length() != length)
                        throw new IllegalArgumentException("Incorrect vector length: " + newStateCasted.length() + "; expected " + length);
-               for (int partIndex = vectorPartTargets.size() - 1, bitIndex = 0; partIndex >= 0; partIndex--)
+               for (int partIndex = 0, bitIndex = 0; partIndex < vectorPartTargets.size(); partIndex++)
                {
                        int vectorPartLength = vectorPartLengthes.get(partIndex);
                        BitVector vectorPart = newStateCasted.subVector(bitIndex, bitIndex + vectorPartLength);