github.com/balzaczyy/golucene@v0.0.0-20151210033525-d0be9ee89713/core/util/packed/bulkOperation10.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 BulkOperationPacked10 struct { 7 *BulkOperationPacked 8 } 9 10 func newBulkOperationPacked10() BulkOperation { 11 return &BulkOperationPacked10{newBulkOperationPacked(10)} 12 } 13 14 func (op *BulkOperationPacked10) 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) >> 54)); valuesOffset++ 19 values[valuesOffset] = int32(int64(uint64(block0) >> 44) & 1023); valuesOffset++ 20 values[valuesOffset] = int32(int64(uint64(block0) >> 34) & 1023); valuesOffset++ 21 values[valuesOffset] = int32(int64(uint64(block0) >> 24) & 1023); valuesOffset++ 22 values[valuesOffset] = int32(int64(uint64(block0) >> 14) & 1023); valuesOffset++ 23 values[valuesOffset] = int32(int64(uint64(block0) >> 4) & 1023); valuesOffset++ 24 block1 := blocks[blocksOffset]; blocksOffset++ 25 values[valuesOffset] = int32(((block0 & 15) << 6) | (int64(uint64(block1) >> 58))); valuesOffset++ 26 values[valuesOffset] = int32(int64(uint64(block1) >> 48) & 1023); valuesOffset++ 27 values[valuesOffset] = int32(int64(uint64(block1) >> 38) & 1023); valuesOffset++ 28 values[valuesOffset] = int32(int64(uint64(block1) >> 28) & 1023); valuesOffset++ 29 values[valuesOffset] = int32(int64(uint64(block1) >> 18) & 1023); valuesOffset++ 30 values[valuesOffset] = int32(int64(uint64(block1) >> 8) & 1023); valuesOffset++ 31 block2 := blocks[blocksOffset]; blocksOffset++ 32 values[valuesOffset] = int32(((block1 & 255) << 2) | (int64(uint64(block2) >> 62))); valuesOffset++ 33 values[valuesOffset] = int32(int64(uint64(block2) >> 52) & 1023); valuesOffset++ 34 values[valuesOffset] = int32(int64(uint64(block2) >> 42) & 1023); valuesOffset++ 35 values[valuesOffset] = int32(int64(uint64(block2) >> 32) & 1023); valuesOffset++ 36 values[valuesOffset] = int32(int64(uint64(block2) >> 22) & 1023); valuesOffset++ 37 values[valuesOffset] = int32(int64(uint64(block2) >> 12) & 1023); valuesOffset++ 38 values[valuesOffset] = int32(int64(uint64(block2) >> 2) & 1023); valuesOffset++ 39 block3 := blocks[blocksOffset]; blocksOffset++ 40 values[valuesOffset] = int32(((block2 & 3) << 8) | (int64(uint64(block3) >> 56))); valuesOffset++ 41 values[valuesOffset] = int32(int64(uint64(block3) >> 46) & 1023); valuesOffset++ 42 values[valuesOffset] = int32(int64(uint64(block3) >> 36) & 1023); valuesOffset++ 43 values[valuesOffset] = int32(int64(uint64(block3) >> 26) & 1023); valuesOffset++ 44 values[valuesOffset] = int32(int64(uint64(block3) >> 16) & 1023); valuesOffset++ 45 values[valuesOffset] = int32(int64(uint64(block3) >> 6) & 1023); valuesOffset++ 46 block4 := blocks[blocksOffset]; blocksOffset++ 47 values[valuesOffset] = int32(((block3 & 63) << 4) | (int64(uint64(block4) >> 60))); valuesOffset++ 48 values[valuesOffset] = int32(int64(uint64(block4) >> 50) & 1023); valuesOffset++ 49 values[valuesOffset] = int32(int64(uint64(block4) >> 40) & 1023); valuesOffset++ 50 values[valuesOffset] = int32(int64(uint64(block4) >> 30) & 1023); valuesOffset++ 51 values[valuesOffset] = int32(int64(uint64(block4) >> 20) & 1023); valuesOffset++ 52 values[valuesOffset] = int32(int64(uint64(block4) >> 10) & 1023); valuesOffset++ 53 values[valuesOffset] = int32(block4 & 1023); valuesOffset++ 54 } 55 } 56 57 func (op *BulkOperationPacked10) decodeByteToInt(blocks []byte, values []int32, iterations int) { 58 blocksOffset, valuesOffset := 0, 0 59 for i := 0; i < iterations; i ++ { 60 byte0 := blocks[blocksOffset] 61 blocksOffset++ 62 byte1 := blocks[blocksOffset] 63 blocksOffset++ 64 values[valuesOffset] = int32((int64(byte0) << 2) | int64(uint8(byte1) >> 6)) 65 valuesOffset++ 66 byte2 := blocks[blocksOffset] 67 blocksOffset++ 68 values[valuesOffset] = int32((int64(byte1 & 63) << 4) | int64(uint8(byte2) >> 4)) 69 valuesOffset++ 70 byte3 := blocks[blocksOffset] 71 blocksOffset++ 72 values[valuesOffset] = int32((int64(byte2 & 15) << 6) | int64(uint8(byte3) >> 2)) 73 valuesOffset++ 74 byte4 := blocks[blocksOffset] 75 blocksOffset++ 76 values[valuesOffset] = int32((int64(byte3 & 3) << 8) | int64(byte4)) 77 valuesOffset++ 78 } 79 } 80 func (op *BulkOperationPacked10) decodeLongToLong(blocks []int64, values []int64, iterations int) { 81 blocksOffset, valuesOffset := 0, 0 82 for i := 0; i < iterations; i ++ { 83 block0 := blocks[blocksOffset]; blocksOffset++ 84 values[valuesOffset] = int64(uint64(block0) >> 54); valuesOffset++ 85 values[valuesOffset] = int64(uint64(block0) >> 44) & 1023; valuesOffset++ 86 values[valuesOffset] = int64(uint64(block0) >> 34) & 1023; valuesOffset++ 87 values[valuesOffset] = int64(uint64(block0) >> 24) & 1023; valuesOffset++ 88 values[valuesOffset] = int64(uint64(block0) >> 14) & 1023; valuesOffset++ 89 values[valuesOffset] = int64(uint64(block0) >> 4) & 1023; valuesOffset++ 90 block1 := blocks[blocksOffset]; blocksOffset++ 91 values[valuesOffset] = ((block0 & 15) << 6) | (int64(uint64(block1) >> 58)); valuesOffset++ 92 values[valuesOffset] = int64(uint64(block1) >> 48) & 1023; valuesOffset++ 93 values[valuesOffset] = int64(uint64(block1) >> 38) & 1023; valuesOffset++ 94 values[valuesOffset] = int64(uint64(block1) >> 28) & 1023; valuesOffset++ 95 values[valuesOffset] = int64(uint64(block1) >> 18) & 1023; valuesOffset++ 96 values[valuesOffset] = int64(uint64(block1) >> 8) & 1023; valuesOffset++ 97 block2 := blocks[blocksOffset]; blocksOffset++ 98 values[valuesOffset] = ((block1 & 255) << 2) | (int64(uint64(block2) >> 62)); valuesOffset++ 99 values[valuesOffset] = int64(uint64(block2) >> 52) & 1023; valuesOffset++ 100 values[valuesOffset] = int64(uint64(block2) >> 42) & 1023; valuesOffset++ 101 values[valuesOffset] = int64(uint64(block2) >> 32) & 1023; valuesOffset++ 102 values[valuesOffset] = int64(uint64(block2) >> 22) & 1023; valuesOffset++ 103 values[valuesOffset] = int64(uint64(block2) >> 12) & 1023; valuesOffset++ 104 values[valuesOffset] = int64(uint64(block2) >> 2) & 1023; valuesOffset++ 105 block3 := blocks[blocksOffset]; blocksOffset++ 106 values[valuesOffset] = ((block2 & 3) << 8) | (int64(uint64(block3) >> 56)); valuesOffset++ 107 values[valuesOffset] = int64(uint64(block3) >> 46) & 1023; valuesOffset++ 108 values[valuesOffset] = int64(uint64(block3) >> 36) & 1023; valuesOffset++ 109 values[valuesOffset] = int64(uint64(block3) >> 26) & 1023; valuesOffset++ 110 values[valuesOffset] = int64(uint64(block3) >> 16) & 1023; valuesOffset++ 111 values[valuesOffset] = int64(uint64(block3) >> 6) & 1023; valuesOffset++ 112 block4 := blocks[blocksOffset]; blocksOffset++ 113 values[valuesOffset] = ((block3 & 63) << 4) | (int64(uint64(block4) >> 60)); valuesOffset++ 114 values[valuesOffset] = int64(uint64(block4) >> 50) & 1023; valuesOffset++ 115 values[valuesOffset] = int64(uint64(block4) >> 40) & 1023; valuesOffset++ 116 values[valuesOffset] = int64(uint64(block4) >> 30) & 1023; valuesOffset++ 117 values[valuesOffset] = int64(uint64(block4) >> 20) & 1023; valuesOffset++ 118 values[valuesOffset] = int64(uint64(block4) >> 10) & 1023; valuesOffset++ 119 values[valuesOffset] = block4 & 1023; valuesOffset++ 120 } 121 } 122 123 func (op *BulkOperationPacked10) decodeByteToLong(blocks []byte, values []int64, iterations int) { 124 blocksOffset, valuesOffset := 0, 0 125 for i := 0; i < iterations; i ++ { 126 byte0 := blocks[blocksOffset] 127 blocksOffset++ 128 byte1 := blocks[blocksOffset] 129 blocksOffset++ 130 values[valuesOffset] = int64((int64(byte0) << 2) | int64(uint8(byte1) >> 6)) 131 valuesOffset++ 132 byte2 := blocks[blocksOffset] 133 blocksOffset++ 134 values[valuesOffset] = int64((int64(byte1 & 63) << 4) | int64(uint8(byte2) >> 4)) 135 valuesOffset++ 136 byte3 := blocks[blocksOffset] 137 blocksOffset++ 138 values[valuesOffset] = int64((int64(byte2 & 15) << 6) | int64(uint8(byte3) >> 2)) 139 valuesOffset++ 140 byte4 := blocks[blocksOffset] 141 blocksOffset++ 142 values[valuesOffset] = int64((int64(byte3 & 3) << 8) | int64(byte4)) 143 valuesOffset++ 144 } 145 }