in src/main/java/com/quicklz/QuickLZ.java [201:227]
static long fastread(byte[] a, int i, int numbytes)
{
long l = 0;
switch (numbytes)
{
case 3:
l |= ((((int)a[i + 0]) & 0xffL) << 0*8);
l |= ((((int)a[i + 1]) & 0xffL) << 1*8);
l |= ((((int)a[i + 2]) & 0xffL) << 2*8);
break;
case 2:
l |= ((((int)a[i + 0]) & 0xffL) << 0*8);
l |= ((((int)a[i + 1]) & 0xffL) << 1*8);
break;
case 1:
l |= ((((int)a[i + 0]) & 0xffL) << 0*8);
break;
case 4:
l |= ((((int)a[i + 0]) & 0xffL) << 0*8);
l |= ((((int)a[i + 1]) & 0xffL) << 1*8);
l |= ((((int)a[i + 2]) & 0xffL) << 2*8);
l |= ((((int)a[i + 3]) & 0xffL) << 3*8);
break;
}
return l;
}