github.com/balzaczyy/golucene@v0.0.0-20151210033525-d0be9ee89713/core/util/packed/bulkOperation19.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 BulkOperationPacked19 struct {
     7  	*BulkOperationPacked
     8  }
     9  
    10  func newBulkOperationPacked19() BulkOperation {
    11  	return &BulkOperationPacked19{newBulkOperationPacked(19)}
    12  }
    13  
    14  func (op *BulkOperationPacked19) 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) >> 45)); valuesOffset++
    19  		values[valuesOffset] = int32(int64(uint64(block0) >> 26) & 524287); valuesOffset++
    20  		values[valuesOffset] = int32(int64(uint64(block0) >> 7) & 524287); valuesOffset++
    21  		block1 := blocks[blocksOffset]; blocksOffset++
    22  		values[valuesOffset] = int32(((block0 & 127) << 12) | (int64(uint64(block1) >> 52))); valuesOffset++
    23  		values[valuesOffset] = int32(int64(uint64(block1) >> 33) & 524287); valuesOffset++
    24  		values[valuesOffset] = int32(int64(uint64(block1) >> 14) & 524287); valuesOffset++
    25  		block2 := blocks[blocksOffset]; blocksOffset++
    26  		values[valuesOffset] = int32(((block1 & 16383) << 5) | (int64(uint64(block2) >> 59))); valuesOffset++
    27  		values[valuesOffset] = int32(int64(uint64(block2) >> 40) & 524287); valuesOffset++
    28  		values[valuesOffset] = int32(int64(uint64(block2) >> 21) & 524287); valuesOffset++
    29  		values[valuesOffset] = int32(int64(uint64(block2) >> 2) & 524287); valuesOffset++
    30  		block3 := blocks[blocksOffset]; blocksOffset++
    31  		values[valuesOffset] = int32(((block2 & 3) << 17) | (int64(uint64(block3) >> 47))); valuesOffset++
    32  		values[valuesOffset] = int32(int64(uint64(block3) >> 28) & 524287); valuesOffset++
    33  		values[valuesOffset] = int32(int64(uint64(block3) >> 9) & 524287); valuesOffset++
    34  		block4 := blocks[blocksOffset]; blocksOffset++
    35  		values[valuesOffset] = int32(((block3 & 511) << 10) | (int64(uint64(block4) >> 54))); valuesOffset++
    36  		values[valuesOffset] = int32(int64(uint64(block4) >> 35) & 524287); valuesOffset++
    37  		values[valuesOffset] = int32(int64(uint64(block4) >> 16) & 524287); valuesOffset++
    38  		block5 := blocks[blocksOffset]; blocksOffset++
    39  		values[valuesOffset] = int32(((block4 & 65535) << 3) | (int64(uint64(block5) >> 61))); valuesOffset++
    40  		values[valuesOffset] = int32(int64(uint64(block5) >> 42) & 524287); valuesOffset++
    41  		values[valuesOffset] = int32(int64(uint64(block5) >> 23) & 524287); valuesOffset++
    42  		values[valuesOffset] = int32(int64(uint64(block5) >> 4) & 524287); valuesOffset++
    43  		block6 := blocks[blocksOffset]; blocksOffset++
    44  		values[valuesOffset] = int32(((block5 & 15) << 15) | (int64(uint64(block6) >> 49))); valuesOffset++
    45  		values[valuesOffset] = int32(int64(uint64(block6) >> 30) & 524287); valuesOffset++
    46  		values[valuesOffset] = int32(int64(uint64(block6) >> 11) & 524287); valuesOffset++
    47  		block7 := blocks[blocksOffset]; blocksOffset++
    48  		values[valuesOffset] = int32(((block6 & 2047) << 8) | (int64(uint64(block7) >> 56))); valuesOffset++
    49  		values[valuesOffset] = int32(int64(uint64(block7) >> 37) & 524287); valuesOffset++
    50  		values[valuesOffset] = int32(int64(uint64(block7) >> 18) & 524287); valuesOffset++
    51  		block8 := blocks[blocksOffset]; blocksOffset++
    52  		values[valuesOffset] = int32(((block7 & 262143) << 1) | (int64(uint64(block8) >> 63))); valuesOffset++
    53  		values[valuesOffset] = int32(int64(uint64(block8) >> 44) & 524287); valuesOffset++
    54  		values[valuesOffset] = int32(int64(uint64(block8) >> 25) & 524287); valuesOffset++
    55  		values[valuesOffset] = int32(int64(uint64(block8) >> 6) & 524287); valuesOffset++
    56  		block9 := blocks[blocksOffset]; blocksOffset++
    57  		values[valuesOffset] = int32(((block8 & 63) << 13) | (int64(uint64(block9) >> 51))); valuesOffset++
    58  		values[valuesOffset] = int32(int64(uint64(block9) >> 32) & 524287); valuesOffset++
    59  		values[valuesOffset] = int32(int64(uint64(block9) >> 13) & 524287); valuesOffset++
    60  		block10 := blocks[blocksOffset]; blocksOffset++
    61  		values[valuesOffset] = int32(((block9 & 8191) << 6) | (int64(uint64(block10) >> 58))); valuesOffset++
    62  		values[valuesOffset] = int32(int64(uint64(block10) >> 39) & 524287); valuesOffset++
    63  		values[valuesOffset] = int32(int64(uint64(block10) >> 20) & 524287); valuesOffset++
    64  		values[valuesOffset] = int32(int64(uint64(block10) >> 1) & 524287); valuesOffset++
    65  		block11 := blocks[blocksOffset]; blocksOffset++
    66  		values[valuesOffset] = int32(((block10 & 1) << 18) | (int64(uint64(block11) >> 46))); valuesOffset++
    67  		values[valuesOffset] = int32(int64(uint64(block11) >> 27) & 524287); valuesOffset++
    68  		values[valuesOffset] = int32(int64(uint64(block11) >> 8) & 524287); valuesOffset++
    69  		block12 := blocks[blocksOffset]; blocksOffset++
    70  		values[valuesOffset] = int32(((block11 & 255) << 11) | (int64(uint64(block12) >> 53))); valuesOffset++
    71  		values[valuesOffset] = int32(int64(uint64(block12) >> 34) & 524287); valuesOffset++
    72  		values[valuesOffset] = int32(int64(uint64(block12) >> 15) & 524287); valuesOffset++
    73  		block13 := blocks[blocksOffset]; blocksOffset++
    74  		values[valuesOffset] = int32(((block12 & 32767) << 4) | (int64(uint64(block13) >> 60))); valuesOffset++
    75  		values[valuesOffset] = int32(int64(uint64(block13) >> 41) & 524287); valuesOffset++
    76  		values[valuesOffset] = int32(int64(uint64(block13) >> 22) & 524287); valuesOffset++
    77  		values[valuesOffset] = int32(int64(uint64(block13) >> 3) & 524287); valuesOffset++
    78  		block14 := blocks[blocksOffset]; blocksOffset++
    79  		values[valuesOffset] = int32(((block13 & 7) << 16) | (int64(uint64(block14) >> 48))); valuesOffset++
    80  		values[valuesOffset] = int32(int64(uint64(block14) >> 29) & 524287); valuesOffset++
    81  		values[valuesOffset] = int32(int64(uint64(block14) >> 10) & 524287); valuesOffset++
    82  		block15 := blocks[blocksOffset]; blocksOffset++
    83  		values[valuesOffset] = int32(((block14 & 1023) << 9) | (int64(uint64(block15) >> 55))); valuesOffset++
    84  		values[valuesOffset] = int32(int64(uint64(block15) >> 36) & 524287); valuesOffset++
    85  		values[valuesOffset] = int32(int64(uint64(block15) >> 17) & 524287); valuesOffset++
    86  		block16 := blocks[blocksOffset]; blocksOffset++
    87  		values[valuesOffset] = int32(((block15 & 131071) << 2) | (int64(uint64(block16) >> 62))); valuesOffset++
    88  		values[valuesOffset] = int32(int64(uint64(block16) >> 43) & 524287); valuesOffset++
    89  		values[valuesOffset] = int32(int64(uint64(block16) >> 24) & 524287); valuesOffset++
    90  		values[valuesOffset] = int32(int64(uint64(block16) >> 5) & 524287); valuesOffset++
    91  		block17 := blocks[blocksOffset]; blocksOffset++
    92  		values[valuesOffset] = int32(((block16 & 31) << 14) | (int64(uint64(block17) >> 50))); valuesOffset++
    93  		values[valuesOffset] = int32(int64(uint64(block17) >> 31) & 524287); valuesOffset++
    94  		values[valuesOffset] = int32(int64(uint64(block17) >> 12) & 524287); valuesOffset++
    95  		block18 := blocks[blocksOffset]; blocksOffset++
    96  		values[valuesOffset] = int32(((block17 & 4095) << 7) | (int64(uint64(block18) >> 57))); valuesOffset++
    97  		values[valuesOffset] = int32(int64(uint64(block18) >> 38) & 524287); valuesOffset++
    98  		values[valuesOffset] = int32(int64(uint64(block18) >> 19) & 524287); valuesOffset++
    99  		values[valuesOffset] = int32(block18 & 524287); valuesOffset++
   100  	}
   101  }
   102  
   103  func (op *BulkOperationPacked19) decodeByteToInt(blocks []byte, values []int32, iterations int) {
   104  	blocksOffset, valuesOffset := 0, 0
   105  	for i := 0; i < iterations; i ++ {
   106  		byte0 := blocks[blocksOffset]
   107  		blocksOffset++
   108  		byte1 := blocks[blocksOffset]
   109  		blocksOffset++
   110  		byte2 := blocks[blocksOffset]
   111  		blocksOffset++
   112  		values[valuesOffset] = int32((int64(byte0) << 11) | (int64(byte1) << 3) | int64(uint8(byte2) >> 5))
   113  		valuesOffset++
   114  		byte3 := blocks[blocksOffset]
   115  		blocksOffset++
   116  		byte4 := blocks[blocksOffset]
   117  		blocksOffset++
   118  		values[valuesOffset] = int32((int64(byte2 & 31) << 14) | (int64(byte3) << 6) | int64(uint8(byte4) >> 2))
   119  		valuesOffset++
   120  		byte5 := blocks[blocksOffset]
   121  		blocksOffset++
   122  		byte6 := blocks[blocksOffset]
   123  		blocksOffset++
   124  		byte7 := blocks[blocksOffset]
   125  		blocksOffset++
   126  		values[valuesOffset] = int32((int64(byte4 & 3) << 17) | (int64(byte5) << 9) | (int64(byte6) << 1) | int64(uint8(byte7) >> 7))
   127  		valuesOffset++
   128  		byte8 := blocks[blocksOffset]
   129  		blocksOffset++
   130  		byte9 := blocks[blocksOffset]
   131  		blocksOffset++
   132  		values[valuesOffset] = int32((int64(byte7 & 127) << 12) | (int64(byte8) << 4) | int64(uint8(byte9) >> 4))
   133  		valuesOffset++
   134  		byte10 := blocks[blocksOffset]
   135  		blocksOffset++
   136  		byte11 := blocks[blocksOffset]
   137  		blocksOffset++
   138  		values[valuesOffset] = int32((int64(byte9 & 15) << 15) | (int64(byte10) << 7) | int64(uint8(byte11) >> 1))
   139  		valuesOffset++
   140  		byte12 := blocks[blocksOffset]
   141  		blocksOffset++
   142  		byte13 := blocks[blocksOffset]
   143  		blocksOffset++
   144  		byte14 := blocks[blocksOffset]
   145  		blocksOffset++
   146  		values[valuesOffset] = int32((int64(byte11 & 1) << 18) | (int64(byte12) << 10) | (int64(byte13) << 2) | int64(uint8(byte14) >> 6))
   147  		valuesOffset++
   148  		byte15 := blocks[blocksOffset]
   149  		blocksOffset++
   150  		byte16 := blocks[blocksOffset]
   151  		blocksOffset++
   152  		values[valuesOffset] = int32((int64(byte14 & 63) << 13) | (int64(byte15) << 5) | int64(uint8(byte16) >> 3))
   153  		valuesOffset++
   154  		byte17 := blocks[blocksOffset]
   155  		blocksOffset++
   156  		byte18 := blocks[blocksOffset]
   157  		blocksOffset++
   158  		values[valuesOffset] = int32((int64(byte16 & 7) << 16) | (int64(byte17) << 8) | int64(byte18))
   159  		valuesOffset++
   160  	}
   161  }
   162  func (op *BulkOperationPacked19) decodeLongToLong(blocks []int64, values []int64, iterations int) {
   163  	blocksOffset, valuesOffset := 0, 0
   164  	for i := 0; i < iterations; i ++ {
   165  		block0 := blocks[blocksOffset]; blocksOffset++
   166  		values[valuesOffset] = int64(uint64(block0) >> 45); valuesOffset++
   167  		values[valuesOffset] = int64(uint64(block0) >> 26) & 524287; valuesOffset++
   168  		values[valuesOffset] = int64(uint64(block0) >> 7) & 524287; valuesOffset++
   169  		block1 := blocks[blocksOffset]; blocksOffset++
   170  		values[valuesOffset] = ((block0 & 127) << 12) | (int64(uint64(block1) >> 52)); valuesOffset++
   171  		values[valuesOffset] = int64(uint64(block1) >> 33) & 524287; valuesOffset++
   172  		values[valuesOffset] = int64(uint64(block1) >> 14) & 524287; valuesOffset++
   173  		block2 := blocks[blocksOffset]; blocksOffset++
   174  		values[valuesOffset] = ((block1 & 16383) << 5) | (int64(uint64(block2) >> 59)); valuesOffset++
   175  		values[valuesOffset] = int64(uint64(block2) >> 40) & 524287; valuesOffset++
   176  		values[valuesOffset] = int64(uint64(block2) >> 21) & 524287; valuesOffset++
   177  		values[valuesOffset] = int64(uint64(block2) >> 2) & 524287; valuesOffset++
   178  		block3 := blocks[blocksOffset]; blocksOffset++
   179  		values[valuesOffset] = ((block2 & 3) << 17) | (int64(uint64(block3) >> 47)); valuesOffset++
   180  		values[valuesOffset] = int64(uint64(block3) >> 28) & 524287; valuesOffset++
   181  		values[valuesOffset] = int64(uint64(block3) >> 9) & 524287; valuesOffset++
   182  		block4 := blocks[blocksOffset]; blocksOffset++
   183  		values[valuesOffset] = ((block3 & 511) << 10) | (int64(uint64(block4) >> 54)); valuesOffset++
   184  		values[valuesOffset] = int64(uint64(block4) >> 35) & 524287; valuesOffset++
   185  		values[valuesOffset] = int64(uint64(block4) >> 16) & 524287; valuesOffset++
   186  		block5 := blocks[blocksOffset]; blocksOffset++
   187  		values[valuesOffset] = ((block4 & 65535) << 3) | (int64(uint64(block5) >> 61)); valuesOffset++
   188  		values[valuesOffset] = int64(uint64(block5) >> 42) & 524287; valuesOffset++
   189  		values[valuesOffset] = int64(uint64(block5) >> 23) & 524287; valuesOffset++
   190  		values[valuesOffset] = int64(uint64(block5) >> 4) & 524287; valuesOffset++
   191  		block6 := blocks[blocksOffset]; blocksOffset++
   192  		values[valuesOffset] = ((block5 & 15) << 15) | (int64(uint64(block6) >> 49)); valuesOffset++
   193  		values[valuesOffset] = int64(uint64(block6) >> 30) & 524287; valuesOffset++
   194  		values[valuesOffset] = int64(uint64(block6) >> 11) & 524287; valuesOffset++
   195  		block7 := blocks[blocksOffset]; blocksOffset++
   196  		values[valuesOffset] = ((block6 & 2047) << 8) | (int64(uint64(block7) >> 56)); valuesOffset++
   197  		values[valuesOffset] = int64(uint64(block7) >> 37) & 524287; valuesOffset++
   198  		values[valuesOffset] = int64(uint64(block7) >> 18) & 524287; valuesOffset++
   199  		block8 := blocks[blocksOffset]; blocksOffset++
   200  		values[valuesOffset] = ((block7 & 262143) << 1) | (int64(uint64(block8) >> 63)); valuesOffset++
   201  		values[valuesOffset] = int64(uint64(block8) >> 44) & 524287; valuesOffset++
   202  		values[valuesOffset] = int64(uint64(block8) >> 25) & 524287; valuesOffset++
   203  		values[valuesOffset] = int64(uint64(block8) >> 6) & 524287; valuesOffset++
   204  		block9 := blocks[blocksOffset]; blocksOffset++
   205  		values[valuesOffset] = ((block8 & 63) << 13) | (int64(uint64(block9) >> 51)); valuesOffset++
   206  		values[valuesOffset] = int64(uint64(block9) >> 32) & 524287; valuesOffset++
   207  		values[valuesOffset] = int64(uint64(block9) >> 13) & 524287; valuesOffset++
   208  		block10 := blocks[blocksOffset]; blocksOffset++
   209  		values[valuesOffset] = ((block9 & 8191) << 6) | (int64(uint64(block10) >> 58)); valuesOffset++
   210  		values[valuesOffset] = int64(uint64(block10) >> 39) & 524287; valuesOffset++
   211  		values[valuesOffset] = int64(uint64(block10) >> 20) & 524287; valuesOffset++
   212  		values[valuesOffset] = int64(uint64(block10) >> 1) & 524287; valuesOffset++
   213  		block11 := blocks[blocksOffset]; blocksOffset++
   214  		values[valuesOffset] = ((block10 & 1) << 18) | (int64(uint64(block11) >> 46)); valuesOffset++
   215  		values[valuesOffset] = int64(uint64(block11) >> 27) & 524287; valuesOffset++
   216  		values[valuesOffset] = int64(uint64(block11) >> 8) & 524287; valuesOffset++
   217  		block12 := blocks[blocksOffset]; blocksOffset++
   218  		values[valuesOffset] = ((block11 & 255) << 11) | (int64(uint64(block12) >> 53)); valuesOffset++
   219  		values[valuesOffset] = int64(uint64(block12) >> 34) & 524287; valuesOffset++
   220  		values[valuesOffset] = int64(uint64(block12) >> 15) & 524287; valuesOffset++
   221  		block13 := blocks[blocksOffset]; blocksOffset++
   222  		values[valuesOffset] = ((block12 & 32767) << 4) | (int64(uint64(block13) >> 60)); valuesOffset++
   223  		values[valuesOffset] = int64(uint64(block13) >> 41) & 524287; valuesOffset++
   224  		values[valuesOffset] = int64(uint64(block13) >> 22) & 524287; valuesOffset++
   225  		values[valuesOffset] = int64(uint64(block13) >> 3) & 524287; valuesOffset++
   226  		block14 := blocks[blocksOffset]; blocksOffset++
   227  		values[valuesOffset] = ((block13 & 7) << 16) | (int64(uint64(block14) >> 48)); valuesOffset++
   228  		values[valuesOffset] = int64(uint64(block14) >> 29) & 524287; valuesOffset++
   229  		values[valuesOffset] = int64(uint64(block14) >> 10) & 524287; valuesOffset++
   230  		block15 := blocks[blocksOffset]; blocksOffset++
   231  		values[valuesOffset] = ((block14 & 1023) << 9) | (int64(uint64(block15) >> 55)); valuesOffset++
   232  		values[valuesOffset] = int64(uint64(block15) >> 36) & 524287; valuesOffset++
   233  		values[valuesOffset] = int64(uint64(block15) >> 17) & 524287; valuesOffset++
   234  		block16 := blocks[blocksOffset]; blocksOffset++
   235  		values[valuesOffset] = ((block15 & 131071) << 2) | (int64(uint64(block16) >> 62)); valuesOffset++
   236  		values[valuesOffset] = int64(uint64(block16) >> 43) & 524287; valuesOffset++
   237  		values[valuesOffset] = int64(uint64(block16) >> 24) & 524287; valuesOffset++
   238  		values[valuesOffset] = int64(uint64(block16) >> 5) & 524287; valuesOffset++
   239  		block17 := blocks[blocksOffset]; blocksOffset++
   240  		values[valuesOffset] = ((block16 & 31) << 14) | (int64(uint64(block17) >> 50)); valuesOffset++
   241  		values[valuesOffset] = int64(uint64(block17) >> 31) & 524287; valuesOffset++
   242  		values[valuesOffset] = int64(uint64(block17) >> 12) & 524287; valuesOffset++
   243  		block18 := blocks[blocksOffset]; blocksOffset++
   244  		values[valuesOffset] = ((block17 & 4095) << 7) | (int64(uint64(block18) >> 57)); valuesOffset++
   245  		values[valuesOffset] = int64(uint64(block18) >> 38) & 524287; valuesOffset++
   246  		values[valuesOffset] = int64(uint64(block18) >> 19) & 524287; valuesOffset++
   247  		values[valuesOffset] = block18 & 524287; valuesOffset++
   248  	}
   249  }
   250  
   251  func (op *BulkOperationPacked19) decodeByteToLong(blocks []byte, values []int64, iterations int) {
   252  	blocksOffset, valuesOffset := 0, 0
   253  	for i := 0; i < iterations; i ++ {
   254  		byte0 := blocks[blocksOffset]
   255  		blocksOffset++
   256  		byte1 := blocks[blocksOffset]
   257  		blocksOffset++
   258  		byte2 := blocks[blocksOffset]
   259  		blocksOffset++
   260  		values[valuesOffset] = int64((int64(byte0) << 11) | (int64(byte1) << 3) | int64(uint8(byte2) >> 5))
   261  		valuesOffset++
   262  		byte3 := blocks[blocksOffset]
   263  		blocksOffset++
   264  		byte4 := blocks[blocksOffset]
   265  		blocksOffset++
   266  		values[valuesOffset] = int64((int64(byte2 & 31) << 14) | (int64(byte3) << 6) | int64(uint8(byte4) >> 2))
   267  		valuesOffset++
   268  		byte5 := blocks[blocksOffset]
   269  		blocksOffset++
   270  		byte6 := blocks[blocksOffset]
   271  		blocksOffset++
   272  		byte7 := blocks[blocksOffset]
   273  		blocksOffset++
   274  		values[valuesOffset] = int64((int64(byte4 & 3) << 17) | (int64(byte5) << 9) | (int64(byte6) << 1) | int64(uint8(byte7) >> 7))
   275  		valuesOffset++
   276  		byte8 := blocks[blocksOffset]
   277  		blocksOffset++
   278  		byte9 := blocks[blocksOffset]
   279  		blocksOffset++
   280  		values[valuesOffset] = int64((int64(byte7 & 127) << 12) | (int64(byte8) << 4) | int64(uint8(byte9) >> 4))
   281  		valuesOffset++
   282  		byte10 := blocks[blocksOffset]
   283  		blocksOffset++
   284  		byte11 := blocks[blocksOffset]
   285  		blocksOffset++
   286  		values[valuesOffset] = int64((int64(byte9 & 15) << 15) | (int64(byte10) << 7) | int64(uint8(byte11) >> 1))
   287  		valuesOffset++
   288  		byte12 := blocks[blocksOffset]
   289  		blocksOffset++
   290  		byte13 := blocks[blocksOffset]
   291  		blocksOffset++
   292  		byte14 := blocks[blocksOffset]
   293  		blocksOffset++
   294  		values[valuesOffset] = int64((int64(byte11 & 1) << 18) | (int64(byte12) << 10) | (int64(byte13) << 2) | int64(uint8(byte14) >> 6))
   295  		valuesOffset++
   296  		byte15 := blocks[blocksOffset]
   297  		blocksOffset++
   298  		byte16 := blocks[blocksOffset]
   299  		blocksOffset++
   300  		values[valuesOffset] = int64((int64(byte14 & 63) << 13) | (int64(byte15) << 5) | int64(uint8(byte16) >> 3))
   301  		valuesOffset++
   302  		byte17 := blocks[blocksOffset]
   303  		blocksOffset++
   304  		byte18 := blocks[blocksOffset]
   305  		blocksOffset++
   306  		values[valuesOffset] = int64((int64(byte16 & 7) << 16) | (int64(byte17) << 8) | int64(byte18))
   307  		valuesOffset++
   308  	}
   309  }