Java Code Examples for org.apache.lucene.store.DataInput#readLELongs()

The following examples show how to use org.apache.lucene.store.DataInput#readLELongs() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ForUtil.java    From lucene-solr with Apache License 2.0 6 votes vote down vote up
private static void decode15(DataInput in, long[] tmp, long[] longs) throws IOException {
  in.readLELongs(tmp, 0, 30);
  shiftLongs(tmp, 30, longs, 0, 1, MASK16_15);
  for (int iter = 0, tmpIdx = 0, longsIdx = 30; iter < 2; ++iter, tmpIdx += 15, longsIdx += 1) {
    long l0 = (tmp[tmpIdx+0] & MASK16_1) << 14;
    l0 |= (tmp[tmpIdx+1] & MASK16_1) << 13;
    l0 |= (tmp[tmpIdx+2] & MASK16_1) << 12;
    l0 |= (tmp[tmpIdx+3] & MASK16_1) << 11;
    l0 |= (tmp[tmpIdx+4] & MASK16_1) << 10;
    l0 |= (tmp[tmpIdx+5] & MASK16_1) << 9;
    l0 |= (tmp[tmpIdx+6] & MASK16_1) << 8;
    l0 |= (tmp[tmpIdx+7] & MASK16_1) << 7;
    l0 |= (tmp[tmpIdx+8] & MASK16_1) << 6;
    l0 |= (tmp[tmpIdx+9] & MASK16_1) << 5;
    l0 |= (tmp[tmpIdx+10] & MASK16_1) << 4;
    l0 |= (tmp[tmpIdx+11] & MASK16_1) << 3;
    l0 |= (tmp[tmpIdx+12] & MASK16_1) << 2;
    l0 |= (tmp[tmpIdx+13] & MASK16_1) << 1;
    l0 |= (tmp[tmpIdx+14] & MASK16_1) << 0;
    longs[longsIdx+0] = l0;
  }
}
 
Example 2
Source File: ForUtil.java    From lucene-solr with Apache License 2.0 6 votes vote down vote up
private static void decode13(DataInput in, long[] tmp, long[] longs) throws IOException {
  in.readLELongs(tmp, 0, 26);
  shiftLongs(tmp, 26, longs, 0, 3, MASK16_13);
  for (int iter = 0, tmpIdx = 0, longsIdx = 26; iter < 2; ++iter, tmpIdx += 13, longsIdx += 3) {
    long l0 = (tmp[tmpIdx+0] & MASK16_3) << 10;
    l0 |= (tmp[tmpIdx+1] & MASK16_3) << 7;
    l0 |= (tmp[tmpIdx+2] & MASK16_3) << 4;
    l0 |= (tmp[tmpIdx+3] & MASK16_3) << 1;
    l0 |= (tmp[tmpIdx+4] >>> 2) & MASK16_1;
    longs[longsIdx+0] = l0;
    long l1 = (tmp[tmpIdx+4] & MASK16_2) << 11;
    l1 |= (tmp[tmpIdx+5] & MASK16_3) << 8;
    l1 |= (tmp[tmpIdx+6] & MASK16_3) << 5;
    l1 |= (tmp[tmpIdx+7] & MASK16_3) << 2;
    l1 |= (tmp[tmpIdx+8] >>> 1) & MASK16_2;
    longs[longsIdx+1] = l1;
    long l2 = (tmp[tmpIdx+8] & MASK16_1) << 12;
    l2 |= (tmp[tmpIdx+9] & MASK16_3) << 9;
    l2 |= (tmp[tmpIdx+10] & MASK16_3) << 6;
    l2 |= (tmp[tmpIdx+11] & MASK16_3) << 3;
    l2 |= (tmp[tmpIdx+12] & MASK16_3) << 0;
    longs[longsIdx+2] = l2;
  }
}
 
Example 3
Source File: ForUtil.java    From lucene-solr with Apache License 2.0 6 votes vote down vote up
private static void decode5(DataInput in, long[] tmp, long[] longs) throws IOException {
  in.readLELongs(tmp, 0, 10);
  shiftLongs(tmp, 10, longs, 0, 3, MASK8_5);
  for (int iter = 0, tmpIdx = 0, longsIdx = 10; iter < 2; ++iter, tmpIdx += 5, longsIdx += 3) {
    long l0 = (tmp[tmpIdx+0] & MASK8_3) << 2;
    l0 |= (tmp[tmpIdx+1] >>> 1) & MASK8_2;
    longs[longsIdx+0] = l0;
    long l1 = (tmp[tmpIdx+1] & MASK8_1) << 4;
    l1 |= (tmp[tmpIdx+2] & MASK8_3) << 1;
    l1 |= (tmp[tmpIdx+3] >>> 2) & MASK8_1;
    longs[longsIdx+1] = l1;
    long l2 = (tmp[tmpIdx+3] & MASK8_2) << 3;
    l2 |= (tmp[tmpIdx+4] & MASK8_3) << 0;
    longs[longsIdx+2] = l2;
  }
}
 
Example 4
Source File: ForUtil.java    From lucene-solr with Apache License 2.0 6 votes vote down vote up
private static void decode20(DataInput in, long[] tmp, long[] longs) throws IOException {
  in.readLELongs(tmp, 0, 40);
  shiftLongs(tmp, 40, longs, 0, 12, MASK32_20);
  for (int iter = 0, tmpIdx = 0, longsIdx = 40; iter < 8; ++iter, tmpIdx += 5, longsIdx += 3) {
    long l0 = (tmp[tmpIdx+0] & MASK32_12) << 8;
    l0 |= (tmp[tmpIdx+1] >>> 4) & MASK32_8;
    longs[longsIdx+0] = l0;
    long l1 = (tmp[tmpIdx+1] & MASK32_4) << 16;
    l1 |= (tmp[tmpIdx+2] & MASK32_12) << 4;
    l1 |= (tmp[tmpIdx+3] >>> 8) & MASK32_4;
    longs[longsIdx+1] = l1;
    long l2 = (tmp[tmpIdx+3] & MASK32_8) << 12;
    l2 |= (tmp[tmpIdx+4] & MASK32_12) << 0;
    longs[longsIdx+2] = l2;
  }
}
 
Example 5
Source File: ForUtil.java    From lucene-solr with Apache License 2.0 6 votes vote down vote up
private static void decode22(DataInput in, long[] tmp, long[] longs) throws IOException {
  in.readLELongs(tmp, 0, 44);
  shiftLongs(tmp, 44, longs, 0, 10, MASK32_22);
  for (int iter = 0, tmpIdx = 0, longsIdx = 44; iter < 4; ++iter, tmpIdx += 11, longsIdx += 5) {
    long l0 = (tmp[tmpIdx+0] & MASK32_10) << 12;
    l0 |= (tmp[tmpIdx+1] & MASK32_10) << 2;
    l0 |= (tmp[tmpIdx+2] >>> 8) & MASK32_2;
    longs[longsIdx+0] = l0;
    long l1 = (tmp[tmpIdx+2] & MASK32_8) << 14;
    l1 |= (tmp[tmpIdx+3] & MASK32_10) << 4;
    l1 |= (tmp[tmpIdx+4] >>> 6) & MASK32_4;
    longs[longsIdx+1] = l1;
    long l2 = (tmp[tmpIdx+4] & MASK32_6) << 16;
    l2 |= (tmp[tmpIdx+5] & MASK32_10) << 6;
    l2 |= (tmp[tmpIdx+6] >>> 4) & MASK32_6;
    longs[longsIdx+2] = l2;
    long l3 = (tmp[tmpIdx+6] & MASK32_4) << 18;
    l3 |= (tmp[tmpIdx+7] & MASK32_10) << 8;
    l3 |= (tmp[tmpIdx+8] >>> 2) & MASK32_8;
    longs[longsIdx+3] = l3;
    long l4 = (tmp[tmpIdx+8] & MASK32_2) << 20;
    l4 |= (tmp[tmpIdx+9] & MASK32_10) << 10;
    l4 |= (tmp[tmpIdx+10] & MASK32_10) << 0;
    longs[longsIdx+4] = l4;
  }
}
 
Example 6
Source File: ForUtil.java    From lucene-solr with Apache License 2.0 5 votes vote down vote up
private static void decode1(DataInput in, long[] tmp, long[] longs) throws IOException {
  in.readLELongs(tmp, 0, 2);
  shiftLongs(tmp, 2, longs, 0, 7, MASK8_1);
  shiftLongs(tmp, 2, longs, 2, 6, MASK8_1);
  shiftLongs(tmp, 2, longs, 4, 5, MASK8_1);
  shiftLongs(tmp, 2, longs, 6, 4, MASK8_1);
  shiftLongs(tmp, 2, longs, 8, 3, MASK8_1);
  shiftLongs(tmp, 2, longs, 10, 2, MASK8_1);
  shiftLongs(tmp, 2, longs, 12, 1, MASK8_1);
  shiftLongs(tmp, 2, longs, 14, 0, MASK8_1);
}
 
Example 7
Source File: ForUtil.java    From lucene-solr with Apache License 2.0 5 votes vote down vote up
private static void decode18(DataInput in, long[] tmp, long[] longs) throws IOException {
  in.readLELongs(tmp, 0, 36);
  shiftLongs(tmp, 36, longs, 0, 14, MASK32_18);
  for (int iter = 0, tmpIdx = 0, longsIdx = 36; iter < 4; ++iter, tmpIdx += 9, longsIdx += 7) {
    long l0 = (tmp[tmpIdx+0] & MASK32_14) << 4;
    l0 |= (tmp[tmpIdx+1] >>> 10) & MASK32_4;
    longs[longsIdx+0] = l0;
    long l1 = (tmp[tmpIdx+1] & MASK32_10) << 8;
    l1 |= (tmp[tmpIdx+2] >>> 6) & MASK32_8;
    longs[longsIdx+1] = l1;
    long l2 = (tmp[tmpIdx+2] & MASK32_6) << 12;
    l2 |= (tmp[tmpIdx+3] >>> 2) & MASK32_12;
    longs[longsIdx+2] = l2;
    long l3 = (tmp[tmpIdx+3] & MASK32_2) << 16;
    l3 |= (tmp[tmpIdx+4] & MASK32_14) << 2;
    l3 |= (tmp[tmpIdx+5] >>> 12) & MASK32_2;
    longs[longsIdx+3] = l3;
    long l4 = (tmp[tmpIdx+5] & MASK32_12) << 6;
    l4 |= (tmp[tmpIdx+6] >>> 8) & MASK32_6;
    longs[longsIdx+4] = l4;
    long l5 = (tmp[tmpIdx+6] & MASK32_8) << 10;
    l5 |= (tmp[tmpIdx+7] >>> 4) & MASK32_10;
    longs[longsIdx+5] = l5;
    long l6 = (tmp[tmpIdx+7] & MASK32_4) << 14;
    l6 |= (tmp[tmpIdx+8] & MASK32_14) << 0;
    longs[longsIdx+6] = l6;
  }
}
 
Example 8
Source File: ForUtil.java    From lucene-solr with Apache License 2.0 5 votes vote down vote up
private static void decode14(DataInput in, long[] tmp, long[] longs) throws IOException {
  in.readLELongs(tmp, 0, 28);
  shiftLongs(tmp, 28, longs, 0, 2, MASK16_14);
  for (int iter = 0, tmpIdx = 0, longsIdx = 28; iter < 4; ++iter, tmpIdx += 7, longsIdx += 1) {
    long l0 = (tmp[tmpIdx+0] & MASK16_2) << 12;
    l0 |= (tmp[tmpIdx+1] & MASK16_2) << 10;
    l0 |= (tmp[tmpIdx+2] & MASK16_2) << 8;
    l0 |= (tmp[tmpIdx+3] & MASK16_2) << 6;
    l0 |= (tmp[tmpIdx+4] & MASK16_2) << 4;
    l0 |= (tmp[tmpIdx+5] & MASK16_2) << 2;
    l0 |= (tmp[tmpIdx+6] & MASK16_2) << 0;
    longs[longsIdx+0] = l0;
  }
}
 
Example 9
Source File: ForUtil.java    From lucene-solr with Apache License 2.0 5 votes vote down vote up
private static void decode12(DataInput in, long[] tmp, long[] longs) throws IOException {
  in.readLELongs(tmp, 0, 24);
  shiftLongs(tmp, 24, longs, 0, 4, MASK16_12);
  for (int iter = 0, tmpIdx = 0, longsIdx = 24; iter < 8; ++iter, tmpIdx += 3, longsIdx += 1) {
    long l0 = (tmp[tmpIdx+0] & MASK16_4) << 8;
    l0 |= (tmp[tmpIdx+1] & MASK16_4) << 4;
    l0 |= (tmp[tmpIdx+2] & MASK16_4) << 0;
    longs[longsIdx+0] = l0;
  }
}
 
Example 10
Source File: ForUtil.java    From lucene-solr with Apache License 2.0 5 votes vote down vote up
private static void decode7(DataInput in, long[] tmp, long[] longs) throws IOException {
  in.readLELongs(tmp, 0, 14);
  shiftLongs(tmp, 14, longs, 0, 1, MASK8_7);
  for (int iter = 0, tmpIdx = 0, longsIdx = 14; iter < 2; ++iter, tmpIdx += 7, longsIdx += 1) {
    long l0 = (tmp[tmpIdx+0] & MASK8_1) << 6;
    l0 |= (tmp[tmpIdx+1] & MASK8_1) << 5;
    l0 |= (tmp[tmpIdx+2] & MASK8_1) << 4;
    l0 |= (tmp[tmpIdx+3] & MASK8_1) << 3;
    l0 |= (tmp[tmpIdx+4] & MASK8_1) << 2;
    l0 |= (tmp[tmpIdx+5] & MASK8_1) << 1;
    l0 |= (tmp[tmpIdx+6] & MASK8_1) << 0;
    longs[longsIdx+0] = l0;
  }
}
 
Example 11
Source File: ForUtil.java    From lucene-solr with Apache License 2.0 5 votes vote down vote up
private static void decode6(DataInput in, long[] tmp, long[] longs) throws IOException {
  in.readLELongs(tmp, 0, 12);
  shiftLongs(tmp, 12, longs, 0, 2, MASK8_6);
  for (int iter = 0, tmpIdx = 0, longsIdx = 12; iter < 4; ++iter, tmpIdx += 3, longsIdx += 1) {
    long l0 = (tmp[tmpIdx+0] & MASK8_2) << 4;
    l0 |= (tmp[tmpIdx+1] & MASK8_2) << 2;
    l0 |= (tmp[tmpIdx+2] & MASK8_2) << 0;
    longs[longsIdx+0] = l0;
  }
}
 
Example 12
Source File: ForUtil.java    From lucene-solr with Apache License 2.0 5 votes vote down vote up
private static void decode24(DataInput in, long[] tmp, long[] longs) throws IOException {
  in.readLELongs(tmp, 0, 48);
  shiftLongs(tmp, 48, longs, 0, 8, MASK32_24);
  for (int iter = 0, tmpIdx = 0, longsIdx = 48; iter < 16; ++iter, tmpIdx += 3, longsIdx += 1) {
    long l0 = (tmp[tmpIdx+0] & MASK32_8) << 16;
    l0 |= (tmp[tmpIdx+1] & MASK32_8) << 8;
    l0 |= (tmp[tmpIdx+2] & MASK32_8) << 0;
    longs[longsIdx+0] = l0;
  }
}
 
Example 13
Source File: ForUtil.java    From lucene-solr with Apache License 2.0 5 votes vote down vote up
private static void decode3(DataInput in, long[] tmp, long[] longs) throws IOException {
  in.readLELongs(tmp, 0, 6);
  shiftLongs(tmp, 6, longs, 0, 5, MASK8_3);
  shiftLongs(tmp, 6, longs, 6, 2, MASK8_3);
  for (int iter = 0, tmpIdx = 0, longsIdx = 12; iter < 2; ++iter, tmpIdx += 3, longsIdx += 2) {
    long l0 = (tmp[tmpIdx+0] & MASK8_2) << 1;
    l0 |= (tmp[tmpIdx+1] >>> 1) & MASK8_1;
    longs[longsIdx+0] = l0;
    long l1 = (tmp[tmpIdx+1] & MASK8_1) << 2;
    l1 |= (tmp[tmpIdx+2] & MASK8_2) << 0;
    longs[longsIdx+1] = l1;
  }
}
 
Example 14
Source File: ForUtil.java    From lucene-solr with Apache License 2.0 5 votes vote down vote up
private static void decode2(DataInput in, long[] tmp, long[] longs) throws IOException {
  in.readLELongs(tmp, 0, 4);
  shiftLongs(tmp, 4, longs, 0, 6, MASK8_2);
  shiftLongs(tmp, 4, longs, 4, 4, MASK8_2);
  shiftLongs(tmp, 4, longs, 8, 2, MASK8_2);
  shiftLongs(tmp, 4, longs, 12, 0, MASK8_2);
}
 
Example 15
Source File: ForUtil.java    From lucene-solr with Apache License 2.0 5 votes vote down vote up
private static void decodeSlow(int bitsPerValue, DataInput in, long[] tmp, long[] longs) throws IOException {
  final int numLongs = bitsPerValue << 1;
  in.readLELongs(tmp, 0, numLongs);
  final long mask = mask32(bitsPerValue);
  int longsIdx = 0;
  int shift = 32 - bitsPerValue;
  for (; shift >= 0; shift -= bitsPerValue) {
    shiftLongs(tmp, numLongs, longs, longsIdx, shift, mask);
    longsIdx += numLongs;
  }
  final int remainingBitsPerLong = shift + bitsPerValue;
  final long mask32RemainingBitsPerLong = mask32(remainingBitsPerLong);
  int tmpIdx = 0;
  int remainingBits = remainingBitsPerLong;
  for (; longsIdx < BLOCK_SIZE / 2; ++longsIdx) {
    int b = bitsPerValue - remainingBits;
    long l = (tmp[tmpIdx++] & mask32(remainingBits)) << b;
    while (b >= remainingBitsPerLong) {
      b -= remainingBitsPerLong;
      l |= (tmp[tmpIdx++] & mask32RemainingBitsPerLong) << b;
    }
    if (b > 0) {
      l |= (tmp[tmpIdx] >>> (remainingBitsPerLong-b)) & mask32(b);
      remainingBits = remainingBitsPerLong - b;
    } else {
      remainingBits = remainingBitsPerLong;
    }
    longs[longsIdx] = l;
  }
}
 
Example 16
Source File: ForUtil.java    From lucene-solr with Apache License 2.0 4 votes vote down vote up
private static void decode8(DataInput in, long[] tmp, long[] longs) throws IOException {
  in.readLELongs(longs, 0, 16);
}
 
Example 17
Source File: ForUtil.java    From lucene-solr with Apache License 2.0 4 votes vote down vote up
private static void decode21(DataInput in, long[] tmp, long[] longs) throws IOException {
  in.readLELongs(tmp, 0, 42);
  shiftLongs(tmp, 42, longs, 0, 11, MASK32_21);
  for (int iter = 0, tmpIdx = 0, longsIdx = 42; iter < 2; ++iter, tmpIdx += 21, longsIdx += 11) {
    long l0 = (tmp[tmpIdx+0] & MASK32_11) << 10;
    l0 |= (tmp[tmpIdx+1] >>> 1) & MASK32_10;
    longs[longsIdx+0] = l0;
    long l1 = (tmp[tmpIdx+1] & MASK32_1) << 20;
    l1 |= (tmp[tmpIdx+2] & MASK32_11) << 9;
    l1 |= (tmp[tmpIdx+3] >>> 2) & MASK32_9;
    longs[longsIdx+1] = l1;
    long l2 = (tmp[tmpIdx+3] & MASK32_2) << 19;
    l2 |= (tmp[tmpIdx+4] & MASK32_11) << 8;
    l2 |= (tmp[tmpIdx+5] >>> 3) & MASK32_8;
    longs[longsIdx+2] = l2;
    long l3 = (tmp[tmpIdx+5] & MASK32_3) << 18;
    l3 |= (tmp[tmpIdx+6] & MASK32_11) << 7;
    l3 |= (tmp[tmpIdx+7] >>> 4) & MASK32_7;
    longs[longsIdx+3] = l3;
    long l4 = (tmp[tmpIdx+7] & MASK32_4) << 17;
    l4 |= (tmp[tmpIdx+8] & MASK32_11) << 6;
    l4 |= (tmp[tmpIdx+9] >>> 5) & MASK32_6;
    longs[longsIdx+4] = l4;
    long l5 = (tmp[tmpIdx+9] & MASK32_5) << 16;
    l5 |= (tmp[tmpIdx+10] & MASK32_11) << 5;
    l5 |= (tmp[tmpIdx+11] >>> 6) & MASK32_5;
    longs[longsIdx+5] = l5;
    long l6 = (tmp[tmpIdx+11] & MASK32_6) << 15;
    l6 |= (tmp[tmpIdx+12] & MASK32_11) << 4;
    l6 |= (tmp[tmpIdx+13] >>> 7) & MASK32_4;
    longs[longsIdx+6] = l6;
    long l7 = (tmp[tmpIdx+13] & MASK32_7) << 14;
    l7 |= (tmp[tmpIdx+14] & MASK32_11) << 3;
    l7 |= (tmp[tmpIdx+15] >>> 8) & MASK32_3;
    longs[longsIdx+7] = l7;
    long l8 = (tmp[tmpIdx+15] & MASK32_8) << 13;
    l8 |= (tmp[tmpIdx+16] & MASK32_11) << 2;
    l8 |= (tmp[tmpIdx+17] >>> 9) & MASK32_2;
    longs[longsIdx+8] = l8;
    long l9 = (tmp[tmpIdx+17] & MASK32_9) << 12;
    l9 |= (tmp[tmpIdx+18] & MASK32_11) << 1;
    l9 |= (tmp[tmpIdx+19] >>> 10) & MASK32_1;
    longs[longsIdx+9] = l9;
    long l10 = (tmp[tmpIdx+19] & MASK32_10) << 11;
    l10 |= (tmp[tmpIdx+20] & MASK32_11) << 0;
    longs[longsIdx+10] = l10;
  }
}
 
Example 18
Source File: ForUtil.java    From lucene-solr with Apache License 2.0 4 votes vote down vote up
private static void decode16(DataInput in, long[] tmp, long[] longs) throws IOException {
  in.readLELongs(longs, 0, 32);
}
 
Example 19
Source File: ForUtil.java    From lucene-solr with Apache License 2.0 4 votes vote down vote up
private static void decode23(DataInput in, long[] tmp, long[] longs) throws IOException {
  in.readLELongs(tmp, 0, 46);
  shiftLongs(tmp, 46, longs, 0, 9, MASK32_23);
  for (int iter = 0, tmpIdx = 0, longsIdx = 46; iter < 2; ++iter, tmpIdx += 23, longsIdx += 9) {
    long l0 = (tmp[tmpIdx+0] & MASK32_9) << 14;
    l0 |= (tmp[tmpIdx+1] & MASK32_9) << 5;
    l0 |= (tmp[tmpIdx+2] >>> 4) & MASK32_5;
    longs[longsIdx+0] = l0;
    long l1 = (tmp[tmpIdx+2] & MASK32_4) << 19;
    l1 |= (tmp[tmpIdx+3] & MASK32_9) << 10;
    l1 |= (tmp[tmpIdx+4] & MASK32_9) << 1;
    l1 |= (tmp[tmpIdx+5] >>> 8) & MASK32_1;
    longs[longsIdx+1] = l1;
    long l2 = (tmp[tmpIdx+5] & MASK32_8) << 15;
    l2 |= (tmp[tmpIdx+6] & MASK32_9) << 6;
    l2 |= (tmp[tmpIdx+7] >>> 3) & MASK32_6;
    longs[longsIdx+2] = l2;
    long l3 = (tmp[tmpIdx+7] & MASK32_3) << 20;
    l3 |= (tmp[tmpIdx+8] & MASK32_9) << 11;
    l3 |= (tmp[tmpIdx+9] & MASK32_9) << 2;
    l3 |= (tmp[tmpIdx+10] >>> 7) & MASK32_2;
    longs[longsIdx+3] = l3;
    long l4 = (tmp[tmpIdx+10] & MASK32_7) << 16;
    l4 |= (tmp[tmpIdx+11] & MASK32_9) << 7;
    l4 |= (tmp[tmpIdx+12] >>> 2) & MASK32_7;
    longs[longsIdx+4] = l4;
    long l5 = (tmp[tmpIdx+12] & MASK32_2) << 21;
    l5 |= (tmp[tmpIdx+13] & MASK32_9) << 12;
    l5 |= (tmp[tmpIdx+14] & MASK32_9) << 3;
    l5 |= (tmp[tmpIdx+15] >>> 6) & MASK32_3;
    longs[longsIdx+5] = l5;
    long l6 = (tmp[tmpIdx+15] & MASK32_6) << 17;
    l6 |= (tmp[tmpIdx+16] & MASK32_9) << 8;
    l6 |= (tmp[tmpIdx+17] >>> 1) & MASK32_8;
    longs[longsIdx+6] = l6;
    long l7 = (tmp[tmpIdx+17] & MASK32_1) << 22;
    l7 |= (tmp[tmpIdx+18] & MASK32_9) << 13;
    l7 |= (tmp[tmpIdx+19] & MASK32_9) << 4;
    l7 |= (tmp[tmpIdx+20] >>> 5) & MASK32_4;
    longs[longsIdx+7] = l7;
    long l8 = (tmp[tmpIdx+20] & MASK32_5) << 18;
    l8 |= (tmp[tmpIdx+21] & MASK32_9) << 9;
    l8 |= (tmp[tmpIdx+22] & MASK32_9) << 0;
    longs[longsIdx+8] = l8;
  }
}
 
Example 20
Source File: ForUtil.java    From lucene-solr with Apache License 2.0 4 votes vote down vote up
private static void decode19(DataInput in, long[] tmp, long[] longs) throws IOException {
  in.readLELongs(tmp, 0, 38);
  shiftLongs(tmp, 38, longs, 0, 13, MASK32_19);
  for (int iter = 0, tmpIdx = 0, longsIdx = 38; iter < 2; ++iter, tmpIdx += 19, longsIdx += 13) {
    long l0 = (tmp[tmpIdx+0] & MASK32_13) << 6;
    l0 |= (tmp[tmpIdx+1] >>> 7) & MASK32_6;
    longs[longsIdx+0] = l0;
    long l1 = (tmp[tmpIdx+1] & MASK32_7) << 12;
    l1 |= (tmp[tmpIdx+2] >>> 1) & MASK32_12;
    longs[longsIdx+1] = l1;
    long l2 = (tmp[tmpIdx+2] & MASK32_1) << 18;
    l2 |= (tmp[tmpIdx+3] & MASK32_13) << 5;
    l2 |= (tmp[tmpIdx+4] >>> 8) & MASK32_5;
    longs[longsIdx+2] = l2;
    long l3 = (tmp[tmpIdx+4] & MASK32_8) << 11;
    l3 |= (tmp[tmpIdx+5] >>> 2) & MASK32_11;
    longs[longsIdx+3] = l3;
    long l4 = (tmp[tmpIdx+5] & MASK32_2) << 17;
    l4 |= (tmp[tmpIdx+6] & MASK32_13) << 4;
    l4 |= (tmp[tmpIdx+7] >>> 9) & MASK32_4;
    longs[longsIdx+4] = l4;
    long l5 = (tmp[tmpIdx+7] & MASK32_9) << 10;
    l5 |= (tmp[tmpIdx+8] >>> 3) & MASK32_10;
    longs[longsIdx+5] = l5;
    long l6 = (tmp[tmpIdx+8] & MASK32_3) << 16;
    l6 |= (tmp[tmpIdx+9] & MASK32_13) << 3;
    l6 |= (tmp[tmpIdx+10] >>> 10) & MASK32_3;
    longs[longsIdx+6] = l6;
    long l7 = (tmp[tmpIdx+10] & MASK32_10) << 9;
    l7 |= (tmp[tmpIdx+11] >>> 4) & MASK32_9;
    longs[longsIdx+7] = l7;
    long l8 = (tmp[tmpIdx+11] & MASK32_4) << 15;
    l8 |= (tmp[tmpIdx+12] & MASK32_13) << 2;
    l8 |= (tmp[tmpIdx+13] >>> 11) & MASK32_2;
    longs[longsIdx+8] = l8;
    long l9 = (tmp[tmpIdx+13] & MASK32_11) << 8;
    l9 |= (tmp[tmpIdx+14] >>> 5) & MASK32_8;
    longs[longsIdx+9] = l9;
    long l10 = (tmp[tmpIdx+14] & MASK32_5) << 14;
    l10 |= (tmp[tmpIdx+15] & MASK32_13) << 1;
    l10 |= (tmp[tmpIdx+16] >>> 12) & MASK32_1;
    longs[longsIdx+10] = l10;
    long l11 = (tmp[tmpIdx+16] & MASK32_12) << 7;
    l11 |= (tmp[tmpIdx+17] >>> 6) & MASK32_7;
    longs[longsIdx+11] = l11;
    long l12 = (tmp[tmpIdx+17] & MASK32_6) << 13;
    l12 |= (tmp[tmpIdx+18] & MASK32_13) << 0;
    longs[longsIdx+12] = l12;
  }
}