private void NumberCompaction(byte[] input, int start, int length) {
int full = (length / 44) * 15;
int size = length % 44;
int k;
if (size == 0)
size = full;
else
size = full + size / 3 + 1;
if (size + cwPtr > MAX_DATA_CODEWORDS) {
throw new ArgumentOutOfRangeException("The text is too big.");
}
length += start;
for (k = start; k < length; k += 44) {
size = length - k < 44 ? length - k : 44;
BasicNumberCompaction(input, k, size);
}
}