X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fsnippets%2Fhighlevelstatehandlers%2Fstandard%2Fatomic%2FBitVectorSplittingAtomicHighLevelStateHandler.java;fp=net.mograsim.logic.model%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fsnippets%2Fhighlevelstatehandlers%2Fstandard%2Fatomic%2FBitVectorSplittingAtomicHighLevelStateHandler.java;h=443f8475cef40649d28f4fdd866316b5d3fea485;hb=375ec3e8653279a066a8fd644d13f9028049c18f;hp=4b9e2d62bcf122b6a0f3574f4a6b95a753b30f4c;hpb=a9a490aea792e58525f7da243c61b948a71f4355;p=Mograsim.git diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/BitVectorSplittingAtomicHighLevelStateHandler.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/BitVectorSplittingAtomicHighLevelStateHandler.java index 4b9e2d62..443f8475 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/BitVectorSplittingAtomicHighLevelStateHandler.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/highlevelstatehandlers/standard/atomic/BitVectorSplittingAtomicHighLevelStateHandler.java @@ -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);