in java/core/src/java/org/apache/orc/impl/SerializationUtils.java [1202:1295]
private void readLongBE(InStream in, long[] buffer, int start, int numHops, int numBytes)
throws IOException {
final int toRead = numHops * numBytes;
// bulk read to buffer
int bytesRead = in.read(readBuffer, 0, toRead);
while (bytesRead != toRead) {
bytesRead += in.read(readBuffer, bytesRead, toRead - bytesRead);
}
switch (numBytes) {
case 1:
buffer[start + 0] = readBuffer[0] & 255;
buffer[start + 1] = readBuffer[1] & 255;
buffer[start + 2] = readBuffer[2] & 255;
buffer[start + 3] = readBuffer[3] & 255;
buffer[start + 4] = readBuffer[4] & 255;
buffer[start + 5] = readBuffer[5] & 255;
buffer[start + 6] = readBuffer[6] & 255;
buffer[start + 7] = readBuffer[7] & 255;
break;
case 2:
buffer[start + 0] = readLongBE2(in, 0);
buffer[start + 1] = readLongBE2(in, 2);
buffer[start + 2] = readLongBE2(in, 4);
buffer[start + 3] = readLongBE2(in, 6);
buffer[start + 4] = readLongBE2(in, 8);
buffer[start + 5] = readLongBE2(in, 10);
buffer[start + 6] = readLongBE2(in, 12);
buffer[start + 7] = readLongBE2(in, 14);
break;
case 3:
buffer[start + 0] = readLongBE3(in, 0);
buffer[start + 1] = readLongBE3(in, 3);
buffer[start + 2] = readLongBE3(in, 6);
buffer[start + 3] = readLongBE3(in, 9);
buffer[start + 4] = readLongBE3(in, 12);
buffer[start + 5] = readLongBE3(in, 15);
buffer[start + 6] = readLongBE3(in, 18);
buffer[start + 7] = readLongBE3(in, 21);
break;
case 4:
buffer[start + 0] = readLongBE4(in, 0);
buffer[start + 1] = readLongBE4(in, 4);
buffer[start + 2] = readLongBE4(in, 8);
buffer[start + 3] = readLongBE4(in, 12);
buffer[start + 4] = readLongBE4(in, 16);
buffer[start + 5] = readLongBE4(in, 20);
buffer[start + 6] = readLongBE4(in, 24);
buffer[start + 7] = readLongBE4(in, 28);
break;
case 5:
buffer[start + 0] = readLongBE5(in, 0);
buffer[start + 1] = readLongBE5(in, 5);
buffer[start + 2] = readLongBE5(in, 10);
buffer[start + 3] = readLongBE5(in, 15);
buffer[start + 4] = readLongBE5(in, 20);
buffer[start + 5] = readLongBE5(in, 25);
buffer[start + 6] = readLongBE5(in, 30);
buffer[start + 7] = readLongBE5(in, 35);
break;
case 6:
buffer[start + 0] = readLongBE6(in, 0);
buffer[start + 1] = readLongBE6(in, 6);
buffer[start + 2] = readLongBE6(in, 12);
buffer[start + 3] = readLongBE6(in, 18);
buffer[start + 4] = readLongBE6(in, 24);
buffer[start + 5] = readLongBE6(in, 30);
buffer[start + 6] = readLongBE6(in, 36);
buffer[start + 7] = readLongBE6(in, 42);
break;
case 7:
buffer[start + 0] = readLongBE7(in, 0);
buffer[start + 1] = readLongBE7(in, 7);
buffer[start + 2] = readLongBE7(in, 14);
buffer[start + 3] = readLongBE7(in, 21);
buffer[start + 4] = readLongBE7(in, 28);
buffer[start + 5] = readLongBE7(in, 35);
buffer[start + 6] = readLongBE7(in, 42);
buffer[start + 7] = readLongBE7(in, 49);
break;
case 8:
buffer[start + 0] = readLongBE8(in, 0);
buffer[start + 1] = readLongBE8(in, 8);
buffer[start + 2] = readLongBE8(in, 16);
buffer[start + 3] = readLongBE8(in, 24);
buffer[start + 4] = readLongBE8(in, 32);
buffer[start + 5] = readLongBE8(in, 40);
buffer[start + 6] = readLongBE8(in, 48);
buffer[start + 7] = readLongBE8(in, 56);
break;
default:
break;
}
}