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 }