All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.jasonruckman.sidney.bitpacking.packers.le.int32.Packer31 Maven / Gradle / Ivy

There is a newer version: 0.2.0
Show newest version
package com.github.jasonruckman.sidney.bitpacking.packers.le.int32;

import com.github.jasonruckman.sidney.bitpacking.Int32BytePacker;

public final class Packer31 extends Int32BytePacker {

  public Packer31() {
    super(31);
  }

  public final void pack8Values(final int[] in, final int inPos, final byte[] out, final int outPos) {
    out[0 + outPos] = (byte) ((
        //                                         [76543210]
        //                  [_______________________76543210]
        ((in[0 + inPos] & 2147483647))) & 255);
    out[1 + outPos] = (byte) ((
        //                                         [76543210]
        //                          [_______________54321098________]
        ((in[0 + inPos] & 2147483647) >>> 8)) & 255);
    out[2 + outPos] = (byte) ((
        //                                         [76543210]
        //                                  [_______32109876________________]
        ((in[0 + inPos] & 2147483647) >>> 16)) & 255);
    out[3 + outPos] = (byte) ((
        //                                         [_6543210]
        //                                          [0987654________________________]
        ((in[0 + inPos] & 2147483647) >>> 24)
            | //                                         [7_______]
            //           [______________________________0]
            ((in[1 + inPos] & 2147483647) << 7)) & 255);
    out[4 + outPos] = (byte) ((
        //                                         [76543210]
        //                   [______________________87654321_]
        ((in[1 + inPos] & 2147483647) >>> 1)) & 255);
    out[5 + outPos] = (byte) ((
        //                                         [76543210]
        //                           [______________65432109_________]
        ((in[1 + inPos] & 2147483647) >>> 9)) & 255);
    out[6 + outPos] = (byte) ((
        //                                         [76543210]
        //                                   [______43210987_________________]
        ((in[1 + inPos] & 2147483647) >>> 17)) & 255);
    out[7 + outPos] = (byte) ((
        //                                         [__543210]
        //                                           [098765_________________________]
        ((in[1 + inPos] & 2147483647) >>> 25)
            | //                                         [76______]
            //            [_____________________________10]
            ((in[2 + inPos] & 2147483647) << 6)) & 255);
    out[8 + outPos] = (byte) ((
        //                                         [76543210]
        //                    [_____________________98765432__]
        ((in[2 + inPos] & 2147483647) >>> 2)) & 255);
    out[9 + outPos] = (byte) ((
        //                                         [76543210]
        //                            [_____________76543210__________]
        ((in[2 + inPos] & 2147483647) >>> 10)) & 255);
    out[10 + outPos] = (byte) ((
        //                                         [76543210]
        //                                    [_____54321098__________________]
        ((in[2 + inPos] & 2147483647) >>> 18)) & 255);
    out[11 + outPos] = (byte) ((
        //                                         [___43210]
        //                                            [09876__________________________]
        ((in[2 + inPos] & 2147483647) >>> 26)
            | //                                         [765_____]
            //             [____________________________210]
            ((in[3 + inPos] & 2147483647) << 5)) & 255);
    out[12 + outPos] = (byte) ((
        //                                         [76543210]
        //                     [____________________09876543___]
        ((in[3 + inPos] & 2147483647) >>> 3)) & 255);
    out[13 + outPos] = (byte) ((
        //                                         [76543210]
        //                             [____________87654321___________]
        ((in[3 + inPos] & 2147483647) >>> 11)) & 255);
    out[14 + outPos] = (byte) ((
        //                                         [76543210]
        //                                     [____65432109___________________]
        ((in[3 + inPos] & 2147483647) >>> 19)) & 255);
    out[15 + outPos] = (byte) ((
        //                                         [____3210]
        //                                             [0987___________________________]
        ((in[3 + inPos] & 2147483647) >>> 27)
            | //                                         [7654____]
            //              [___________________________3210]
            ((in[4 + inPos] & 2147483647) << 4)) & 255);
    out[16 + outPos] = (byte) ((
        //                                         [76543210]
        //                      [___________________10987654____]
        ((in[4 + inPos] & 2147483647) >>> 4)) & 255);
    out[17 + outPos] = (byte) ((
        //                                         [76543210]
        //                              [___________98765432____________]
        ((in[4 + inPos] & 2147483647) >>> 12)) & 255);
    out[18 + outPos] = (byte) ((
        //                                         [76543210]
        //                                      [___76543210____________________]
        ((in[4 + inPos] & 2147483647) >>> 20)) & 255);
    out[19 + outPos] = (byte) ((
        //                                         [_____210]
        //                                              [098____________________________]
        ((in[4 + inPos] & 2147483647) >>> 28)
            | //                                         [76543___]
            //               [__________________________43210]
            ((in[5 + inPos] & 2147483647) << 3)) & 255);
    out[20 + outPos] = (byte) ((
        //                                         [76543210]
        //                       [__________________21098765_____]
        ((in[5 + inPos] & 2147483647) >>> 5)) & 255);
    out[21 + outPos] = (byte) ((
        //                                         [76543210]
        //                               [__________09876543_____________]
        ((in[5 + inPos] & 2147483647) >>> 13)) & 255);
    out[22 + outPos] = (byte) ((
        //                                         [76543210]
        //                                       [__87654321_____________________]
        ((in[5 + inPos] & 2147483647) >>> 21)) & 255);
    out[23 + outPos] = (byte) ((
        //                                         [______10]
        //                                               [09_____________________________]
        ((in[5 + inPos] & 2147483647) >>> 29)
            | //                                         [765432__]
            //                [_________________________543210]
            ((in[6 + inPos] & 2147483647) << 2)) & 255);
    out[24 + outPos] = (byte) ((
        //                                         [76543210]
        //                        [_________________32109876______]
        ((in[6 + inPos] & 2147483647) >>> 6)) & 255);
    out[25 + outPos] = (byte) ((
        //                                         [76543210]
        //                                [_________10987654______________]
        ((in[6 + inPos] & 2147483647) >>> 14)) & 255);
    out[26 + outPos] = (byte) ((
        //                                         [76543210]
        //                                        [_98765432______________________]
        ((in[6 + inPos] & 2147483647) >>> 22)) & 255);
    out[27 + outPos] = (byte) ((
        //                                         [_______0]
        //                                                [0______________________________]
        ((in[6 + inPos] & 2147483647) >>> 30)
            | //                                         [7654321_]
            //                 [________________________6543210]
            ((in[7 + inPos] & 2147483647) << 1)) & 255);
    out[28 + outPos] = (byte) ((
        //                                         [76543210]
        //                         [________________43210987_______]
        ((in[7 + inPos] & 2147483647) >>> 7)) & 255);
    out[29 + outPos] = (byte) ((
        //                                         [76543210]
        //                                 [________21098765_______________]
        ((in[7 + inPos] & 2147483647) >>> 15)) & 255);
    out[30 + outPos] = (byte) ((
        //                                         [76543210]
        //                                         [09876543_______________________]
        ((in[7 + inPos] & 2147483647) >>> 23)) & 255);
  }

  public final void pack32Values(final int[] in, final int inPos, final byte[] out, final int outPos) {
    out[0 + outPos] = (byte) ((
        //                                         [76543210]
        //                  [_______________________76543210]
        ((in[0 + inPos] & 2147483647))) & 255);
    out[1 + outPos] = (byte) ((
        //                                         [76543210]
        //                          [_______________54321098________]
        ((in[0 + inPos] & 2147483647) >>> 8)) & 255);
    out[2 + outPos] = (byte) ((
        //                                         [76543210]
        //                                  [_______32109876________________]
        ((in[0 + inPos] & 2147483647) >>> 16)) & 255);
    out[3 + outPos] = (byte) ((
        //                                         [_6543210]
        //                                          [0987654________________________]
        ((in[0 + inPos] & 2147483647) >>> 24)
            | //                                         [7_______]
            //           [______________________________0]
            ((in[1 + inPos] & 2147483647) << 7)) & 255);
    out[4 + outPos] = (byte) ((
        //                                         [76543210]
        //                   [______________________87654321_]
        ((in[1 + inPos] & 2147483647) >>> 1)) & 255);
    out[5 + outPos] = (byte) ((
        //                                         [76543210]
        //                           [______________65432109_________]
        ((in[1 + inPos] & 2147483647) >>> 9)) & 255);
    out[6 + outPos] = (byte) ((
        //                                         [76543210]
        //                                   [______43210987_________________]
        ((in[1 + inPos] & 2147483647) >>> 17)) & 255);
    out[7 + outPos] = (byte) ((
        //                                         [__543210]
        //                                           [098765_________________________]
        ((in[1 + inPos] & 2147483647) >>> 25)
            | //                                         [76______]
            //            [_____________________________10]
            ((in[2 + inPos] & 2147483647) << 6)) & 255);
    out[8 + outPos] = (byte) ((
        //                                         [76543210]
        //                    [_____________________98765432__]
        ((in[2 + inPos] & 2147483647) >>> 2)) & 255);
    out[9 + outPos] = (byte) ((
        //                                         [76543210]
        //                            [_____________76543210__________]
        ((in[2 + inPos] & 2147483647) >>> 10)) & 255);
    out[10 + outPos] = (byte) ((
        //                                         [76543210]
        //                                    [_____54321098__________________]
        ((in[2 + inPos] & 2147483647) >>> 18)) & 255);
    out[11 + outPos] = (byte) ((
        //                                         [___43210]
        //                                            [09876__________________________]
        ((in[2 + inPos] & 2147483647) >>> 26)
            | //                                         [765_____]
            //             [____________________________210]
            ((in[3 + inPos] & 2147483647) << 5)) & 255);
    out[12 + outPos] = (byte) ((
        //                                         [76543210]
        //                     [____________________09876543___]
        ((in[3 + inPos] & 2147483647) >>> 3)) & 255);
    out[13 + outPos] = (byte) ((
        //                                         [76543210]
        //                             [____________87654321___________]
        ((in[3 + inPos] & 2147483647) >>> 11)) & 255);
    out[14 + outPos] = (byte) ((
        //                                         [76543210]
        //                                     [____65432109___________________]
        ((in[3 + inPos] & 2147483647) >>> 19)) & 255);
    out[15 + outPos] = (byte) ((
        //                                         [____3210]
        //                                             [0987___________________________]
        ((in[3 + inPos] & 2147483647) >>> 27)
            | //                                         [7654____]
            //              [___________________________3210]
            ((in[4 + inPos] & 2147483647) << 4)) & 255);
    out[16 + outPos] = (byte) ((
        //                                         [76543210]
        //                      [___________________10987654____]
        ((in[4 + inPos] & 2147483647) >>> 4)) & 255);
    out[17 + outPos] = (byte) ((
        //                                         [76543210]
        //                              [___________98765432____________]
        ((in[4 + inPos] & 2147483647) >>> 12)) & 255);
    out[18 + outPos] = (byte) ((
        //                                         [76543210]
        //                                      [___76543210____________________]
        ((in[4 + inPos] & 2147483647) >>> 20)) & 255);
    out[19 + outPos] = (byte) ((
        //                                         [_____210]
        //                                              [098____________________________]
        ((in[4 + inPos] & 2147483647) >>> 28)
            | //                                         [76543___]
            //               [__________________________43210]
            ((in[5 + inPos] & 2147483647) << 3)) & 255);
    out[20 + outPos] = (byte) ((
        //                                         [76543210]
        //                       [__________________21098765_____]
        ((in[5 + inPos] & 2147483647) >>> 5)) & 255);
    out[21 + outPos] = (byte) ((
        //                                         [76543210]
        //                               [__________09876543_____________]
        ((in[5 + inPos] & 2147483647) >>> 13)) & 255);
    out[22 + outPos] = (byte) ((
        //                                         [76543210]
        //                                       [__87654321_____________________]
        ((in[5 + inPos] & 2147483647) >>> 21)) & 255);
    out[23 + outPos] = (byte) ((
        //                                         [______10]
        //                                               [09_____________________________]
        ((in[5 + inPos] & 2147483647) >>> 29)
            | //                                         [765432__]
            //                [_________________________543210]
            ((in[6 + inPos] & 2147483647) << 2)) & 255);
    out[24 + outPos] = (byte) ((
        //                                         [76543210]
        //                        [_________________32109876______]
        ((in[6 + inPos] & 2147483647) >>> 6)) & 255);
    out[25 + outPos] = (byte) ((
        //                                         [76543210]
        //                                [_________10987654______________]
        ((in[6 + inPos] & 2147483647) >>> 14)) & 255);
    out[26 + outPos] = (byte) ((
        //                                         [76543210]
        //                                        [_98765432______________________]
        ((in[6 + inPos] & 2147483647) >>> 22)) & 255);
    out[27 + outPos] = (byte) ((
        //                                         [_______0]
        //                                                [0______________________________]
        ((in[6 + inPos] & 2147483647) >>> 30)
            | //                                         [7654321_]
            //                 [________________________6543210]
            ((in[7 + inPos] & 2147483647) << 1)) & 255);
    out[28 + outPos] = (byte) ((
        //                                         [76543210]
        //                         [________________43210987_______]
        ((in[7 + inPos] & 2147483647) >>> 7)) & 255);
    out[29 + outPos] = (byte) ((
        //                                         [76543210]
        //                                 [________21098765_______________]
        ((in[7 + inPos] & 2147483647) >>> 15)) & 255);
    out[30 + outPos] = (byte) ((
        //                                         [76543210]
        //                                         [09876543_______________________]
        ((in[7 + inPos] & 2147483647) >>> 23)) & 255);
    out[31 + outPos] = (byte) ((
        //                                         [76543210]
        //                  [_______________________76543210]
        ((in[8 + inPos] & 2147483647))) & 255);
    out[32 + outPos] = (byte) ((
        //                                         [76543210]
        //                          [_______________54321098________]
        ((in[8 + inPos] & 2147483647) >>> 8)) & 255);
    out[33 + outPos] = (byte) ((
        //                                         [76543210]
        //                                  [_______32109876________________]
        ((in[8 + inPos] & 2147483647) >>> 16)) & 255);
    out[34 + outPos] = (byte) ((
        //                                         [_6543210]
        //                                          [0987654________________________]
        ((in[8 + inPos] & 2147483647) >>> 24)
            | //                                         [7_______]
            //           [______________________________0]
            ((in[9 + inPos] & 2147483647) << 7)) & 255);
    out[35 + outPos] = (byte) ((
        //                                         [76543210]
        //                   [______________________87654321_]
        ((in[9 + inPos] & 2147483647) >>> 1)) & 255);
    out[36 + outPos] = (byte) ((
        //                                         [76543210]
        //                           [______________65432109_________]
        ((in[9 + inPos] & 2147483647) >>> 9)) & 255);
    out[37 + outPos] = (byte) ((
        //                                         [76543210]
        //                                   [______43210987_________________]
        ((in[9 + inPos] & 2147483647) >>> 17)) & 255);
    out[38 + outPos] = (byte) ((
        //                                         [__543210]
        //                                           [098765_________________________]
        ((in[9 + inPos] & 2147483647) >>> 25)
            | //                                         [76______]
            //            [_____________________________10]
            ((in[10 + inPos] & 2147483647) << 6)) & 255);
    out[39 + outPos] = (byte) ((
        //                                         [76543210]
        //                    [_____________________98765432__]
        ((in[10 + inPos] & 2147483647) >>> 2)) & 255);
    out[40 + outPos] = (byte) ((
        //                                         [76543210]
        //                            [_____________76543210__________]
        ((in[10 + inPos] & 2147483647) >>> 10)) & 255);
    out[41 + outPos] = (byte) ((
        //                                         [76543210]
        //                                    [_____54321098__________________]
        ((in[10 + inPos] & 2147483647) >>> 18)) & 255);
    out[42 + outPos] = (byte) ((
        //                                         [___43210]
        //                                            [09876__________________________]
        ((in[10 + inPos] & 2147483647) >>> 26)
            | //                                         [765_____]
            //             [____________________________210]
            ((in[11 + inPos] & 2147483647) << 5)) & 255);
    out[43 + outPos] = (byte) ((
        //                                         [76543210]
        //                     [____________________09876543___]
        ((in[11 + inPos] & 2147483647) >>> 3)) & 255);
    out[44 + outPos] = (byte) ((
        //                                         [76543210]
        //                             [____________87654321___________]
        ((in[11 + inPos] & 2147483647) >>> 11)) & 255);
    out[45 + outPos] = (byte) ((
        //                                         [76543210]
        //                                     [____65432109___________________]
        ((in[11 + inPos] & 2147483647) >>> 19)) & 255);
    out[46 + outPos] = (byte) ((
        //                                         [____3210]
        //                                             [0987___________________________]
        ((in[11 + inPos] & 2147483647) >>> 27)
            | //                                         [7654____]
            //              [___________________________3210]
            ((in[12 + inPos] & 2147483647) << 4)) & 255);
    out[47 + outPos] = (byte) ((
        //                                         [76543210]
        //                      [___________________10987654____]
        ((in[12 + inPos] & 2147483647) >>> 4)) & 255);
    out[48 + outPos] = (byte) ((
        //                                         [76543210]
        //                              [___________98765432____________]
        ((in[12 + inPos] & 2147483647) >>> 12)) & 255);
    out[49 + outPos] = (byte) ((
        //                                         [76543210]
        //                                      [___76543210____________________]
        ((in[12 + inPos] & 2147483647) >>> 20)) & 255);
    out[50 + outPos] = (byte) ((
        //                                         [_____210]
        //                                              [098____________________________]
        ((in[12 + inPos] & 2147483647) >>> 28)
            | //                                         [76543___]
            //               [__________________________43210]
            ((in[13 + inPos] & 2147483647) << 3)) & 255);
    out[51 + outPos] = (byte) ((
        //                                         [76543210]
        //                       [__________________21098765_____]
        ((in[13 + inPos] & 2147483647) >>> 5)) & 255);
    out[52 + outPos] = (byte) ((
        //                                         [76543210]
        //                               [__________09876543_____________]
        ((in[13 + inPos] & 2147483647) >>> 13)) & 255);
    out[53 + outPos] = (byte) ((
        //                                         [76543210]
        //                                       [__87654321_____________________]
        ((in[13 + inPos] & 2147483647) >>> 21)) & 255);
    out[54 + outPos] = (byte) ((
        //                                         [______10]
        //                                               [09_____________________________]
        ((in[13 + inPos] & 2147483647) >>> 29)
            | //                                         [765432__]
            //                [_________________________543210]
            ((in[14 + inPos] & 2147483647) << 2)) & 255);
    out[55 + outPos] = (byte) ((
        //                                         [76543210]
        //                        [_________________32109876______]
        ((in[14 + inPos] & 2147483647) >>> 6)) & 255);
    out[56 + outPos] = (byte) ((
        //                                         [76543210]
        //                                [_________10987654______________]
        ((in[14 + inPos] & 2147483647) >>> 14)) & 255);
    out[57 + outPos] = (byte) ((
        //                                         [76543210]
        //                                        [_98765432______________________]
        ((in[14 + inPos] & 2147483647) >>> 22)) & 255);
    out[58 + outPos] = (byte) ((
        //                                         [_______0]
        //                                                [0______________________________]
        ((in[14 + inPos] & 2147483647) >>> 30)
            | //                                         [7654321_]
            //                 [________________________6543210]
            ((in[15 + inPos] & 2147483647) << 1)) & 255);
    out[59 + outPos] = (byte) ((
        //                                         [76543210]
        //                         [________________43210987_______]
        ((in[15 + inPos] & 2147483647) >>> 7)) & 255);
    out[60 + outPos] = (byte) ((
        //                                         [76543210]
        //                                 [________21098765_______________]
        ((in[15 + inPos] & 2147483647) >>> 15)) & 255);
    out[61 + outPos] = (byte) ((
        //                                         [76543210]
        //                                         [09876543_______________________]
        ((in[15 + inPos] & 2147483647) >>> 23)) & 255);
    out[62 + outPos] = (byte) ((
        //                                         [76543210]
        //                  [_______________________76543210]
        ((in[16 + inPos] & 2147483647))) & 255);
    out[63 + outPos] = (byte) ((
        //                                         [76543210]
        //                          [_______________54321098________]
        ((in[16 + inPos] & 2147483647) >>> 8)) & 255);
    out[64 + outPos] = (byte) ((
        //                                         [76543210]
        //                                  [_______32109876________________]
        ((in[16 + inPos] & 2147483647) >>> 16)) & 255);
    out[65 + outPos] = (byte) ((
        //                                         [_6543210]
        //                                          [0987654________________________]
        ((in[16 + inPos] & 2147483647) >>> 24)
            | //                                         [7_______]
            //           [______________________________0]
            ((in[17 + inPos] & 2147483647) << 7)) & 255);
    out[66 + outPos] = (byte) ((
        //                                         [76543210]
        //                   [______________________87654321_]
        ((in[17 + inPos] & 2147483647) >>> 1)) & 255);
    out[67 + outPos] = (byte) ((
        //                                         [76543210]
        //                           [______________65432109_________]
        ((in[17 + inPos] & 2147483647) >>> 9)) & 255);
    out[68 + outPos] = (byte) ((
        //                                         [76543210]
        //                                   [______43210987_________________]
        ((in[17 + inPos] & 2147483647) >>> 17)) & 255);
    out[69 + outPos] = (byte) ((
        //                                         [__543210]
        //                                           [098765_________________________]
        ((in[17 + inPos] & 2147483647) >>> 25)
            | //                                         [76______]
            //            [_____________________________10]
            ((in[18 + inPos] & 2147483647) << 6)) & 255);
    out[70 + outPos] = (byte) ((
        //                                         [76543210]
        //                    [_____________________98765432__]
        ((in[18 + inPos] & 2147483647) >>> 2)) & 255);
    out[71 + outPos] = (byte) ((
        //                                         [76543210]
        //                            [_____________76543210__________]
        ((in[18 + inPos] & 2147483647) >>> 10)) & 255);
    out[72 + outPos] = (byte) ((
        //                                         [76543210]
        //                                    [_____54321098__________________]
        ((in[18 + inPos] & 2147483647) >>> 18)) & 255);
    out[73 + outPos] = (byte) ((
        //                                         [___43210]
        //                                            [09876__________________________]
        ((in[18 + inPos] & 2147483647) >>> 26)
            | //                                         [765_____]
            //             [____________________________210]
            ((in[19 + inPos] & 2147483647) << 5)) & 255);
    out[74 + outPos] = (byte) ((
        //                                         [76543210]
        //                     [____________________09876543___]
        ((in[19 + inPos] & 2147483647) >>> 3)) & 255);
    out[75 + outPos] = (byte) ((
        //                                         [76543210]
        //                             [____________87654321___________]
        ((in[19 + inPos] & 2147483647) >>> 11)) & 255);
    out[76 + outPos] = (byte) ((
        //                                         [76543210]
        //                                     [____65432109___________________]
        ((in[19 + inPos] & 2147483647) >>> 19)) & 255);
    out[77 + outPos] = (byte) ((
        //                                         [____3210]
        //                                             [0987___________________________]
        ((in[19 + inPos] & 2147483647) >>> 27)
            | //                                         [7654____]
            //              [___________________________3210]
            ((in[20 + inPos] & 2147483647) << 4)) & 255);
    out[78 + outPos] = (byte) ((
        //                                         [76543210]
        //                      [___________________10987654____]
        ((in[20 + inPos] & 2147483647) >>> 4)) & 255);
    out[79 + outPos] = (byte) ((
        //                                         [76543210]
        //                              [___________98765432____________]
        ((in[20 + inPos] & 2147483647) >>> 12)) & 255);
    out[80 + outPos] = (byte) ((
        //                                         [76543210]
        //                                      [___76543210____________________]
        ((in[20 + inPos] & 2147483647) >>> 20)) & 255);
    out[81 + outPos] = (byte) ((
        //                                         [_____210]
        //                                              [098____________________________]
        ((in[20 + inPos] & 2147483647) >>> 28)
            | //                                         [76543___]
            //               [__________________________43210]
            ((in[21 + inPos] & 2147483647) << 3)) & 255);
    out[82 + outPos] = (byte) ((
        //                                         [76543210]
        //                       [__________________21098765_____]
        ((in[21 + inPos] & 2147483647) >>> 5)) & 255);
    out[83 + outPos] = (byte) ((
        //                                         [76543210]
        //                               [__________09876543_____________]
        ((in[21 + inPos] & 2147483647) >>> 13)) & 255);
    out[84 + outPos] = (byte) ((
        //                                         [76543210]
        //                                       [__87654321_____________________]
        ((in[21 + inPos] & 2147483647) >>> 21)) & 255);
    out[85 + outPos] = (byte) ((
        //                                         [______10]
        //                                               [09_____________________________]
        ((in[21 + inPos] & 2147483647) >>> 29)
            | //                                         [765432__]
            //                [_________________________543210]
            ((in[22 + inPos] & 2147483647) << 2)) & 255);
    out[86 + outPos] = (byte) ((
        //                                         [76543210]
        //                        [_________________32109876______]
        ((in[22 + inPos] & 2147483647) >>> 6)) & 255);
    out[87 + outPos] = (byte) ((
        //                                         [76543210]
        //                                [_________10987654______________]
        ((in[22 + inPos] & 2147483647) >>> 14)) & 255);
    out[88 + outPos] = (byte) ((
        //                                         [76543210]
        //                                        [_98765432______________________]
        ((in[22 + inPos] & 2147483647) >>> 22)) & 255);
    out[89 + outPos] = (byte) ((
        //                                         [_______0]
        //                                                [0______________________________]
        ((in[22 + inPos] & 2147483647) >>> 30)
            | //                                         [7654321_]
            //                 [________________________6543210]
            ((in[23 + inPos] & 2147483647) << 1)) & 255);
    out[90 + outPos] = (byte) ((
        //                                         [76543210]
        //                         [________________43210987_______]
        ((in[23 + inPos] & 2147483647) >>> 7)) & 255);
    out[91 + outPos] = (byte) ((
        //                                         [76543210]
        //                                 [________21098765_______________]
        ((in[23 + inPos] & 2147483647) >>> 15)) & 255);
    out[92 + outPos] = (byte) ((
        //                                         [76543210]
        //                                         [09876543_______________________]
        ((in[23 + inPos] & 2147483647) >>> 23)) & 255);
    out[93 + outPos] = (byte) ((
        //                                         [76543210]
        //                  [_______________________76543210]
        ((in[24 + inPos] & 2147483647))) & 255);
    out[94 + outPos] = (byte) ((
        //                                         [76543210]
        //                          [_______________54321098________]
        ((in[24 + inPos] & 2147483647) >>> 8)) & 255);
    out[95 + outPos] = (byte) ((
        //                                         [76543210]
        //                                  [_______32109876________________]
        ((in[24 + inPos] & 2147483647) >>> 16)) & 255);
    out[96 + outPos] = (byte) ((
        //                                         [_6543210]
        //                                          [0987654________________________]
        ((in[24 + inPos] & 2147483647) >>> 24)
            | //                                         [7_______]
            //           [______________________________0]
            ((in[25 + inPos] & 2147483647) << 7)) & 255);
    out[97 + outPos] = (byte) ((
        //                                         [76543210]
        //                   [______________________87654321_]
        ((in[25 + inPos] & 2147483647) >>> 1)) & 255);
    out[98 + outPos] = (byte) ((
        //                                         [76543210]
        //                           [______________65432109_________]
        ((in[25 + inPos] & 2147483647) >>> 9)) & 255);
    out[99 + outPos] = (byte) ((
        //                                         [76543210]
        //                                   [______43210987_________________]
        ((in[25 + inPos] & 2147483647) >>> 17)) & 255);
    out[100 + outPos] = (byte) ((
        //                                         [__543210]
        //                                           [098765_________________________]
        ((in[25 + inPos] & 2147483647) >>> 25)
            | //                                         [76______]
            //            [_____________________________10]
            ((in[26 + inPos] & 2147483647) << 6)) & 255);
    out[101 + outPos] = (byte) ((
        //                                         [76543210]
        //                    [_____________________98765432__]
        ((in[26 + inPos] & 2147483647) >>> 2)) & 255);
    out[102 + outPos] = (byte) ((
        //                                         [76543210]
        //                            [_____________76543210__________]
        ((in[26 + inPos] & 2147483647) >>> 10)) & 255);
    out[103 + outPos] = (byte) ((
        //                                         [76543210]
        //                                    [_____54321098__________________]
        ((in[26 + inPos] & 2147483647) >>> 18)) & 255);
    out[104 + outPos] = (byte) ((
        //                                         [___43210]
        //                                            [09876__________________________]
        ((in[26 + inPos] & 2147483647) >>> 26)
            | //                                         [765_____]
            //             [____________________________210]
            ((in[27 + inPos] & 2147483647) << 5)) & 255);
    out[105 + outPos] = (byte) ((
        //                                         [76543210]
        //                     [____________________09876543___]
        ((in[27 + inPos] & 2147483647) >>> 3)) & 255);
    out[106 + outPos] = (byte) ((
        //                                         [76543210]
        //                             [____________87654321___________]
        ((in[27 + inPos] & 2147483647) >>> 11)) & 255);
    out[107 + outPos] = (byte) ((
        //                                         [76543210]
        //                                     [____65432109___________________]
        ((in[27 + inPos] & 2147483647) >>> 19)) & 255);
    out[108 + outPos] = (byte) ((
        //                                         [____3210]
        //                                             [0987___________________________]
        ((in[27 + inPos] & 2147483647) >>> 27)
            | //                                         [7654____]
            //              [___________________________3210]
            ((in[28 + inPos] & 2147483647) << 4)) & 255);
    out[109 + outPos] = (byte) ((
        //                                         [76543210]
        //                      [___________________10987654____]
        ((in[28 + inPos] & 2147483647) >>> 4)) & 255);
    out[110 + outPos] = (byte) ((
        //                                         [76543210]
        //                              [___________98765432____________]
        ((in[28 + inPos] & 2147483647) >>> 12)) & 255);
    out[111 + outPos] = (byte) ((
        //                                         [76543210]
        //                                      [___76543210____________________]
        ((in[28 + inPos] & 2147483647) >>> 20)) & 255);
    out[112 + outPos] = (byte) ((
        //                                         [_____210]
        //                                              [098____________________________]
        ((in[28 + inPos] & 2147483647) >>> 28)
            | //                                         [76543___]
            //               [__________________________43210]
            ((in[29 + inPos] & 2147483647) << 3)) & 255);
    out[113 + outPos] = (byte) ((
        //                                         [76543210]
        //                       [__________________21098765_____]
        ((in[29 + inPos] & 2147483647) >>> 5)) & 255);
    out[114 + outPos] = (byte) ((
        //                                         [76543210]
        //                               [__________09876543_____________]
        ((in[29 + inPos] & 2147483647) >>> 13)) & 255);
    out[115 + outPos] = (byte) ((
        //                                         [76543210]
        //                                       [__87654321_____________________]
        ((in[29 + inPos] & 2147483647) >>> 21)) & 255);
    out[116 + outPos] = (byte) ((
        //                                         [______10]
        //                                               [09_____________________________]
        ((in[29 + inPos] & 2147483647) >>> 29)
            | //                                         [765432__]
            //                [_________________________543210]
            ((in[30 + inPos] & 2147483647) << 2)) & 255);
    out[117 + outPos] = (byte) ((
        //                                         [76543210]
        //                        [_________________32109876______]
        ((in[30 + inPos] & 2147483647) >>> 6)) & 255);
    out[118 + outPos] = (byte) ((
        //                                         [76543210]
        //                                [_________10987654______________]
        ((in[30 + inPos] & 2147483647) >>> 14)) & 255);
    out[119 + outPos] = (byte) ((
        //                                         [76543210]
        //                                        [_98765432______________________]
        ((in[30 + inPos] & 2147483647) >>> 22)) & 255);
    out[120 + outPos] = (byte) ((
        //                                         [_______0]
        //                                                [0______________________________]
        ((in[30 + inPos] & 2147483647) >>> 30)
            | //                                         [7654321_]
            //                 [________________________6543210]
            ((in[31 + inPos] & 2147483647) << 1)) & 255);
    out[121 + outPos] = (byte) ((
        //                                         [76543210]
        //                         [________________43210987_______]
        ((in[31 + inPos] & 2147483647) >>> 7)) & 255);
    out[122 + outPos] = (byte) ((
        //                                         [76543210]
        //                                 [________21098765_______________]
        ((in[31 + inPos] & 2147483647) >>> 15)) & 255);
    out[123 + outPos] = (byte) ((
        //                                         [76543210]
        //                                         [09876543_______________________]
        ((in[31 + inPos] & 2147483647) >>> 23)) & 255);
  }

  public final void unpack8Values(final byte[] in, final int inPos, final int[] out, final int outPos) {
    out[0 + outPos] =
        //                                         [76543210]
        //                  [_______________________76543210]
        (((((int) in[0 + inPos]) & 255)) & 2147483647)
            | //                                         [76543210]
            //                          [_______________54321098________]
            (((((int) in[1 + inPos]) & 255) << 8) & 2147483647)
            | //                                         [76543210]
            //                                  [_______32109876________________]
            (((((int) in[2 + inPos]) & 255) << 16) & 2147483647)
            | //                                         [_6543210]
            //                                          [0987654________________________]
            (((((int) in[3 + inPos]) & 255) << 24) & 2147483647);
    out[1 + outPos] =
        //                                         [7_______]
        //           [______________________________0]
        (((((int) in[3 + inPos]) & 255) >>> 7) & 2147483647)
            | //                                         [76543210]
            //                   [______________________87654321_]
            (((((int) in[4 + inPos]) & 255) << 1) & 2147483647)
            | //                                         [76543210]
            //                           [______________65432109_________]
            (((((int) in[5 + inPos]) & 255) << 9) & 2147483647)
            | //                                         [76543210]
            //                                   [______43210987_________________]
            (((((int) in[6 + inPos]) & 255) << 17) & 2147483647)
            | //                                         [__543210]
            //                                           [098765_________________________]
            (((((int) in[7 + inPos]) & 255) << 25) & 2147483647);
    out[2 + outPos] =
        //                                         [76______]
        //            [_____________________________10]
        (((((int) in[7 + inPos]) & 255) >>> 6) & 2147483647)
            | //                                         [76543210]
            //                    [_____________________98765432__]
            (((((int) in[8 + inPos]) & 255) << 2) & 2147483647)
            | //                                         [76543210]
            //                            [_____________76543210__________]
            (((((int) in[9 + inPos]) & 255) << 10) & 2147483647)
            | //                                         [76543210]
            //                                    [_____54321098__________________]
            (((((int) in[10 + inPos]) & 255) << 18) & 2147483647)
            | //                                         [___43210]
            //                                            [09876__________________________]
            (((((int) in[11 + inPos]) & 255) << 26) & 2147483647);
    out[3 + outPos] =
        //                                         [765_____]
        //             [____________________________210]
        (((((int) in[11 + inPos]) & 255) >>> 5) & 2147483647)
            | //                                         [76543210]
            //                     [____________________09876543___]
            (((((int) in[12 + inPos]) & 255) << 3) & 2147483647)
            | //                                         [76543210]
            //                             [____________87654321___________]
            (((((int) in[13 + inPos]) & 255) << 11) & 2147483647)
            | //                                         [76543210]
            //                                     [____65432109___________________]
            (((((int) in[14 + inPos]) & 255) << 19) & 2147483647)
            | //                                         [____3210]
            //                                             [0987___________________________]
            (((((int) in[15 + inPos]) & 255) << 27) & 2147483647);
    out[4 + outPos] =
        //                                         [7654____]
        //              [___________________________3210]
        (((((int) in[15 + inPos]) & 255) >>> 4) & 2147483647)
            | //                                         [76543210]
            //                      [___________________10987654____]
            (((((int) in[16 + inPos]) & 255) << 4) & 2147483647)
            | //                                         [76543210]
            //                              [___________98765432____________]
            (((((int) in[17 + inPos]) & 255) << 12) & 2147483647)
            | //                                         [76543210]
            //                                      [___76543210____________________]
            (((((int) in[18 + inPos]) & 255) << 20) & 2147483647)
            | //                                         [_____210]
            //                                              [098____________________________]
            (((((int) in[19 + inPos]) & 255) << 28) & 2147483647);
    out[5 + outPos] =
        //                                         [76543___]
        //               [__________________________43210]
        (((((int) in[19 + inPos]) & 255) >>> 3) & 2147483647)
            | //                                         [76543210]
            //                       [__________________21098765_____]
            (((((int) in[20 + inPos]) & 255) << 5) & 2147483647)
            | //                                         [76543210]
            //                               [__________09876543_____________]
            (((((int) in[21 + inPos]) & 255) << 13) & 2147483647)
            | //                                         [76543210]
            //                                       [__87654321_____________________]
            (((((int) in[22 + inPos]) & 255) << 21) & 2147483647)
            | //                                         [______10]
            //                                               [09_____________________________]
            (((((int) in[23 + inPos]) & 255) << 29) & 2147483647);
    out[6 + outPos] =
        //                                         [765432__]
        //                [_________________________543210]
        (((((int) in[23 + inPos]) & 255) >>> 2) & 2147483647)
            | //                                         [76543210]
            //                        [_________________32109876______]
            (((((int) in[24 + inPos]) & 255) << 6) & 2147483647)
            | //                                         [76543210]
            //                                [_________10987654______________]
            (((((int) in[25 + inPos]) & 255) << 14) & 2147483647)
            | //                                         [76543210]
            //                                        [_98765432______________________]
            (((((int) in[26 + inPos]) & 255) << 22) & 2147483647)
            | //                                         [_______0]
            //                                                [0______________________________]
            (((((int) in[27 + inPos]) & 255) << 30) & 2147483647);
    out[7 + outPos] =
        //                                         [7654321_]
        //                 [________________________6543210]
        (((((int) in[27 + inPos]) & 255) >>> 1) & 2147483647)
            | //                                         [76543210]
            //                         [________________43210987_______]
            (((((int) in[28 + inPos]) & 255) << 7) & 2147483647)
            | //                                         [76543210]
            //                                 [________21098765_______________]
            (((((int) in[29 + inPos]) & 255) << 15) & 2147483647)
            | //                                         [76543210]
            //                                         [09876543_______________________]
            (((((int) in[30 + inPos]) & 255) << 23) & 2147483647);
  }

  public final void unpack32Values(final byte[] in, final int inPos, final int[] out, final int outPos) {
    out[0 + outPos] =
        //                                         [76543210]
        //                  [_______________________76543210]
        (((((int) in[0 + inPos]) & 255)) & 2147483647)
            | //                                         [76543210]
            //                          [_______________54321098________]
            (((((int) in[1 + inPos]) & 255) << 8) & 2147483647)
            | //                                         [76543210]
            //                                  [_______32109876________________]
            (((((int) in[2 + inPos]) & 255) << 16) & 2147483647)
            | //                                         [_6543210]
            //                                          [0987654________________________]
            (((((int) in[3 + inPos]) & 255) << 24) & 2147483647);
    out[1 + outPos] =
        //                                         [7_______]
        //           [______________________________0]
        (((((int) in[3 + inPos]) & 255) >>> 7) & 2147483647)
            | //                                         [76543210]
            //                   [______________________87654321_]
            (((((int) in[4 + inPos]) & 255) << 1) & 2147483647)
            | //                                         [76543210]
            //                           [______________65432109_________]
            (((((int) in[5 + inPos]) & 255) << 9) & 2147483647)
            | //                                         [76543210]
            //                                   [______43210987_________________]
            (((((int) in[6 + inPos]) & 255) << 17) & 2147483647)
            | //                                         [__543210]
            //                                           [098765_________________________]
            (((((int) in[7 + inPos]) & 255) << 25) & 2147483647);
    out[2 + outPos] =
        //                                         [76______]
        //            [_____________________________10]
        (((((int) in[7 + inPos]) & 255) >>> 6) & 2147483647)
            | //                                         [76543210]
            //                    [_____________________98765432__]
            (((((int) in[8 + inPos]) & 255) << 2) & 2147483647)
            | //                                         [76543210]
            //                            [_____________76543210__________]
            (((((int) in[9 + inPos]) & 255) << 10) & 2147483647)
            | //                                         [76543210]
            //                                    [_____54321098__________________]
            (((((int) in[10 + inPos]) & 255) << 18) & 2147483647)
            | //                                         [___43210]
            //                                            [09876__________________________]
            (((((int) in[11 + inPos]) & 255) << 26) & 2147483647);
    out[3 + outPos] =
        //                                         [765_____]
        //             [____________________________210]
        (((((int) in[11 + inPos]) & 255) >>> 5) & 2147483647)
            | //                                         [76543210]
            //                     [____________________09876543___]
            (((((int) in[12 + inPos]) & 255) << 3) & 2147483647)
            | //                                         [76543210]
            //                             [____________87654321___________]
            (((((int) in[13 + inPos]) & 255) << 11) & 2147483647)
            | //                                         [76543210]
            //                                     [____65432109___________________]
            (((((int) in[14 + inPos]) & 255) << 19) & 2147483647)
            | //                                         [____3210]
            //                                             [0987___________________________]
            (((((int) in[15 + inPos]) & 255) << 27) & 2147483647);
    out[4 + outPos] =
        //                                         [7654____]
        //              [___________________________3210]
        (((((int) in[15 + inPos]) & 255) >>> 4) & 2147483647)
            | //                                         [76543210]
            //                      [___________________10987654____]
            (((((int) in[16 + inPos]) & 255) << 4) & 2147483647)
            | //                                         [76543210]
            //                              [___________98765432____________]
            (((((int) in[17 + inPos]) & 255) << 12) & 2147483647)
            | //                                         [76543210]
            //                                      [___76543210____________________]
            (((((int) in[18 + inPos]) & 255) << 20) & 2147483647)
            | //                                         [_____210]
            //                                              [098____________________________]
            (((((int) in[19 + inPos]) & 255) << 28) & 2147483647);
    out[5 + outPos] =
        //                                         [76543___]
        //               [__________________________43210]
        (((((int) in[19 + inPos]) & 255) >>> 3) & 2147483647)
            | //                                         [76543210]
            //                       [__________________21098765_____]
            (((((int) in[20 + inPos]) & 255) << 5) & 2147483647)
            | //                                         [76543210]
            //                               [__________09876543_____________]
            (((((int) in[21 + inPos]) & 255) << 13) & 2147483647)
            | //                                         [76543210]
            //                                       [__87654321_____________________]
            (((((int) in[22 + inPos]) & 255) << 21) & 2147483647)
            | //                                         [______10]
            //                                               [09_____________________________]
            (((((int) in[23 + inPos]) & 255) << 29) & 2147483647);
    out[6 + outPos] =
        //                                         [765432__]
        //                [_________________________543210]
        (((((int) in[23 + inPos]) & 255) >>> 2) & 2147483647)
            | //                                         [76543210]
            //                        [_________________32109876______]
            (((((int) in[24 + inPos]) & 255) << 6) & 2147483647)
            | //                                         [76543210]
            //                                [_________10987654______________]
            (((((int) in[25 + inPos]) & 255) << 14) & 2147483647)
            | //                                         [76543210]
            //                                        [_98765432______________________]
            (((((int) in[26 + inPos]) & 255) << 22) & 2147483647)
            | //                                         [_______0]
            //                                                [0______________________________]
            (((((int) in[27 + inPos]) & 255) << 30) & 2147483647);
    out[7 + outPos] =
        //                                         [7654321_]
        //                 [________________________6543210]
        (((((int) in[27 + inPos]) & 255) >>> 1) & 2147483647)
            | //                                         [76543210]
            //                         [________________43210987_______]
            (((((int) in[28 + inPos]) & 255) << 7) & 2147483647)
            | //                                         [76543210]
            //                                 [________21098765_______________]
            (((((int) in[29 + inPos]) & 255) << 15) & 2147483647)
            | //                                         [76543210]
            //                                         [09876543_______________________]
            (((((int) in[30 + inPos]) & 255) << 23) & 2147483647);
    out[8 + outPos] =
        //                                         [76543210]
        //                  [_______________________76543210]
        (((((int) in[31 + inPos]) & 255)) & 2147483647)
            | //                                         [76543210]
            //                          [_______________54321098________]
            (((((int) in[32 + inPos]) & 255) << 8) & 2147483647)
            | //                                         [76543210]
            //                                  [_______32109876________________]
            (((((int) in[33 + inPos]) & 255) << 16) & 2147483647)
            | //                                         [_6543210]
            //                                          [0987654________________________]
            (((((int) in[34 + inPos]) & 255) << 24) & 2147483647);
    out[9 + outPos] =
        //                                         [7_______]
        //           [______________________________0]
        (((((int) in[34 + inPos]) & 255) >>> 7) & 2147483647)
            | //                                         [76543210]
            //                   [______________________87654321_]
            (((((int) in[35 + inPos]) & 255) << 1) & 2147483647)
            | //                                         [76543210]
            //                           [______________65432109_________]
            (((((int) in[36 + inPos]) & 255) << 9) & 2147483647)
            | //                                         [76543210]
            //                                   [______43210987_________________]
            (((((int) in[37 + inPos]) & 255) << 17) & 2147483647)
            | //                                         [__543210]
            //                                           [098765_________________________]
            (((((int) in[38 + inPos]) & 255) << 25) & 2147483647);
    out[10 + outPos] =
        //                                         [76______]
        //            [_____________________________10]
        (((((int) in[38 + inPos]) & 255) >>> 6) & 2147483647)
            | //                                         [76543210]
            //                    [_____________________98765432__]
            (((((int) in[39 + inPos]) & 255) << 2) & 2147483647)
            | //                                         [76543210]
            //                            [_____________76543210__________]
            (((((int) in[40 + inPos]) & 255) << 10) & 2147483647)
            | //                                         [76543210]
            //                                    [_____54321098__________________]
            (((((int) in[41 + inPos]) & 255) << 18) & 2147483647)
            | //                                         [___43210]
            //                                            [09876__________________________]
            (((((int) in[42 + inPos]) & 255) << 26) & 2147483647);
    out[11 + outPos] =
        //                                         [765_____]
        //             [____________________________210]
        (((((int) in[42 + inPos]) & 255) >>> 5) & 2147483647)
            | //                                         [76543210]
            //                     [____________________09876543___]
            (((((int) in[43 + inPos]) & 255) << 3) & 2147483647)
            | //                                         [76543210]
            //                             [____________87654321___________]
            (((((int) in[44 + inPos]) & 255) << 11) & 2147483647)
            | //                                         [76543210]
            //                                     [____65432109___________________]
            (((((int) in[45 + inPos]) & 255) << 19) & 2147483647)
            | //                                         [____3210]
            //                                             [0987___________________________]
            (((((int) in[46 + inPos]) & 255) << 27) & 2147483647);
    out[12 + outPos] =
        //                                         [7654____]
        //              [___________________________3210]
        (((((int) in[46 + inPos]) & 255) >>> 4) & 2147483647)
            | //                                         [76543210]
            //                      [___________________10987654____]
            (((((int) in[47 + inPos]) & 255) << 4) & 2147483647)
            | //                                         [76543210]
            //                              [___________98765432____________]
            (((((int) in[48 + inPos]) & 255) << 12) & 2147483647)
            | //                                         [76543210]
            //                                      [___76543210____________________]
            (((((int) in[49 + inPos]) & 255) << 20) & 2147483647)
            | //                                         [_____210]
            //                                              [098____________________________]
            (((((int) in[50 + inPos]) & 255) << 28) & 2147483647);
    out[13 + outPos] =
        //                                         [76543___]
        //               [__________________________43210]
        (((((int) in[50 + inPos]) & 255) >>> 3) & 2147483647)
            | //                                         [76543210]
            //                       [__________________21098765_____]
            (((((int) in[51 + inPos]) & 255) << 5) & 2147483647)
            | //                                         [76543210]
            //                               [__________09876543_____________]
            (((((int) in[52 + inPos]) & 255) << 13) & 2147483647)
            | //                                         [76543210]
            //                                       [__87654321_____________________]
            (((((int) in[53 + inPos]) & 255) << 21) & 2147483647)
            | //                                         [______10]
            //                                               [09_____________________________]
            (((((int) in[54 + inPos]) & 255) << 29) & 2147483647);
    out[14 + outPos] =
        //                                         [765432__]
        //                [_________________________543210]
        (((((int) in[54 + inPos]) & 255) >>> 2) & 2147483647)
            | //                                         [76543210]
            //                        [_________________32109876______]
            (((((int) in[55 + inPos]) & 255) << 6) & 2147483647)
            | //                                         [76543210]
            //                                [_________10987654______________]
            (((((int) in[56 + inPos]) & 255) << 14) & 2147483647)
            | //                                         [76543210]
            //                                        [_98765432______________________]
            (((((int) in[57 + inPos]) & 255) << 22) & 2147483647)
            | //                                         [_______0]
            //                                                [0______________________________]
            (((((int) in[58 + inPos]) & 255) << 30) & 2147483647);
    out[15 + outPos] =
        //                                         [7654321_]
        //                 [________________________6543210]
        (((((int) in[58 + inPos]) & 255) >>> 1) & 2147483647)
            | //                                         [76543210]
            //                         [________________43210987_______]
            (((((int) in[59 + inPos]) & 255) << 7) & 2147483647)
            | //                                         [76543210]
            //                                 [________21098765_______________]
            (((((int) in[60 + inPos]) & 255) << 15) & 2147483647)
            | //                                         [76543210]
            //                                         [09876543_______________________]
            (((((int) in[61 + inPos]) & 255) << 23) & 2147483647);
    out[16 + outPos] =
        //                                         [76543210]
        //                  [_______________________76543210]
        (((((int) in[62 + inPos]) & 255)) & 2147483647)
            | //                                         [76543210]
            //                          [_______________54321098________]
            (((((int) in[63 + inPos]) & 255) << 8) & 2147483647)
            | //                                         [76543210]
            //                                  [_______32109876________________]
            (((((int) in[64 + inPos]) & 255) << 16) & 2147483647)
            | //                                         [_6543210]
            //                                          [0987654________________________]
            (((((int) in[65 + inPos]) & 255) << 24) & 2147483647);
    out[17 + outPos] =
        //                                         [7_______]
        //           [______________________________0]
        (((((int) in[65 + inPos]) & 255) >>> 7) & 2147483647)
            | //                                         [76543210]
            //                   [______________________87654321_]
            (((((int) in[66 + inPos]) & 255) << 1) & 2147483647)
            | //                                         [76543210]
            //                           [______________65432109_________]
            (((((int) in[67 + inPos]) & 255) << 9) & 2147483647)
            | //                                         [76543210]
            //                                   [______43210987_________________]
            (((((int) in[68 + inPos]) & 255) << 17) & 2147483647)
            | //                                         [__543210]
            //                                           [098765_________________________]
            (((((int) in[69 + inPos]) & 255) << 25) & 2147483647);
    out[18 + outPos] =
        //                                         [76______]
        //            [_____________________________10]
        (((((int) in[69 + inPos]) & 255) >>> 6) & 2147483647)
            | //                                         [76543210]
            //                    [_____________________98765432__]
            (((((int) in[70 + inPos]) & 255) << 2) & 2147483647)
            | //                                         [76543210]
            //                            [_____________76543210__________]
            (((((int) in[71 + inPos]) & 255) << 10) & 2147483647)
            | //                                         [76543210]
            //                                    [_____54321098__________________]
            (((((int) in[72 + inPos]) & 255) << 18) & 2147483647)
            | //                                         [___43210]
            //                                            [09876__________________________]
            (((((int) in[73 + inPos]) & 255) << 26) & 2147483647);
    out[19 + outPos] =
        //                                         [765_____]
        //             [____________________________210]
        (((((int) in[73 + inPos]) & 255) >>> 5) & 2147483647)
            | //                                         [76543210]
            //                     [____________________09876543___]
            (((((int) in[74 + inPos]) & 255) << 3) & 2147483647)
            | //                                         [76543210]
            //                             [____________87654321___________]
            (((((int) in[75 + inPos]) & 255) << 11) & 2147483647)
            | //                                         [76543210]
            //                                     [____65432109___________________]
            (((((int) in[76 + inPos]) & 255) << 19) & 2147483647)
            | //                                         [____3210]
            //                                             [0987___________________________]
            (((((int) in[77 + inPos]) & 255) << 27) & 2147483647);
    out[20 + outPos] =
        //                                         [7654____]
        //              [___________________________3210]
        (((((int) in[77 + inPos]) & 255) >>> 4) & 2147483647)
            | //                                         [76543210]
            //                      [___________________10987654____]
            (((((int) in[78 + inPos]) & 255) << 4) & 2147483647)
            | //                                         [76543210]
            //                              [___________98765432____________]
            (((((int) in[79 + inPos]) & 255) << 12) & 2147483647)
            | //                                         [76543210]
            //                                      [___76543210____________________]
            (((((int) in[80 + inPos]) & 255) << 20) & 2147483647)
            | //                                         [_____210]
            //                                              [098____________________________]
            (((((int) in[81 + inPos]) & 255) << 28) & 2147483647);
    out[21 + outPos] =
        //                                         [76543___]
        //               [__________________________43210]
        (((((int) in[81 + inPos]) & 255) >>> 3) & 2147483647)
            | //                                         [76543210]
            //                       [__________________21098765_____]
            (((((int) in[82 + inPos]) & 255) << 5) & 2147483647)
            | //                                         [76543210]
            //                               [__________09876543_____________]
            (((((int) in[83 + inPos]) & 255) << 13) & 2147483647)
            | //                                         [76543210]
            //                                       [__87654321_____________________]
            (((((int) in[84 + inPos]) & 255) << 21) & 2147483647)
            | //                                         [______10]
            //                                               [09_____________________________]
            (((((int) in[85 + inPos]) & 255) << 29) & 2147483647);
    out[22 + outPos] =
        //                                         [765432__]
        //                [_________________________543210]
        (((((int) in[85 + inPos]) & 255) >>> 2) & 2147483647)
            | //                                         [76543210]
            //                        [_________________32109876______]
            (((((int) in[86 + inPos]) & 255) << 6) & 2147483647)
            | //                                         [76543210]
            //                                [_________10987654______________]
            (((((int) in[87 + inPos]) & 255) << 14) & 2147483647)
            | //                                         [76543210]
            //                                        [_98765432______________________]
            (((((int) in[88 + inPos]) & 255) << 22) & 2147483647)
            | //                                         [_______0]
            //                                                [0______________________________]
            (((((int) in[89 + inPos]) & 255) << 30) & 2147483647);
    out[23 + outPos] =
        //                                         [7654321_]
        //                 [________________________6543210]
        (((((int) in[89 + inPos]) & 255) >>> 1) & 2147483647)
            | //                                         [76543210]
            //                         [________________43210987_______]
            (((((int) in[90 + inPos]) & 255) << 7) & 2147483647)
            | //                                         [76543210]
            //                                 [________21098765_______________]
            (((((int) in[91 + inPos]) & 255) << 15) & 2147483647)
            | //                                         [76543210]
            //                                         [09876543_______________________]
            (((((int) in[92 + inPos]) & 255) << 23) & 2147483647);
    out[24 + outPos] =
        //                                         [76543210]
        //                  [_______________________76543210]
        (((((int) in[93 + inPos]) & 255)) & 2147483647)
            | //                                         [76543210]
            //                          [_______________54321098________]
            (((((int) in[94 + inPos]) & 255) << 8) & 2147483647)
            | //                                         [76543210]
            //                                  [_______32109876________________]
            (((((int) in[95 + inPos]) & 255) << 16) & 2147483647)
            | //                                         [_6543210]
            //                                          [0987654________________________]
            (((((int) in[96 + inPos]) & 255) << 24) & 2147483647);
    out[25 + outPos] =
        //                                         [7_______]
        //           [______________________________0]
        (((((int) in[96 + inPos]) & 255) >>> 7) & 2147483647)
            | //                                         [76543210]
            //                   [______________________87654321_]
            (((((int) in[97 + inPos]) & 255) << 1) & 2147483647)
            | //                                         [76543210]
            //                           [______________65432109_________]
            (((((int) in[98 + inPos]) & 255) << 9) & 2147483647)
            | //                                         [76543210]
            //                                   [______43210987_________________]
            (((((int) in[99 + inPos]) & 255) << 17) & 2147483647)
            | //                                         [__543210]
            //                                           [098765_________________________]
            (((((int) in[100 + inPos]) & 255) << 25) & 2147483647);
    out[26 + outPos] =
        //                                         [76______]
        //            [_____________________________10]
        (((((int) in[100 + inPos]) & 255) >>> 6) & 2147483647)
            | //                                         [76543210]
            //                    [_____________________98765432__]
            (((((int) in[101 + inPos]) & 255) << 2) & 2147483647)
            | //                                         [76543210]
            //                            [_____________76543210__________]
            (((((int) in[102 + inPos]) & 255) << 10) & 2147483647)
            | //                                         [76543210]
            //                                    [_____54321098__________________]
            (((((int) in[103 + inPos]) & 255) << 18) & 2147483647)
            | //                                         [___43210]
            //                                            [09876__________________________]
            (((((int) in[104 + inPos]) & 255) << 26) & 2147483647);
    out[27 + outPos] =
        //                                         [765_____]
        //             [____________________________210]
        (((((int) in[104 + inPos]) & 255) >>> 5) & 2147483647)
            | //                                         [76543210]
            //                     [____________________09876543___]
            (((((int) in[105 + inPos]) & 255) << 3) & 2147483647)
            | //                                         [76543210]
            //                             [____________87654321___________]
            (((((int) in[106 + inPos]) & 255) << 11) & 2147483647)
            | //                                         [76543210]
            //                                     [____65432109___________________]
            (((((int) in[107 + inPos]) & 255) << 19) & 2147483647)
            | //                                         [____3210]
            //                                             [0987___________________________]
            (((((int) in[108 + inPos]) & 255) << 27) & 2147483647);
    out[28 + outPos] =
        //                                         [7654____]
        //              [___________________________3210]
        (((((int) in[108 + inPos]) & 255) >>> 4) & 2147483647)
            | //                                         [76543210]
            //                      [___________________10987654____]
            (((((int) in[109 + inPos]) & 255) << 4) & 2147483647)
            | //                                         [76543210]
            //                              [___________98765432____________]
            (((((int) in[110 + inPos]) & 255) << 12) & 2147483647)
            | //                                         [76543210]
            //                                      [___76543210____________________]
            (((((int) in[111 + inPos]) & 255) << 20) & 2147483647)
            | //                                         [_____210]
            //                                              [098____________________________]
            (((((int) in[112 + inPos]) & 255) << 28) & 2147483647);
    out[29 + outPos] =
        //                                         [76543___]
        //               [__________________________43210]
        (((((int) in[112 + inPos]) & 255) >>> 3) & 2147483647)
            | //                                         [76543210]
            //                       [__________________21098765_____]
            (((((int) in[113 + inPos]) & 255) << 5) & 2147483647)
            | //                                         [76543210]
            //                               [__________09876543_____________]
            (((((int) in[114 + inPos]) & 255) << 13) & 2147483647)
            | //                                         [76543210]
            //                                       [__87654321_____________________]
            (((((int) in[115 + inPos]) & 255) << 21) & 2147483647)
            | //                                         [______10]
            //                                               [09_____________________________]
            (((((int) in[116 + inPos]) & 255) << 29) & 2147483647);
    out[30 + outPos] =
        //                                         [765432__]
        //                [_________________________543210]
        (((((int) in[116 + inPos]) & 255) >>> 2) & 2147483647)
            | //                                         [76543210]
            //                        [_________________32109876______]
            (((((int) in[117 + inPos]) & 255) << 6) & 2147483647)
            | //                                         [76543210]
            //                                [_________10987654______________]
            (((((int) in[118 + inPos]) & 255) << 14) & 2147483647)
            | //                                         [76543210]
            //                                        [_98765432______________________]
            (((((int) in[119 + inPos]) & 255) << 22) & 2147483647)
            | //                                         [_______0]
            //                                                [0______________________________]
            (((((int) in[120 + inPos]) & 255) << 30) & 2147483647);
    out[31 + outPos] =
        //                                         [7654321_]
        //                 [________________________6543210]
        (((((int) in[120 + inPos]) & 255) >>> 1) & 2147483647)
            | //                                         [76543210]
            //                         [________________43210987_______]
            (((((int) in[121 + inPos]) & 255) << 7) & 2147483647)
            | //                                         [76543210]
            //                                 [________21098765_______________]
            (((((int) in[122 + inPos]) & 255) << 15) & 2147483647)
            | //                                         [76543210]
            //                                         [09876543_______________________]
            (((((int) in[123 + inPos]) & 255) << 23) & 2147483647);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy