github.com/balzaczyy/golucene@v0.0.0-20151210033525-d0be9ee89713/core/util/packed/bulkOperation20.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 BulkOperationPacked20 struct { 7 *BulkOperationPacked 8 } 9 10 func newBulkOperationPacked20() BulkOperation { 11 return &BulkOperationPacked20{newBulkOperationPacked(20)} 12 } 13 14 func (op *BulkOperationPacked20) 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) >> 44)); valuesOffset++ 19 values[valuesOffset] = int32(int64(uint64(block0) >> 24) & 1048575); valuesOffset++ 20 values[valuesOffset] = int32(int64(uint64(block0) >> 4) & 1048575); valuesOffset++ 21 block1 := blocks[blocksOffset]; blocksOffset++ 22 values[valuesOffset] = int32(((block0 & 15) << 16) | (int64(uint64(block1) >> 48))); valuesOffset++ 23 values[valuesOffset] = int32(int64(uint64(block1) >> 28) & 1048575); valuesOffset++ 24 values[valuesOffset] = int32(int64(uint64(block1) >> 8) & 1048575); valuesOffset++ 25 block2 := blocks[blocksOffset]; blocksOffset++ 26 values[valuesOffset] = int32(((block1 & 255) << 12) | (int64(uint64(block2) >> 52))); valuesOffset++ 27 values[valuesOffset] = int32(int64(uint64(block2) >> 32) & 1048575); valuesOffset++ 28 values[valuesOffset] = int32(int64(uint64(block2) >> 12) & 1048575); valuesOffset++ 29 block3 := blocks[blocksOffset]; blocksOffset++ 30 values[valuesOffset] = int32(((block2 & 4095) << 8) | (int64(uint64(block3) >> 56))); valuesOffset++ 31 values[valuesOffset] = int32(int64(uint64(block3) >> 36) & 1048575); valuesOffset++ 32 values[valuesOffset] = int32(int64(uint64(block3) >> 16) & 1048575); valuesOffset++ 33 block4 := blocks[blocksOffset]; blocksOffset++ 34 values[valuesOffset] = int32(((block3 & 65535) << 4) | (int64(uint64(block4) >> 60))); valuesOffset++ 35 values[valuesOffset] = int32(int64(uint64(block4) >> 40) & 1048575); valuesOffset++ 36 values[valuesOffset] = int32(int64(uint64(block4) >> 20) & 1048575); valuesOffset++ 37 values[valuesOffset] = int32(block4 & 1048575); valuesOffset++ 38 } 39 } 40 41 func (op *BulkOperationPacked20) decodeByteToInt(blocks []byte, values []int32, iterations int) { 42 blocksOffset, valuesOffset := 0, 0 43 for i := 0; i < iterations; i ++ { 44 byte0 := blocks[blocksOffset] 45 blocksOffset++ 46 byte1 := blocks[blocksOffset] 47 blocksOffset++ 48 byte2 := blocks[blocksOffset] 49 blocksOffset++ 50 values[valuesOffset] = int32((int64(byte0) << 12) | (int64(byte1) << 4) | int64(uint8(byte2) >> 4)) 51 valuesOffset++ 52 byte3 := blocks[blocksOffset] 53 blocksOffset++ 54 byte4 := blocks[blocksOffset] 55 blocksOffset++ 56 values[valuesOffset] = int32((int64(byte2 & 15) << 16) | (int64(byte3) << 8) | int64(byte4)) 57 valuesOffset++ 58 } 59 } 60 func (op *BulkOperationPacked20) decodeLongToLong(blocks []int64, values []int64, iterations int) { 61 blocksOffset, valuesOffset := 0, 0 62 for i := 0; i < iterations; i ++ { 63 block0 := blocks[blocksOffset]; blocksOffset++ 64 values[valuesOffset] = int64(uint64(block0) >> 44); valuesOffset++ 65 values[valuesOffset] = int64(uint64(block0) >> 24) & 1048575; valuesOffset++ 66 values[valuesOffset] = int64(uint64(block0) >> 4) & 1048575; valuesOffset++ 67 block1 := blocks[blocksOffset]; blocksOffset++ 68 values[valuesOffset] = ((block0 & 15) << 16) | (int64(uint64(block1) >> 48)); valuesOffset++ 69 values[valuesOffset] = int64(uint64(block1) >> 28) & 1048575; valuesOffset++ 70 values[valuesOffset] = int64(uint64(block1) >> 8) & 1048575; valuesOffset++ 71 block2 := blocks[blocksOffset]; blocksOffset++ 72 values[valuesOffset] = ((block1 & 255) << 12) | (int64(uint64(block2) >> 52)); valuesOffset++ 73 values[valuesOffset] = int64(uint64(block2) >> 32) & 1048575; valuesOffset++ 74 values[valuesOffset] = int64(uint64(block2) >> 12) & 1048575; valuesOffset++ 75 block3 := blocks[blocksOffset]; blocksOffset++ 76 values[valuesOffset] = ((block2 & 4095) << 8) | (int64(uint64(block3) >> 56)); valuesOffset++ 77 values[valuesOffset] = int64(uint64(block3) >> 36) & 1048575; valuesOffset++ 78 values[valuesOffset] = int64(uint64(block3) >> 16) & 1048575; valuesOffset++ 79 block4 := blocks[blocksOffset]; blocksOffset++ 80 values[valuesOffset] = ((block3 & 65535) << 4) | (int64(uint64(block4) >> 60)); valuesOffset++ 81 values[valuesOffset] = int64(uint64(block4) >> 40) & 1048575; valuesOffset++ 82 values[valuesOffset] = int64(uint64(block4) >> 20) & 1048575; valuesOffset++ 83 values[valuesOffset] = block4 & 1048575; valuesOffset++ 84 } 85 } 86 87 func (op *BulkOperationPacked20) decodeByteToLong(blocks []byte, values []int64, iterations int) { 88 blocksOffset, valuesOffset := 0, 0 89 for i := 0; i < iterations; i ++ { 90 byte0 := blocks[blocksOffset] 91 blocksOffset++ 92 byte1 := blocks[blocksOffset] 93 blocksOffset++ 94 byte2 := blocks[blocksOffset] 95 blocksOffset++ 96 values[valuesOffset] = int64((int64(byte0) << 12) | (int64(byte1) << 4) | int64(uint8(byte2) >> 4)) 97 valuesOffset++ 98 byte3 := blocks[blocksOffset] 99 blocksOffset++ 100 byte4 := blocks[blocksOffset] 101 blocksOffset++ 102 values[valuesOffset] = int64((int64(byte2 & 15) << 16) | (int64(byte3) << 8) | int64(byte4)) 103 valuesOffset++ 104 } 105 }