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