+ String am2901CellSuffix;
+ if (r instanceof QRegister)
+ am2901CellSuffix = "qreg.q";
+ else if (r instanceof NumberedRegister)
+ am2901CellSuffix = "regs.c" + ((NumberedRegister) r).getIndexAsBitstring() + ".q";
+ else
+ throw new IllegalArgumentException("Not a register of an Am2900Machine: " + r);
+ BitVector result = BitVector.of();
+ for (int i = 0; i < 16; i += 4)
+ {
+ String hlsID = String.format("am2901_%d-%d.%s", (i + 3), i, am2901CellSuffix);
+ result = result.concat((BitVector) am2900.getHighLevelState(hlsID));
+ }
+ return result;