protected void ByteCompaction6(int start) {
int length = 6;
int ret = cwPtr;
int retLast = 4;
int ni, k;
cwPtr += retLast + 1;
for (k = 0; k <= retLast ; ++k)
codewords[ret + k] = 0;
length += start;
for (ni = start; ni < length; ++ni) {
// multiply by 256
for (k = retLast; k >= 0; --k)
codewords[ret + k] *= 256;
// add the digit
codewords[ret + retLast] += (int)text[ni] & 0xff;
// propagate carry
for (k = retLast; k > 0; --k) {
codewords[ret + k - 1] += codewords[ret + k] / 900;
codewords[ret + k] %= 900;
}
}
}