github.com/balzaczyy/golucene@v0.0.0-20151210033525-d0be9ee89713/core/util/packed/bulkOperation22.go (about)

     1  // This file has been automatically generated, DO NOT EDIT
     2  
     3  		package packed
     4  
     5  		// Efficient sequential read/write of packed integers.
     6  type BulkOperationPacked22 struct {
     7  	*BulkOperationPacked
     8  }
     9  
    10  func newBulkOperationPacked22() BulkOperation {
    11  	return &BulkOperationPacked22{newBulkOperationPacked(22)}
    12  }
    13  
    14  func (op *BulkOperationPacked22) decodeLongToInt(blocks []int64, values []int32, iterations int) {
    15  	blocksOffset, valuesOffset := 0, 0
    16  	for i := 0; i < iterations; i ++ {
    17  		block0 := blocks[blocksOffset]; blocksOffset++
    18  		values[valuesOffset] = int32(int64(uint64(block0) >> 42)); valuesOffset++
    19  		values[valuesOffset] = int32(int64(uint64(block0) >> 20) & 4194303); valuesOffset++
    20  		block1 := blocks[blocksOffset]; blocksOffset++
    21  		values[valuesOffset] = int32(((block0 & 1048575) << 2) | (int64(uint64(block1) >> 62))); valuesOffset++
    22  		values[valuesOffset] = int32(int64(uint64(block1) >> 40) & 4194303); valuesOffset++
    23  		values[valuesOffset] = int32(int64(uint64(block1) >> 18) & 4194303); valuesOffset++
    24  		block2 := blocks[blocksOffset]; blocksOffset++
    25  		values[valuesOffset] = int32(((block1 & 262143) << 4) | (int64(uint64(block2) >> 60))); valuesOffset++
    26  		values[valuesOffset] = int32(int64(uint64(block2) >> 38) & 4194303); valuesOffset++
    27  		values[valuesOffset] = int32(int64(uint64(block2) >> 16) & 4194303); valuesOffset++
    28  		block3 := blocks[blocksOffset]; blocksOffset++
    29  		values[valuesOffset] = int32(((block2 & 65535) << 6) | (int64(uint64(block3) >> 58))); valuesOffset++
    30  		values[valuesOffset] = int32(int64(uint64(block3) >> 36) & 4194303); valuesOffset++
    31  		values[valuesOffset] = int32(int64(uint64(block3) >> 14) & 4194303); valuesOffset++
    32  		block4 := blocks[blocksOffset]; blocksOffset++
    33  		values[valuesOffset] = int32(((block3 & 16383) << 8) | (int64(uint64(block4) >> 56))); valuesOffset++
    34  		values[valuesOffset] = int32(int64(uint64(block4) >> 34) & 4194303); valuesOffset++
    35  		values[valuesOffset] = int32(int64(uint64(block4) >> 12) & 4194303); valuesOffset++
    36  		block5 := blocks[blocksOffset]; blocksOffset++
    37  		values[valuesOffset] = int32(((block4 & 4095) << 10) | (int64(uint64(block5) >> 54))); valuesOffset++
    38  		values[valuesOffset] = int32(int64(uint64(block5) >> 32) & 4194303); valuesOffset++
    39  		values[valuesOffset] = int32(int64(uint64(block5) >> 10) & 4194303); valuesOffset++
    40  		block6 := blocks[blocksOffset]; blocksOffset++
    41  		values[valuesOffset] = int32(((block5 & 1023) << 12) | (int64(uint64(block6) >> 52))); valuesOffset++
    42  		values[valuesOffset] = int32(int64(uint64(block6) >> 30) & 4194303); valuesOffset++
    43  		values[valuesOffset] = int32(int64(uint64(block6) >> 8) & 4194303); valuesOffset++
    44  		block7 := blocks[blocksOffset]; blocksOffset++
    45  		values[valuesOffset] = int32(((block6 & 255) << 14) | (int64(uint64(block7) >> 50))); valuesOffset++
    46  		values[valuesOffset] = int32(int64(uint64(block7) >> 28) & 4194303); valuesOffset++
    47  		values[valuesOffset] = int32(int64(uint64(block7) >> 6) & 4194303); valuesOffset++
    48  		block8 := blocks[blocksOffset]; blocksOffset++
    49  		values[valuesOffset] = int32(((block7 & 63) << 16) | (int64(uint64(block8) >> 48))); valuesOffset++
    50  		values[valuesOffset] = int32(int64(uint64(block8) >> 26) & 4194303); valuesOffset++
    51  		values[valuesOffset] = int32(int64(uint64(block8) >> 4) & 4194303); valuesOffset++
    52  		block9 := blocks[blocksOffset]; blocksOffset++
    53  		values[valuesOffset] = int32(((block8 & 15) << 18) | (int64(uint64(block9) >> 46))); valuesOffset++
    54  		values[valuesOffset] = int32(int64(uint64(block9) >> 24) & 4194303); valuesOffset++
    55  		values[valuesOffset] = int32(int64(uint64(block9) >> 2) & 4194303); valuesOffset++
    56  		block10 := blocks[blocksOffset]; blocksOffset++
    57  		values[valuesOffset] = int32(((block9 & 3) << 20) | (int64(uint64(block10) >> 44))); valuesOffset++
    58  		values[valuesOffset] = int32(int64(uint64(block10) >> 22) & 4194303); valuesOffset++
    59  		values[valuesOffset] = int32(block10 & 4194303); valuesOffset++
    60  	}
    61  }
    62  
    63  func (op *BulkOperationPacked22) decodeByteToInt(blocks []byte, values []int32, iterations int) {
    64  	blocksOffset, valuesOffset := 0, 0
    65  	for i := 0; i < iterations; i ++ {
    66  		byte0 := blocks[blocksOffset]
    67  		blocksOffset++
    68  		byte1 := blocks[blocksOffset]
    69  		blocksOffset++
    70  		byte2 := blocks[blocksOffset]
    71  		blocksOffset++
    72  		values[valuesOffset] = int32((int64(byte0) << 14) | (int64(byte1) << 6) | int64(uint8(byte2) >> 2))
    73  		valuesOffset++
    74  		byte3 := blocks[blocksOffset]
    75  		blocksOffset++
    76  		byte4 := blocks[blocksOffset]
    77  		blocksOffset++
    78  		byte5 := blocks[blocksOffset]
    79  		blocksOffset++
    80  		values[valuesOffset] = int32((int64(byte2 & 3) << 20) | (int64(byte3) << 12) | (int64(byte4) << 4) | int64(uint8(byte5) >> 4))
    81  		valuesOffset++
    82  		byte6 := blocks[blocksOffset]
    83  		blocksOffset++
    84  		byte7 := blocks[blocksOffset]
    85  		blocksOffset++
    86  		byte8 := blocks[blocksOffset]
    87  		blocksOffset++
    88  		values[valuesOffset] = int32((int64(byte5 & 15) << 18) | (int64(byte6) << 10) | (int64(byte7) << 2) | int64(uint8(byte8) >> 6))
    89  		valuesOffset++
    90  		byte9 := blocks[blocksOffset]
    91  		blocksOffset++
    92  		byte10 := blocks[blocksOffset]
    93  		blocksOffset++
    94  		values[valuesOffset] = int32((int64(byte8 & 63) << 16) | (int64(byte9) << 8) | int64(byte10))
    95  		valuesOffset++
    96  	}
    97  }
    98  func (op *BulkOperationPacked22) decodeLongToLong(blocks []int64, values []int64, iterations int) {
    99  	blocksOffset, valuesOffset := 0, 0
   100  	for i := 0; i < iterations; i ++ {
   101  		block0 := blocks[blocksOffset]; blocksOffset++
   102  		values[valuesOffset] = int64(uint64(block0) >> 42); valuesOffset++
   103  		values[valuesOffset] = int64(uint64(block0) >> 20) & 4194303; valuesOffset++
   104  		block1 := blocks[blocksOffset]; blocksOffset++
   105  		values[valuesOffset] = ((block0 & 1048575) << 2) | (int64(uint64(block1) >> 62)); valuesOffset++
   106  		values[valuesOffset] = int64(uint64(block1) >> 40) & 4194303; valuesOffset++
   107  		values[valuesOffset] = int64(uint64(block1) >> 18) & 4194303; valuesOffset++
   108  		block2 := blocks[blocksOffset]; blocksOffset++
   109  		values[valuesOffset] = ((block1 & 262143) << 4) | (int64(uint64(block2) >> 60)); valuesOffset++
   110  		values[valuesOffset] = int64(uint64(block2) >> 38) & 4194303; valuesOffset++
   111  		values[valuesOffset] = int64(uint64(block2) >> 16) & 4194303; valuesOffset++
   112  		block3 := blocks[blocksOffset]; blocksOffset++
   113  		values[valuesOffset] = ((block2 & 65535) << 6) | (int64(uint64(block3) >> 58)); valuesOffset++
   114  		values[valuesOffset] = int64(uint64(block3) >> 36) & 4194303; valuesOffset++
   115  		values[valuesOffset] = int64(uint64(block3) >> 14) & 4194303; valuesOffset++
   116  		block4 := blocks[blocksOffset]; blocksOffset++
   117  		values[valuesOffset] = ((block3 & 16383) << 8) | (int64(uint64(block4) >> 56)); valuesOffset++
   118  		values[valuesOffset] = int64(uint64(block4) >> 34) & 4194303; valuesOffset++
   119  		values[valuesOffset] = int64(uint64(block4) >> 12) & 4194303; valuesOffset++
   120  		block5 := blocks[blocksOffset]; blocksOffset++
   121  		values[valuesOffset] = ((block4 & 4095) << 10) | (int64(uint64(block5) >> 54)); valuesOffset++
   122  		values[valuesOffset] = int64(uint64(block5) >> 32) & 4194303; valuesOffset++
   123  		values[valuesOffset] = int64(uint64(block5) >> 10) & 4194303; valuesOffset++
   124  		block6 := blocks[blocksOffset]; blocksOffset++
   125  		values[valuesOffset] = ((block5 & 1023) << 12) | (int64(uint64(block6) >> 52)); valuesOffset++
   126  		values[valuesOffset] = int64(uint64(block6) >> 30) & 4194303; valuesOffset++
   127  		values[valuesOffset] = int64(uint64(block6) >> 8) & 4194303; valuesOffset++
   128  		block7 := blocks[blocksOffset]; blocksOffset++
   129  		values[valuesOffset] = ((block6 & 255) << 14) | (int64(uint64(block7) >> 50)); valuesOffset++
   130  		values[valuesOffset] = int64(uint64(block7) >> 28) & 4194303; valuesOffset++
   131  		values[valuesOffset] = int64(uint64(block7) >> 6) & 4194303; valuesOffset++
   132  		block8 := blocks[blocksOffset]; blocksOffset++
   133  		values[valuesOffset] = ((block7 & 63) << 16) | (int64(uint64(block8) >> 48)); valuesOffset++
   134  		values[valuesOffset] = int64(uint64(block8) >> 26) & 4194303; valuesOffset++
   135  		values[valuesOffset] = int64(uint64(block8) >> 4) & 4194303; valuesOffset++
   136  		block9 := blocks[blocksOffset]; blocksOffset++
   137  		values[valuesOffset] = ((block8 & 15) << 18) | (int64(uint64(block9) >> 46)); valuesOffset++
   138  		values[valuesOffset] = int64(uint64(block9) >> 24) & 4194303; valuesOffset++
   139  		values[valuesOffset] = int64(uint64(block9) >> 2) & 4194303; valuesOffset++
   140  		block10 := blocks[blocksOffset]; blocksOffset++
   141  		values[valuesOffset] = ((block9 & 3) << 20) | (int64(uint64(block10) >> 44)); valuesOffset++
   142  		values[valuesOffset] = int64(uint64(block10) >> 22) & 4194303; valuesOffset++
   143  		values[valuesOffset] = block10 & 4194303; valuesOffset++
   144  	}
   145  }
   146  
   147  func (op *BulkOperationPacked22) decodeByteToLong(blocks []byte, values []int64, iterations int) {
   148  	blocksOffset, valuesOffset := 0, 0
   149  	for i := 0; i < iterations; i ++ {
   150  		byte0 := blocks[blocksOffset]
   151  		blocksOffset++
   152  		byte1 := blocks[blocksOffset]
   153  		blocksOffset++
   154  		byte2 := blocks[blocksOffset]
   155  		blocksOffset++
   156  		values[valuesOffset] = int64((int64(byte0) << 14) | (int64(byte1) << 6) | int64(uint8(byte2) >> 2))
   157  		valuesOffset++
   158  		byte3 := blocks[blocksOffset]
   159  		blocksOffset++
   160  		byte4 := blocks[blocksOffset]
   161  		blocksOffset++
   162  		byte5 := blocks[blocksOffset]
   163  		blocksOffset++
   164  		values[valuesOffset] = int64((int64(byte2 & 3) << 20) | (int64(byte3) << 12) | (int64(byte4) << 4) | int64(uint8(byte5) >> 4))
   165  		valuesOffset++
   166  		byte6 := blocks[blocksOffset]
   167  		blocksOffset++
   168  		byte7 := blocks[blocksOffset]
   169  		blocksOffset++
   170  		byte8 := blocks[blocksOffset]
   171  		blocksOffset++
   172  		values[valuesOffset] = int64((int64(byte5 & 15) << 18) | (int64(byte6) << 10) | (int64(byte7) << 2) | int64(uint8(byte8) >> 6))
   173  		valuesOffset++
   174  		byte9 := blocks[blocksOffset]
   175  		blocksOffset++
   176  		byte10 := blocks[blocksOffset]
   177  		blocksOffset++
   178  		values[valuesOffset] = int64((int64(byte8 & 63) << 16) | (int64(byte9) << 8) | int64(byte10))
   179  		valuesOffset++
   180  	}
   181  }