github.com/balzaczyy/golucene@v0.0.0-20151210033525-d0be9ee89713/core/util/packed/bulkOperation24.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 BulkOperationPacked24 struct {
     7  	*BulkOperationPacked
     8  }
     9  
    10  func newBulkOperationPacked24() BulkOperation {
    11  	return &BulkOperationPacked24{newBulkOperationPacked(24)}
    12  }
    13  
    14  func (op *BulkOperationPacked24) 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) >> 40)); valuesOffset++
    19  		values[valuesOffset] = int32(int64(uint64(block0) >> 16) & 16777215); valuesOffset++
    20  		block1 := blocks[blocksOffset]; blocksOffset++
    21  		values[valuesOffset] = int32(((block0 & 65535) << 8) | (int64(uint64(block1) >> 56))); valuesOffset++
    22  		values[valuesOffset] = int32(int64(uint64(block1) >> 32) & 16777215); valuesOffset++
    23  		values[valuesOffset] = int32(int64(uint64(block1) >> 8) & 16777215); valuesOffset++
    24  		block2 := blocks[blocksOffset]; blocksOffset++
    25  		values[valuesOffset] = int32(((block1 & 255) << 16) | (int64(uint64(block2) >> 48))); valuesOffset++
    26  		values[valuesOffset] = int32(int64(uint64(block2) >> 24) & 16777215); valuesOffset++
    27  		values[valuesOffset] = int32(block2 & 16777215); valuesOffset++
    28  	}
    29  }
    30  
    31  func (op *BulkOperationPacked24) decodeByteToInt(blocks []byte, values []int32, iterations int) {
    32  	blocksOffset, valuesOffset := 0, 0
    33  	for i := 0; i < iterations; i ++ {
    34  		byte0 := blocks[blocksOffset]
    35  		blocksOffset++
    36  		byte1 := blocks[blocksOffset]
    37  		blocksOffset++
    38  		byte2 := blocks[blocksOffset]
    39  		blocksOffset++
    40  		values[valuesOffset] = int32((int64(byte0) << 16) | (int64(byte1) << 8) | int64(byte2))
    41  		valuesOffset++
    42  	}
    43  }
    44  func (op *BulkOperationPacked24) decodeLongToLong(blocks []int64, values []int64, iterations int) {
    45  	blocksOffset, valuesOffset := 0, 0
    46  	for i := 0; i < iterations; i ++ {
    47  		block0 := blocks[blocksOffset]; blocksOffset++
    48  		values[valuesOffset] = int64(uint64(block0) >> 40); valuesOffset++
    49  		values[valuesOffset] = int64(uint64(block0) >> 16) & 16777215; valuesOffset++
    50  		block1 := blocks[blocksOffset]; blocksOffset++
    51  		values[valuesOffset] = ((block0 & 65535) << 8) | (int64(uint64(block1) >> 56)); valuesOffset++
    52  		values[valuesOffset] = int64(uint64(block1) >> 32) & 16777215; valuesOffset++
    53  		values[valuesOffset] = int64(uint64(block1) >> 8) & 16777215; valuesOffset++
    54  		block2 := blocks[blocksOffset]; blocksOffset++
    55  		values[valuesOffset] = ((block1 & 255) << 16) | (int64(uint64(block2) >> 48)); valuesOffset++
    56  		values[valuesOffset] = int64(uint64(block2) >> 24) & 16777215; valuesOffset++
    57  		values[valuesOffset] = block2 & 16777215; valuesOffset++
    58  	}
    59  }
    60  
    61  func (op *BulkOperationPacked24) decodeByteToLong(blocks []byte, values []int64, iterations int) {
    62  	blocksOffset, valuesOffset := 0, 0
    63  	for i := 0; i < iterations; i ++ {
    64  		byte0 := blocks[blocksOffset]
    65  		blocksOffset++
    66  		byte1 := blocks[blocksOffset]
    67  		blocksOffset++
    68  		byte2 := blocks[blocksOffset]
    69  		blocksOffset++
    70  		values[valuesOffset] = int64((int64(byte0) << 16) | (int64(byte1) << 8) | int64(byte2))
    71  		valuesOffset++
    72  	}
    73  }