github.com/fraugster/parquet-go@v0.12.0/bitbacking32.go (about)

     1  // Code generated by "bitpacking_gen.go"; DO NOT EDIT.
     2  
     3  package goparquet
     4  
     5  type (
     6  	unpack8int32Func func([]byte) [8]int32
     7  	pack8int32Func   func([8]int32) []byte
     8  )
     9  
    10  var unpack8Int32FuncByWidth = [33]unpack8int32Func{
    11  	unpack8int32_0,
    12  	unpack8int32_1,
    13  	unpack8int32_2,
    14  	unpack8int32_3,
    15  	unpack8int32_4,
    16  	unpack8int32_5,
    17  	unpack8int32_6,
    18  	unpack8int32_7,
    19  	unpack8int32_8,
    20  	unpack8int32_9,
    21  	unpack8int32_10,
    22  	unpack8int32_11,
    23  	unpack8int32_12,
    24  	unpack8int32_13,
    25  	unpack8int32_14,
    26  	unpack8int32_15,
    27  	unpack8int32_16,
    28  	unpack8int32_17,
    29  	unpack8int32_18,
    30  	unpack8int32_19,
    31  	unpack8int32_20,
    32  	unpack8int32_21,
    33  	unpack8int32_22,
    34  	unpack8int32_23,
    35  	unpack8int32_24,
    36  	unpack8int32_25,
    37  	unpack8int32_26,
    38  	unpack8int32_27,
    39  	unpack8int32_28,
    40  	unpack8int32_29,
    41  	unpack8int32_30,
    42  	unpack8int32_31,
    43  	unpack8int32_32,
    44  }
    45  var pack8Int32FuncByWidth = [33]pack8int32Func{
    46  	pack8int32_0,
    47  	pack8int32_1,
    48  	pack8int32_2,
    49  	pack8int32_3,
    50  	pack8int32_4,
    51  	pack8int32_5,
    52  	pack8int32_6,
    53  	pack8int32_7,
    54  	pack8int32_8,
    55  	pack8int32_9,
    56  	pack8int32_10,
    57  	pack8int32_11,
    58  	pack8int32_12,
    59  	pack8int32_13,
    60  	pack8int32_14,
    61  	pack8int32_15,
    62  	pack8int32_16,
    63  	pack8int32_17,
    64  	pack8int32_18,
    65  	pack8int32_19,
    66  	pack8int32_20,
    67  	pack8int32_21,
    68  	pack8int32_22,
    69  	pack8int32_23,
    70  	pack8int32_24,
    71  	pack8int32_25,
    72  	pack8int32_26,
    73  	pack8int32_27,
    74  	pack8int32_28,
    75  	pack8int32_29,
    76  	pack8int32_30,
    77  	pack8int32_31,
    78  	pack8int32_32,
    79  }
    80  
    81  func unpack8int32_0(_ []byte) (a [8]int32) {
    82  	return a
    83  }
    84  
    85  func pack8int32_0(_ [8]int32) []byte {
    86  	return []byte{}
    87  }
    88  
    89  func unpack8int32_1(data []byte) (a [8]int32) {
    90  	_ = data[0]
    91  	a[0] = int32(uint32((data[0]>>0)&1) << 0)
    92  	a[1] = int32(uint32((data[0]>>1)&1) << 0)
    93  	a[2] = int32(uint32((data[0]>>2)&1) << 0)
    94  	a[3] = int32(uint32((data[0]>>3)&1) << 0)
    95  	a[4] = int32(uint32((data[0]>>4)&1) << 0)
    96  	a[5] = int32(uint32((data[0]>>5)&1) << 0)
    97  	a[6] = int32(uint32((data[0]>>6)&1) << 0)
    98  	a[7] = int32(uint32((data[0]>>7)&1) << 0)
    99  	return
   100  }
   101  
   102  func pack8int32_1(data [8]int32) []byte {
   103  	return []byte{
   104  		byte(uint32(data[0])<<0 | uint32(data[1])<<1 | uint32(data[2])<<2 | uint32(data[3])<<3 | uint32(data[4])<<4 | uint32(data[5])<<5 | uint32(data[6])<<6 | uint32(data[7])<<7),
   105  	}
   106  }
   107  
   108  func unpack8int32_2(data []byte) (a [8]int32) {
   109  	_ = data[1]
   110  	a[0] = int32(uint32((data[0]>>0)&3) << 0)
   111  	a[1] = int32(uint32((data[0]>>2)&3) << 0)
   112  	a[2] = int32(uint32((data[0]>>4)&3) << 0)
   113  	a[3] = int32(uint32((data[0]>>6)&3) << 0)
   114  	a[4] = int32(uint32((data[1]>>0)&3) << 0)
   115  	a[5] = int32(uint32((data[1]>>2)&3) << 0)
   116  	a[6] = int32(uint32((data[1]>>4)&3) << 0)
   117  	a[7] = int32(uint32((data[1]>>6)&3) << 0)
   118  	return
   119  }
   120  
   121  func pack8int32_2(data [8]int32) []byte {
   122  	return []byte{
   123  		byte(uint32(data[0])<<0 | uint32(data[1])<<2 | uint32(data[2])<<4 | uint32(data[3])<<6),
   124  		byte(uint32(data[4])<<0 | uint32(data[5])<<2 | uint32(data[6])<<4 | uint32(data[7])<<6),
   125  	}
   126  }
   127  
   128  func unpack8int32_3(data []byte) (a [8]int32) {
   129  	_ = data[2]
   130  	a[0] = int32(uint32((data[0]>>0)&7) << 0)
   131  	a[1] = int32(uint32((data[0]>>3)&7) << 0)
   132  	a[2] = int32(uint32((data[0]>>6)&3)<<0 | uint32((data[1]>>0)&1)<<2)
   133  	a[3] = int32(uint32((data[1]>>1)&7) << 0)
   134  	a[4] = int32(uint32((data[1]>>4)&7) << 0)
   135  	a[5] = int32(uint32((data[1]>>7)&1)<<0 | uint32((data[2]>>0)&3)<<1)
   136  	a[6] = int32(uint32((data[2]>>2)&7) << 0)
   137  	a[7] = int32(uint32((data[2]>>5)&7) << 0)
   138  	return
   139  }
   140  
   141  func pack8int32_3(data [8]int32) []byte {
   142  	return []byte{
   143  		byte(uint32(data[0])<<0 | uint32(data[1])<<3 | uint32(data[2])<<6),
   144  		byte(uint32(data[2])>>2 | uint32(data[3])<<1 | uint32(data[4])<<4 | uint32(data[5])<<7),
   145  		byte(uint32(data[5])>>1 | uint32(data[6])<<2 | uint32(data[7])<<5),
   146  	}
   147  }
   148  
   149  func unpack8int32_4(data []byte) (a [8]int32) {
   150  	_ = data[3]
   151  	a[0] = int32(uint32((data[0]>>0)&15) << 0)
   152  	a[1] = int32(uint32((data[0]>>4)&15) << 0)
   153  	a[2] = int32(uint32((data[1]>>0)&15) << 0)
   154  	a[3] = int32(uint32((data[1]>>4)&15) << 0)
   155  	a[4] = int32(uint32((data[2]>>0)&15) << 0)
   156  	a[5] = int32(uint32((data[2]>>4)&15) << 0)
   157  	a[6] = int32(uint32((data[3]>>0)&15) << 0)
   158  	a[7] = int32(uint32((data[3]>>4)&15) << 0)
   159  	return
   160  }
   161  
   162  func pack8int32_4(data [8]int32) []byte {
   163  	return []byte{
   164  		byte(uint32(data[0])<<0 | uint32(data[1])<<4),
   165  		byte(uint32(data[2])<<0 | uint32(data[3])<<4),
   166  		byte(uint32(data[4])<<0 | uint32(data[5])<<4),
   167  		byte(uint32(data[6])<<0 | uint32(data[7])<<4),
   168  	}
   169  }
   170  
   171  func unpack8int32_5(data []byte) (a [8]int32) {
   172  	_ = data[4]
   173  	a[0] = int32(uint32((data[0]>>0)&31) << 0)
   174  	a[1] = int32(uint32((data[0]>>5)&7)<<0 | uint32((data[1]>>0)&3)<<3)
   175  	a[2] = int32(uint32((data[1]>>2)&31) << 0)
   176  	a[3] = int32(uint32((data[1]>>7)&1)<<0 | uint32((data[2]>>0)&15)<<1)
   177  	a[4] = int32(uint32((data[2]>>4)&15)<<0 | uint32((data[3]>>0)&1)<<4)
   178  	a[5] = int32(uint32((data[3]>>1)&31) << 0)
   179  	a[6] = int32(uint32((data[3]>>6)&3)<<0 | uint32((data[4]>>0)&7)<<2)
   180  	a[7] = int32(uint32((data[4]>>3)&31) << 0)
   181  	return
   182  }
   183  
   184  func pack8int32_5(data [8]int32) []byte {
   185  	return []byte{
   186  		byte(uint32(data[0])<<0 | uint32(data[1])<<5),
   187  		byte(uint32(data[1])>>3 | uint32(data[2])<<2 | uint32(data[3])<<7),
   188  		byte(uint32(data[3])>>1 | uint32(data[4])<<4),
   189  		byte(uint32(data[4])>>4 | uint32(data[5])<<1 | uint32(data[6])<<6),
   190  		byte(uint32(data[6])>>2 | uint32(data[7])<<3),
   191  	}
   192  }
   193  
   194  func unpack8int32_6(data []byte) (a [8]int32) {
   195  	_ = data[5]
   196  	a[0] = int32(uint32((data[0]>>0)&63) << 0)
   197  	a[1] = int32(uint32((data[0]>>6)&3)<<0 | uint32((data[1]>>0)&15)<<2)
   198  	a[2] = int32(uint32((data[1]>>4)&15)<<0 | uint32((data[2]>>0)&3)<<4)
   199  	a[3] = int32(uint32((data[2]>>2)&63) << 0)
   200  	a[4] = int32(uint32((data[3]>>0)&63) << 0)
   201  	a[5] = int32(uint32((data[3]>>6)&3)<<0 | uint32((data[4]>>0)&15)<<2)
   202  	a[6] = int32(uint32((data[4]>>4)&15)<<0 | uint32((data[5]>>0)&3)<<4)
   203  	a[7] = int32(uint32((data[5]>>2)&63) << 0)
   204  	return
   205  }
   206  
   207  func pack8int32_6(data [8]int32) []byte {
   208  	return []byte{
   209  		byte(uint32(data[0])<<0 | uint32(data[1])<<6),
   210  		byte(uint32(data[1])>>2 | uint32(data[2])<<4),
   211  		byte(uint32(data[2])>>4 | uint32(data[3])<<2),
   212  		byte(uint32(data[4])<<0 | uint32(data[5])<<6),
   213  		byte(uint32(data[5])>>2 | uint32(data[6])<<4),
   214  		byte(uint32(data[6])>>4 | uint32(data[7])<<2),
   215  	}
   216  }
   217  
   218  func unpack8int32_7(data []byte) (a [8]int32) {
   219  	_ = data[6]
   220  	a[0] = int32(uint32((data[0]>>0)&127) << 0)
   221  	a[1] = int32(uint32((data[0]>>7)&1)<<0 | uint32((data[1]>>0)&63)<<1)
   222  	a[2] = int32(uint32((data[1]>>6)&3)<<0 | uint32((data[2]>>0)&31)<<2)
   223  	a[3] = int32(uint32((data[2]>>5)&7)<<0 | uint32((data[3]>>0)&15)<<3)
   224  	a[4] = int32(uint32((data[3]>>4)&15)<<0 | uint32((data[4]>>0)&7)<<4)
   225  	a[5] = int32(uint32((data[4]>>3)&31)<<0 | uint32((data[5]>>0)&3)<<5)
   226  	a[6] = int32(uint32((data[5]>>2)&63)<<0 | uint32((data[6]>>0)&1)<<6)
   227  	a[7] = int32(uint32((data[6]>>1)&127) << 0)
   228  	return
   229  }
   230  
   231  func pack8int32_7(data [8]int32) []byte {
   232  	return []byte{
   233  		byte(uint32(data[0])<<0 | uint32(data[1])<<7),
   234  		byte(uint32(data[1])>>1 | uint32(data[2])<<6),
   235  		byte(uint32(data[2])>>2 | uint32(data[3])<<5),
   236  		byte(uint32(data[3])>>3 | uint32(data[4])<<4),
   237  		byte(uint32(data[4])>>4 | uint32(data[5])<<3),
   238  		byte(uint32(data[5])>>5 | uint32(data[6])<<2),
   239  		byte(uint32(data[6])>>6 | uint32(data[7])<<1),
   240  	}
   241  }
   242  
   243  func unpack8int32_8(data []byte) (a [8]int32) {
   244  	_ = data[7]
   245  	a[0] = int32(uint32((data[0]>>0)&255) << 0)
   246  	a[1] = int32(uint32((data[1]>>0)&255) << 0)
   247  	a[2] = int32(uint32((data[2]>>0)&255) << 0)
   248  	a[3] = int32(uint32((data[3]>>0)&255) << 0)
   249  	a[4] = int32(uint32((data[4]>>0)&255) << 0)
   250  	a[5] = int32(uint32((data[5]>>0)&255) << 0)
   251  	a[6] = int32(uint32((data[6]>>0)&255) << 0)
   252  	a[7] = int32(uint32((data[7]>>0)&255) << 0)
   253  	return
   254  }
   255  
   256  func pack8int32_8(data [8]int32) []byte {
   257  	return []byte{
   258  		byte(uint32(data[0]) << 0),
   259  		byte(uint32(data[1]) << 0),
   260  		byte(uint32(data[2]) << 0),
   261  		byte(uint32(data[3]) << 0),
   262  		byte(uint32(data[4]) << 0),
   263  		byte(uint32(data[5]) << 0),
   264  		byte(uint32(data[6]) << 0),
   265  		byte(uint32(data[7]) << 0),
   266  	}
   267  }
   268  
   269  func unpack8int32_9(data []byte) (a [8]int32) {
   270  	_ = data[8]
   271  	a[0] = int32(uint32((data[0]>>0)&255)<<0 | uint32((data[1]>>0)&1)<<8)
   272  	a[1] = int32(uint32((data[1]>>1)&127)<<0 | uint32((data[2]>>0)&3)<<7)
   273  	a[2] = int32(uint32((data[2]>>2)&63)<<0 | uint32((data[3]>>0)&7)<<6)
   274  	a[3] = int32(uint32((data[3]>>3)&31)<<0 | uint32((data[4]>>0)&15)<<5)
   275  	a[4] = int32(uint32((data[4]>>4)&15)<<0 | uint32((data[5]>>0)&31)<<4)
   276  	a[5] = int32(uint32((data[5]>>5)&7)<<0 | uint32((data[6]>>0)&63)<<3)
   277  	a[6] = int32(uint32((data[6]>>6)&3)<<0 | uint32((data[7]>>0)&127)<<2)
   278  	a[7] = int32(uint32((data[7]>>7)&1)<<0 | uint32((data[8]>>0)&255)<<1)
   279  	return
   280  }
   281  
   282  func pack8int32_9(data [8]int32) []byte {
   283  	return []byte{
   284  		byte(uint32(data[0]) << 0),
   285  		byte(uint32(data[0])>>8 | uint32(data[1])<<1),
   286  		byte(uint32(data[1])>>7 | uint32(data[2])<<2),
   287  		byte(uint32(data[2])>>6 | uint32(data[3])<<3),
   288  		byte(uint32(data[3])>>5 | uint32(data[4])<<4),
   289  		byte(uint32(data[4])>>4 | uint32(data[5])<<5),
   290  		byte(uint32(data[5])>>3 | uint32(data[6])<<6),
   291  		byte(uint32(data[6])>>2 | uint32(data[7])<<7),
   292  		byte(uint32(data[7]) >> 1),
   293  	}
   294  }
   295  
   296  func unpack8int32_10(data []byte) (a [8]int32) {
   297  	_ = data[9]
   298  	a[0] = int32(uint32((data[0]>>0)&255)<<0 | uint32((data[1]>>0)&3)<<8)
   299  	a[1] = int32(uint32((data[1]>>2)&63)<<0 | uint32((data[2]>>0)&15)<<6)
   300  	a[2] = int32(uint32((data[2]>>4)&15)<<0 | uint32((data[3]>>0)&63)<<4)
   301  	a[3] = int32(uint32((data[3]>>6)&3)<<0 | uint32((data[4]>>0)&255)<<2)
   302  	a[4] = int32(uint32((data[5]>>0)&255)<<0 | uint32((data[6]>>0)&3)<<8)
   303  	a[5] = int32(uint32((data[6]>>2)&63)<<0 | uint32((data[7]>>0)&15)<<6)
   304  	a[6] = int32(uint32((data[7]>>4)&15)<<0 | uint32((data[8]>>0)&63)<<4)
   305  	a[7] = int32(uint32((data[8]>>6)&3)<<0 | uint32((data[9]>>0)&255)<<2)
   306  	return
   307  }
   308  
   309  func pack8int32_10(data [8]int32) []byte {
   310  	return []byte{
   311  		byte(uint32(data[0]) << 0),
   312  		byte(uint32(data[0])>>8 | uint32(data[1])<<2),
   313  		byte(uint32(data[1])>>6 | uint32(data[2])<<4),
   314  		byte(uint32(data[2])>>4 | uint32(data[3])<<6),
   315  		byte(uint32(data[3]) >> 2),
   316  		byte(uint32(data[4]) << 0),
   317  		byte(uint32(data[4])>>8 | uint32(data[5])<<2),
   318  		byte(uint32(data[5])>>6 | uint32(data[6])<<4),
   319  		byte(uint32(data[6])>>4 | uint32(data[7])<<6),
   320  		byte(uint32(data[7]) >> 2),
   321  	}
   322  }
   323  
   324  func unpack8int32_11(data []byte) (a [8]int32) {
   325  	_ = data[10]
   326  	a[0] = int32(uint32((data[0]>>0)&255)<<0 | uint32((data[1]>>0)&7)<<8)
   327  	a[1] = int32(uint32((data[1]>>3)&31)<<0 | uint32((data[2]>>0)&63)<<5)
   328  	a[2] = int32(uint32((data[2]>>6)&3)<<0 | uint32((data[3]>>0)&255)<<2 | uint32((data[4]>>0)&1)<<10)
   329  	a[3] = int32(uint32((data[4]>>1)&127)<<0 | uint32((data[5]>>0)&15)<<7)
   330  	a[4] = int32(uint32((data[5]>>4)&15)<<0 | uint32((data[6]>>0)&127)<<4)
   331  	a[5] = int32(uint32((data[6]>>7)&1)<<0 | uint32((data[7]>>0)&255)<<1 | uint32((data[8]>>0)&3)<<9)
   332  	a[6] = int32(uint32((data[8]>>2)&63)<<0 | uint32((data[9]>>0)&31)<<6)
   333  	a[7] = int32(uint32((data[9]>>5)&7)<<0 | uint32((data[10]>>0)&255)<<3)
   334  	return
   335  }
   336  
   337  func pack8int32_11(data [8]int32) []byte {
   338  	return []byte{
   339  		byte(uint32(data[0]) << 0),
   340  		byte(uint32(data[0])>>8 | uint32(data[1])<<3),
   341  		byte(uint32(data[1])>>5 | uint32(data[2])<<6),
   342  		byte(uint32(data[2]) >> 2),
   343  		byte(uint32(data[2])>>10 | uint32(data[3])<<1),
   344  		byte(uint32(data[3])>>7 | uint32(data[4])<<4),
   345  		byte(uint32(data[4])>>4 | uint32(data[5])<<7),
   346  		byte(uint32(data[5]) >> 1),
   347  		byte(uint32(data[5])>>9 | uint32(data[6])<<2),
   348  		byte(uint32(data[6])>>6 | uint32(data[7])<<5),
   349  		byte(uint32(data[7]) >> 3),
   350  	}
   351  }
   352  
   353  func unpack8int32_12(data []byte) (a [8]int32) {
   354  	_ = data[11]
   355  	a[0] = int32(uint32((data[0]>>0)&255)<<0 | uint32((data[1]>>0)&15)<<8)
   356  	a[1] = int32(uint32((data[1]>>4)&15)<<0 | uint32((data[2]>>0)&255)<<4)
   357  	a[2] = int32(uint32((data[3]>>0)&255)<<0 | uint32((data[4]>>0)&15)<<8)
   358  	a[3] = int32(uint32((data[4]>>4)&15)<<0 | uint32((data[5]>>0)&255)<<4)
   359  	a[4] = int32(uint32((data[6]>>0)&255)<<0 | uint32((data[7]>>0)&15)<<8)
   360  	a[5] = int32(uint32((data[7]>>4)&15)<<0 | uint32((data[8]>>0)&255)<<4)
   361  	a[6] = int32(uint32((data[9]>>0)&255)<<0 | uint32((data[10]>>0)&15)<<8)
   362  	a[7] = int32(uint32((data[10]>>4)&15)<<0 | uint32((data[11]>>0)&255)<<4)
   363  	return
   364  }
   365  
   366  func pack8int32_12(data [8]int32) []byte {
   367  	return []byte{
   368  		byte(uint32(data[0]) << 0),
   369  		byte(uint32(data[0])>>8 | uint32(data[1])<<4),
   370  		byte(uint32(data[1]) >> 4),
   371  		byte(uint32(data[2]) << 0),
   372  		byte(uint32(data[2])>>8 | uint32(data[3])<<4),
   373  		byte(uint32(data[3]) >> 4),
   374  		byte(uint32(data[4]) << 0),
   375  		byte(uint32(data[4])>>8 | uint32(data[5])<<4),
   376  		byte(uint32(data[5]) >> 4),
   377  		byte(uint32(data[6]) << 0),
   378  		byte(uint32(data[6])>>8 | uint32(data[7])<<4),
   379  		byte(uint32(data[7]) >> 4),
   380  	}
   381  }
   382  
   383  func unpack8int32_13(data []byte) (a [8]int32) {
   384  	_ = data[12]
   385  	a[0] = int32(uint32((data[0]>>0)&255)<<0 | uint32((data[1]>>0)&31)<<8)
   386  	a[1] = int32(uint32((data[1]>>5)&7)<<0 | uint32((data[2]>>0)&255)<<3 | uint32((data[3]>>0)&3)<<11)
   387  	a[2] = int32(uint32((data[3]>>2)&63)<<0 | uint32((data[4]>>0)&127)<<6)
   388  	a[3] = int32(uint32((data[4]>>7)&1)<<0 | uint32((data[5]>>0)&255)<<1 | uint32((data[6]>>0)&15)<<9)
   389  	a[4] = int32(uint32((data[6]>>4)&15)<<0 | uint32((data[7]>>0)&255)<<4 | uint32((data[8]>>0)&1)<<12)
   390  	a[5] = int32(uint32((data[8]>>1)&127)<<0 | uint32((data[9]>>0)&63)<<7)
   391  	a[6] = int32(uint32((data[9]>>6)&3)<<0 | uint32((data[10]>>0)&255)<<2 | uint32((data[11]>>0)&7)<<10)
   392  	a[7] = int32(uint32((data[11]>>3)&31)<<0 | uint32((data[12]>>0)&255)<<5)
   393  	return
   394  }
   395  
   396  func pack8int32_13(data [8]int32) []byte {
   397  	return []byte{
   398  		byte(uint32(data[0]) << 0),
   399  		byte(uint32(data[0])>>8 | uint32(data[1])<<5),
   400  		byte(uint32(data[1]) >> 3),
   401  		byte(uint32(data[1])>>11 | uint32(data[2])<<2),
   402  		byte(uint32(data[2])>>6 | uint32(data[3])<<7),
   403  		byte(uint32(data[3]) >> 1),
   404  		byte(uint32(data[3])>>9 | uint32(data[4])<<4),
   405  		byte(uint32(data[4]) >> 4),
   406  		byte(uint32(data[4])>>12 | uint32(data[5])<<1),
   407  		byte(uint32(data[5])>>7 | uint32(data[6])<<6),
   408  		byte(uint32(data[6]) >> 2),
   409  		byte(uint32(data[6])>>10 | uint32(data[7])<<3),
   410  		byte(uint32(data[7]) >> 5),
   411  	}
   412  }
   413  
   414  func unpack8int32_14(data []byte) (a [8]int32) {
   415  	_ = data[13]
   416  	a[0] = int32(uint32((data[0]>>0)&255)<<0 | uint32((data[1]>>0)&63)<<8)
   417  	a[1] = int32(uint32((data[1]>>6)&3)<<0 | uint32((data[2]>>0)&255)<<2 | uint32((data[3]>>0)&15)<<10)
   418  	a[2] = int32(uint32((data[3]>>4)&15)<<0 | uint32((data[4]>>0)&255)<<4 | uint32((data[5]>>0)&3)<<12)
   419  	a[3] = int32(uint32((data[5]>>2)&63)<<0 | uint32((data[6]>>0)&255)<<6)
   420  	a[4] = int32(uint32((data[7]>>0)&255)<<0 | uint32((data[8]>>0)&63)<<8)
   421  	a[5] = int32(uint32((data[8]>>6)&3)<<0 | uint32((data[9]>>0)&255)<<2 | uint32((data[10]>>0)&15)<<10)
   422  	a[6] = int32(uint32((data[10]>>4)&15)<<0 | uint32((data[11]>>0)&255)<<4 | uint32((data[12]>>0)&3)<<12)
   423  	a[7] = int32(uint32((data[12]>>2)&63)<<0 | uint32((data[13]>>0)&255)<<6)
   424  	return
   425  }
   426  
   427  func pack8int32_14(data [8]int32) []byte {
   428  	return []byte{
   429  		byte(uint32(data[0]) << 0),
   430  		byte(uint32(data[0])>>8 | uint32(data[1])<<6),
   431  		byte(uint32(data[1]) >> 2),
   432  		byte(uint32(data[1])>>10 | uint32(data[2])<<4),
   433  		byte(uint32(data[2]) >> 4),
   434  		byte(uint32(data[2])>>12 | uint32(data[3])<<2),
   435  		byte(uint32(data[3]) >> 6),
   436  		byte(uint32(data[4]) << 0),
   437  		byte(uint32(data[4])>>8 | uint32(data[5])<<6),
   438  		byte(uint32(data[5]) >> 2),
   439  		byte(uint32(data[5])>>10 | uint32(data[6])<<4),
   440  		byte(uint32(data[6]) >> 4),
   441  		byte(uint32(data[6])>>12 | uint32(data[7])<<2),
   442  		byte(uint32(data[7]) >> 6),
   443  	}
   444  }
   445  
   446  func unpack8int32_15(data []byte) (a [8]int32) {
   447  	_ = data[14]
   448  	a[0] = int32(uint32((data[0]>>0)&255)<<0 | uint32((data[1]>>0)&127)<<8)
   449  	a[1] = int32(uint32((data[1]>>7)&1)<<0 | uint32((data[2]>>0)&255)<<1 | uint32((data[3]>>0)&63)<<9)
   450  	a[2] = int32(uint32((data[3]>>6)&3)<<0 | uint32((data[4]>>0)&255)<<2 | uint32((data[5]>>0)&31)<<10)
   451  	a[3] = int32(uint32((data[5]>>5)&7)<<0 | uint32((data[6]>>0)&255)<<3 | uint32((data[7]>>0)&15)<<11)
   452  	a[4] = int32(uint32((data[7]>>4)&15)<<0 | uint32((data[8]>>0)&255)<<4 | uint32((data[9]>>0)&7)<<12)
   453  	a[5] = int32(uint32((data[9]>>3)&31)<<0 | uint32((data[10]>>0)&255)<<5 | uint32((data[11]>>0)&3)<<13)
   454  	a[6] = int32(uint32((data[11]>>2)&63)<<0 | uint32((data[12]>>0)&255)<<6 | uint32((data[13]>>0)&1)<<14)
   455  	a[7] = int32(uint32((data[13]>>1)&127)<<0 | uint32((data[14]>>0)&255)<<7)
   456  	return
   457  }
   458  
   459  func pack8int32_15(data [8]int32) []byte {
   460  	return []byte{
   461  		byte(uint32(data[0]) << 0),
   462  		byte(uint32(data[0])>>8 | uint32(data[1])<<7),
   463  		byte(uint32(data[1]) >> 1),
   464  		byte(uint32(data[1])>>9 | uint32(data[2])<<6),
   465  		byte(uint32(data[2]) >> 2),
   466  		byte(uint32(data[2])>>10 | uint32(data[3])<<5),
   467  		byte(uint32(data[3]) >> 3),
   468  		byte(uint32(data[3])>>11 | uint32(data[4])<<4),
   469  		byte(uint32(data[4]) >> 4),
   470  		byte(uint32(data[4])>>12 | uint32(data[5])<<3),
   471  		byte(uint32(data[5]) >> 5),
   472  		byte(uint32(data[5])>>13 | uint32(data[6])<<2),
   473  		byte(uint32(data[6]) >> 6),
   474  		byte(uint32(data[6])>>14 | uint32(data[7])<<1),
   475  		byte(uint32(data[7]) >> 7),
   476  	}
   477  }
   478  
   479  func unpack8int32_16(data []byte) (a [8]int32) {
   480  	_ = data[15]
   481  	a[0] = int32(uint32((data[0]>>0)&255)<<0 | uint32((data[1]>>0)&255)<<8)
   482  	a[1] = int32(uint32((data[2]>>0)&255)<<0 | uint32((data[3]>>0)&255)<<8)
   483  	a[2] = int32(uint32((data[4]>>0)&255)<<0 | uint32((data[5]>>0)&255)<<8)
   484  	a[3] = int32(uint32((data[6]>>0)&255)<<0 | uint32((data[7]>>0)&255)<<8)
   485  	a[4] = int32(uint32((data[8]>>0)&255)<<0 | uint32((data[9]>>0)&255)<<8)
   486  	a[5] = int32(uint32((data[10]>>0)&255)<<0 | uint32((data[11]>>0)&255)<<8)
   487  	a[6] = int32(uint32((data[12]>>0)&255)<<0 | uint32((data[13]>>0)&255)<<8)
   488  	a[7] = int32(uint32((data[14]>>0)&255)<<0 | uint32((data[15]>>0)&255)<<8)
   489  	return
   490  }
   491  
   492  func pack8int32_16(data [8]int32) []byte {
   493  	return []byte{
   494  		byte(uint32(data[0]) << 0),
   495  		byte(uint32(data[0]) >> 8),
   496  		byte(uint32(data[1]) << 0),
   497  		byte(uint32(data[1]) >> 8),
   498  		byte(uint32(data[2]) << 0),
   499  		byte(uint32(data[2]) >> 8),
   500  		byte(uint32(data[3]) << 0),
   501  		byte(uint32(data[3]) >> 8),
   502  		byte(uint32(data[4]) << 0),
   503  		byte(uint32(data[4]) >> 8),
   504  		byte(uint32(data[5]) << 0),
   505  		byte(uint32(data[5]) >> 8),
   506  		byte(uint32(data[6]) << 0),
   507  		byte(uint32(data[6]) >> 8),
   508  		byte(uint32(data[7]) << 0),
   509  		byte(uint32(data[7]) >> 8),
   510  	}
   511  }
   512  
   513  func unpack8int32_17(data []byte) (a [8]int32) {
   514  	_ = data[16]
   515  	a[0] = int32(uint32((data[0]>>0)&255)<<0 | uint32((data[1]>>0)&255)<<8 | uint32((data[2]>>0)&1)<<16)
   516  	a[1] = int32(uint32((data[2]>>1)&127)<<0 | uint32((data[3]>>0)&255)<<7 | uint32((data[4]>>0)&3)<<15)
   517  	a[2] = int32(uint32((data[4]>>2)&63)<<0 | uint32((data[5]>>0)&255)<<6 | uint32((data[6]>>0)&7)<<14)
   518  	a[3] = int32(uint32((data[6]>>3)&31)<<0 | uint32((data[7]>>0)&255)<<5 | uint32((data[8]>>0)&15)<<13)
   519  	a[4] = int32(uint32((data[8]>>4)&15)<<0 | uint32((data[9]>>0)&255)<<4 | uint32((data[10]>>0)&31)<<12)
   520  	a[5] = int32(uint32((data[10]>>5)&7)<<0 | uint32((data[11]>>0)&255)<<3 | uint32((data[12]>>0)&63)<<11)
   521  	a[6] = int32(uint32((data[12]>>6)&3)<<0 | uint32((data[13]>>0)&255)<<2 | uint32((data[14]>>0)&127)<<10)
   522  	a[7] = int32(uint32((data[14]>>7)&1)<<0 | uint32((data[15]>>0)&255)<<1 | uint32((data[16]>>0)&255)<<9)
   523  	return
   524  }
   525  
   526  func pack8int32_17(data [8]int32) []byte {
   527  	return []byte{
   528  		byte(uint32(data[0]) << 0),
   529  		byte(uint32(data[0]) >> 8),
   530  		byte(uint32(data[0])>>16 | uint32(data[1])<<1),
   531  		byte(uint32(data[1]) >> 7),
   532  		byte(uint32(data[1])>>15 | uint32(data[2])<<2),
   533  		byte(uint32(data[2]) >> 6),
   534  		byte(uint32(data[2])>>14 | uint32(data[3])<<3),
   535  		byte(uint32(data[3]) >> 5),
   536  		byte(uint32(data[3])>>13 | uint32(data[4])<<4),
   537  		byte(uint32(data[4]) >> 4),
   538  		byte(uint32(data[4])>>12 | uint32(data[5])<<5),
   539  		byte(uint32(data[5]) >> 3),
   540  		byte(uint32(data[5])>>11 | uint32(data[6])<<6),
   541  		byte(uint32(data[6]) >> 2),
   542  		byte(uint32(data[6])>>10 | uint32(data[7])<<7),
   543  		byte(uint32(data[7]) >> 1),
   544  		byte(uint32(data[7]) >> 9),
   545  	}
   546  }
   547  
   548  func unpack8int32_18(data []byte) (a [8]int32) {
   549  	_ = data[17]
   550  	a[0] = int32(uint32((data[0]>>0)&255)<<0 | uint32((data[1]>>0)&255)<<8 | uint32((data[2]>>0)&3)<<16)
   551  	a[1] = int32(uint32((data[2]>>2)&63)<<0 | uint32((data[3]>>0)&255)<<6 | uint32((data[4]>>0)&15)<<14)
   552  	a[2] = int32(uint32((data[4]>>4)&15)<<0 | uint32((data[5]>>0)&255)<<4 | uint32((data[6]>>0)&63)<<12)
   553  	a[3] = int32(uint32((data[6]>>6)&3)<<0 | uint32((data[7]>>0)&255)<<2 | uint32((data[8]>>0)&255)<<10)
   554  	a[4] = int32(uint32((data[9]>>0)&255)<<0 | uint32((data[10]>>0)&255)<<8 | uint32((data[11]>>0)&3)<<16)
   555  	a[5] = int32(uint32((data[11]>>2)&63)<<0 | uint32((data[12]>>0)&255)<<6 | uint32((data[13]>>0)&15)<<14)
   556  	a[6] = int32(uint32((data[13]>>4)&15)<<0 | uint32((data[14]>>0)&255)<<4 | uint32((data[15]>>0)&63)<<12)
   557  	a[7] = int32(uint32((data[15]>>6)&3)<<0 | uint32((data[16]>>0)&255)<<2 | uint32((data[17]>>0)&255)<<10)
   558  	return
   559  }
   560  
   561  func pack8int32_18(data [8]int32) []byte {
   562  	return []byte{
   563  		byte(uint32(data[0]) << 0),
   564  		byte(uint32(data[0]) >> 8),
   565  		byte(uint32(data[0])>>16 | uint32(data[1])<<2),
   566  		byte(uint32(data[1]) >> 6),
   567  		byte(uint32(data[1])>>14 | uint32(data[2])<<4),
   568  		byte(uint32(data[2]) >> 4),
   569  		byte(uint32(data[2])>>12 | uint32(data[3])<<6),
   570  		byte(uint32(data[3]) >> 2),
   571  		byte(uint32(data[3]) >> 10),
   572  		byte(uint32(data[4]) << 0),
   573  		byte(uint32(data[4]) >> 8),
   574  		byte(uint32(data[4])>>16 | uint32(data[5])<<2),
   575  		byte(uint32(data[5]) >> 6),
   576  		byte(uint32(data[5])>>14 | uint32(data[6])<<4),
   577  		byte(uint32(data[6]) >> 4),
   578  		byte(uint32(data[6])>>12 | uint32(data[7])<<6),
   579  		byte(uint32(data[7]) >> 2),
   580  		byte(uint32(data[7]) >> 10),
   581  	}
   582  }
   583  
   584  func unpack8int32_19(data []byte) (a [8]int32) {
   585  	_ = data[18]
   586  	a[0] = int32(uint32((data[0]>>0)&255)<<0 | uint32((data[1]>>0)&255)<<8 | uint32((data[2]>>0)&7)<<16)
   587  	a[1] = int32(uint32((data[2]>>3)&31)<<0 | uint32((data[3]>>0)&255)<<5 | uint32((data[4]>>0)&63)<<13)
   588  	a[2] = int32(uint32((data[4]>>6)&3)<<0 | uint32((data[5]>>0)&255)<<2 | uint32((data[6]>>0)&255)<<10 | uint32((data[7]>>0)&1)<<18)
   589  	a[3] = int32(uint32((data[7]>>1)&127)<<0 | uint32((data[8]>>0)&255)<<7 | uint32((data[9]>>0)&15)<<15)
   590  	a[4] = int32(uint32((data[9]>>4)&15)<<0 | uint32((data[10]>>0)&255)<<4 | uint32((data[11]>>0)&127)<<12)
   591  	a[5] = int32(uint32((data[11]>>7)&1)<<0 | uint32((data[12]>>0)&255)<<1 | uint32((data[13]>>0)&255)<<9 | uint32((data[14]>>0)&3)<<17)
   592  	a[6] = int32(uint32((data[14]>>2)&63)<<0 | uint32((data[15]>>0)&255)<<6 | uint32((data[16]>>0)&31)<<14)
   593  	a[7] = int32(uint32((data[16]>>5)&7)<<0 | uint32((data[17]>>0)&255)<<3 | uint32((data[18]>>0)&255)<<11)
   594  	return
   595  }
   596  
   597  func pack8int32_19(data [8]int32) []byte {
   598  	return []byte{
   599  		byte(uint32(data[0]) << 0),
   600  		byte(uint32(data[0]) >> 8),
   601  		byte(uint32(data[0])>>16 | uint32(data[1])<<3),
   602  		byte(uint32(data[1]) >> 5),
   603  		byte(uint32(data[1])>>13 | uint32(data[2])<<6),
   604  		byte(uint32(data[2]) >> 2),
   605  		byte(uint32(data[2]) >> 10),
   606  		byte(uint32(data[2])>>18 | uint32(data[3])<<1),
   607  		byte(uint32(data[3]) >> 7),
   608  		byte(uint32(data[3])>>15 | uint32(data[4])<<4),
   609  		byte(uint32(data[4]) >> 4),
   610  		byte(uint32(data[4])>>12 | uint32(data[5])<<7),
   611  		byte(uint32(data[5]) >> 1),
   612  		byte(uint32(data[5]) >> 9),
   613  		byte(uint32(data[5])>>17 | uint32(data[6])<<2),
   614  		byte(uint32(data[6]) >> 6),
   615  		byte(uint32(data[6])>>14 | uint32(data[7])<<5),
   616  		byte(uint32(data[7]) >> 3),
   617  		byte(uint32(data[7]) >> 11),
   618  	}
   619  }
   620  
   621  func unpack8int32_20(data []byte) (a [8]int32) {
   622  	_ = data[19]
   623  	a[0] = int32(uint32((data[0]>>0)&255)<<0 | uint32((data[1]>>0)&255)<<8 | uint32((data[2]>>0)&15)<<16)
   624  	a[1] = int32(uint32((data[2]>>4)&15)<<0 | uint32((data[3]>>0)&255)<<4 | uint32((data[4]>>0)&255)<<12)
   625  	a[2] = int32(uint32((data[5]>>0)&255)<<0 | uint32((data[6]>>0)&255)<<8 | uint32((data[7]>>0)&15)<<16)
   626  	a[3] = int32(uint32((data[7]>>4)&15)<<0 | uint32((data[8]>>0)&255)<<4 | uint32((data[9]>>0)&255)<<12)
   627  	a[4] = int32(uint32((data[10]>>0)&255)<<0 | uint32((data[11]>>0)&255)<<8 | uint32((data[12]>>0)&15)<<16)
   628  	a[5] = int32(uint32((data[12]>>4)&15)<<0 | uint32((data[13]>>0)&255)<<4 | uint32((data[14]>>0)&255)<<12)
   629  	a[6] = int32(uint32((data[15]>>0)&255)<<0 | uint32((data[16]>>0)&255)<<8 | uint32((data[17]>>0)&15)<<16)
   630  	a[7] = int32(uint32((data[17]>>4)&15)<<0 | uint32((data[18]>>0)&255)<<4 | uint32((data[19]>>0)&255)<<12)
   631  	return
   632  }
   633  
   634  func pack8int32_20(data [8]int32) []byte {
   635  	return []byte{
   636  		byte(uint32(data[0]) << 0),
   637  		byte(uint32(data[0]) >> 8),
   638  		byte(uint32(data[0])>>16 | uint32(data[1])<<4),
   639  		byte(uint32(data[1]) >> 4),
   640  		byte(uint32(data[1]) >> 12),
   641  		byte(uint32(data[2]) << 0),
   642  		byte(uint32(data[2]) >> 8),
   643  		byte(uint32(data[2])>>16 | uint32(data[3])<<4),
   644  		byte(uint32(data[3]) >> 4),
   645  		byte(uint32(data[3]) >> 12),
   646  		byte(uint32(data[4]) << 0),
   647  		byte(uint32(data[4]) >> 8),
   648  		byte(uint32(data[4])>>16 | uint32(data[5])<<4),
   649  		byte(uint32(data[5]) >> 4),
   650  		byte(uint32(data[5]) >> 12),
   651  		byte(uint32(data[6]) << 0),
   652  		byte(uint32(data[6]) >> 8),
   653  		byte(uint32(data[6])>>16 | uint32(data[7])<<4),
   654  		byte(uint32(data[7]) >> 4),
   655  		byte(uint32(data[7]) >> 12),
   656  	}
   657  }
   658  
   659  func unpack8int32_21(data []byte) (a [8]int32) {
   660  	_ = data[20]
   661  	a[0] = int32(uint32((data[0]>>0)&255)<<0 | uint32((data[1]>>0)&255)<<8 | uint32((data[2]>>0)&31)<<16)
   662  	a[1] = int32(uint32((data[2]>>5)&7)<<0 | uint32((data[3]>>0)&255)<<3 | uint32((data[4]>>0)&255)<<11 | uint32((data[5]>>0)&3)<<19)
   663  	a[2] = int32(uint32((data[5]>>2)&63)<<0 | uint32((data[6]>>0)&255)<<6 | uint32((data[7]>>0)&127)<<14)
   664  	a[3] = int32(uint32((data[7]>>7)&1)<<0 | uint32((data[8]>>0)&255)<<1 | uint32((data[9]>>0)&255)<<9 | uint32((data[10]>>0)&15)<<17)
   665  	a[4] = int32(uint32((data[10]>>4)&15)<<0 | uint32((data[11]>>0)&255)<<4 | uint32((data[12]>>0)&255)<<12 | uint32((data[13]>>0)&1)<<20)
   666  	a[5] = int32(uint32((data[13]>>1)&127)<<0 | uint32((data[14]>>0)&255)<<7 | uint32((data[15]>>0)&63)<<15)
   667  	a[6] = int32(uint32((data[15]>>6)&3)<<0 | uint32((data[16]>>0)&255)<<2 | uint32((data[17]>>0)&255)<<10 | uint32((data[18]>>0)&7)<<18)
   668  	a[7] = int32(uint32((data[18]>>3)&31)<<0 | uint32((data[19]>>0)&255)<<5 | uint32((data[20]>>0)&255)<<13)
   669  	return
   670  }
   671  
   672  func pack8int32_21(data [8]int32) []byte {
   673  	return []byte{
   674  		byte(uint32(data[0]) << 0),
   675  		byte(uint32(data[0]) >> 8),
   676  		byte(uint32(data[0])>>16 | uint32(data[1])<<5),
   677  		byte(uint32(data[1]) >> 3),
   678  		byte(uint32(data[1]) >> 11),
   679  		byte(uint32(data[1])>>19 | uint32(data[2])<<2),
   680  		byte(uint32(data[2]) >> 6),
   681  		byte(uint32(data[2])>>14 | uint32(data[3])<<7),
   682  		byte(uint32(data[3]) >> 1),
   683  		byte(uint32(data[3]) >> 9),
   684  		byte(uint32(data[3])>>17 | uint32(data[4])<<4),
   685  		byte(uint32(data[4]) >> 4),
   686  		byte(uint32(data[4]) >> 12),
   687  		byte(uint32(data[4])>>20 | uint32(data[5])<<1),
   688  		byte(uint32(data[5]) >> 7),
   689  		byte(uint32(data[5])>>15 | uint32(data[6])<<6),
   690  		byte(uint32(data[6]) >> 2),
   691  		byte(uint32(data[6]) >> 10),
   692  		byte(uint32(data[6])>>18 | uint32(data[7])<<3),
   693  		byte(uint32(data[7]) >> 5),
   694  		byte(uint32(data[7]) >> 13),
   695  	}
   696  }
   697  
   698  func unpack8int32_22(data []byte) (a [8]int32) {
   699  	_ = data[21]
   700  	a[0] = int32(uint32((data[0]>>0)&255)<<0 | uint32((data[1]>>0)&255)<<8 | uint32((data[2]>>0)&63)<<16)
   701  	a[1] = int32(uint32((data[2]>>6)&3)<<0 | uint32((data[3]>>0)&255)<<2 | uint32((data[4]>>0)&255)<<10 | uint32((data[5]>>0)&15)<<18)
   702  	a[2] = int32(uint32((data[5]>>4)&15)<<0 | uint32((data[6]>>0)&255)<<4 | uint32((data[7]>>0)&255)<<12 | uint32((data[8]>>0)&3)<<20)
   703  	a[3] = int32(uint32((data[8]>>2)&63)<<0 | uint32((data[9]>>0)&255)<<6 | uint32((data[10]>>0)&255)<<14)
   704  	a[4] = int32(uint32((data[11]>>0)&255)<<0 | uint32((data[12]>>0)&255)<<8 | uint32((data[13]>>0)&63)<<16)
   705  	a[5] = int32(uint32((data[13]>>6)&3)<<0 | uint32((data[14]>>0)&255)<<2 | uint32((data[15]>>0)&255)<<10 | uint32((data[16]>>0)&15)<<18)
   706  	a[6] = int32(uint32((data[16]>>4)&15)<<0 | uint32((data[17]>>0)&255)<<4 | uint32((data[18]>>0)&255)<<12 | uint32((data[19]>>0)&3)<<20)
   707  	a[7] = int32(uint32((data[19]>>2)&63)<<0 | uint32((data[20]>>0)&255)<<6 | uint32((data[21]>>0)&255)<<14)
   708  	return
   709  }
   710  
   711  func pack8int32_22(data [8]int32) []byte {
   712  	return []byte{
   713  		byte(uint32(data[0]) << 0),
   714  		byte(uint32(data[0]) >> 8),
   715  		byte(uint32(data[0])>>16 | uint32(data[1])<<6),
   716  		byte(uint32(data[1]) >> 2),
   717  		byte(uint32(data[1]) >> 10),
   718  		byte(uint32(data[1])>>18 | uint32(data[2])<<4),
   719  		byte(uint32(data[2]) >> 4),
   720  		byte(uint32(data[2]) >> 12),
   721  		byte(uint32(data[2])>>20 | uint32(data[3])<<2),
   722  		byte(uint32(data[3]) >> 6),
   723  		byte(uint32(data[3]) >> 14),
   724  		byte(uint32(data[4]) << 0),
   725  		byte(uint32(data[4]) >> 8),
   726  		byte(uint32(data[4])>>16 | uint32(data[5])<<6),
   727  		byte(uint32(data[5]) >> 2),
   728  		byte(uint32(data[5]) >> 10),
   729  		byte(uint32(data[5])>>18 | uint32(data[6])<<4),
   730  		byte(uint32(data[6]) >> 4),
   731  		byte(uint32(data[6]) >> 12),
   732  		byte(uint32(data[6])>>20 | uint32(data[7])<<2),
   733  		byte(uint32(data[7]) >> 6),
   734  		byte(uint32(data[7]) >> 14),
   735  	}
   736  }
   737  
   738  func unpack8int32_23(data []byte) (a [8]int32) {
   739  	_ = data[22]
   740  	a[0] = int32(uint32((data[0]>>0)&255)<<0 | uint32((data[1]>>0)&255)<<8 | uint32((data[2]>>0)&127)<<16)
   741  	a[1] = int32(uint32((data[2]>>7)&1)<<0 | uint32((data[3]>>0)&255)<<1 | uint32((data[4]>>0)&255)<<9 | uint32((data[5]>>0)&63)<<17)
   742  	a[2] = int32(uint32((data[5]>>6)&3)<<0 | uint32((data[6]>>0)&255)<<2 | uint32((data[7]>>0)&255)<<10 | uint32((data[8]>>0)&31)<<18)
   743  	a[3] = int32(uint32((data[8]>>5)&7)<<0 | uint32((data[9]>>0)&255)<<3 | uint32((data[10]>>0)&255)<<11 | uint32((data[11]>>0)&15)<<19)
   744  	a[4] = int32(uint32((data[11]>>4)&15)<<0 | uint32((data[12]>>0)&255)<<4 | uint32((data[13]>>0)&255)<<12 | uint32((data[14]>>0)&7)<<20)
   745  	a[5] = int32(uint32((data[14]>>3)&31)<<0 | uint32((data[15]>>0)&255)<<5 | uint32((data[16]>>0)&255)<<13 | uint32((data[17]>>0)&3)<<21)
   746  	a[6] = int32(uint32((data[17]>>2)&63)<<0 | uint32((data[18]>>0)&255)<<6 | uint32((data[19]>>0)&255)<<14 | uint32((data[20]>>0)&1)<<22)
   747  	a[7] = int32(uint32((data[20]>>1)&127)<<0 | uint32((data[21]>>0)&255)<<7 | uint32((data[22]>>0)&255)<<15)
   748  	return
   749  }
   750  
   751  func pack8int32_23(data [8]int32) []byte {
   752  	return []byte{
   753  		byte(uint32(data[0]) << 0),
   754  		byte(uint32(data[0]) >> 8),
   755  		byte(uint32(data[0])>>16 | uint32(data[1])<<7),
   756  		byte(uint32(data[1]) >> 1),
   757  		byte(uint32(data[1]) >> 9),
   758  		byte(uint32(data[1])>>17 | uint32(data[2])<<6),
   759  		byte(uint32(data[2]) >> 2),
   760  		byte(uint32(data[2]) >> 10),
   761  		byte(uint32(data[2])>>18 | uint32(data[3])<<5),
   762  		byte(uint32(data[3]) >> 3),
   763  		byte(uint32(data[3]) >> 11),
   764  		byte(uint32(data[3])>>19 | uint32(data[4])<<4),
   765  		byte(uint32(data[4]) >> 4),
   766  		byte(uint32(data[4]) >> 12),
   767  		byte(uint32(data[4])>>20 | uint32(data[5])<<3),
   768  		byte(uint32(data[5]) >> 5),
   769  		byte(uint32(data[5]) >> 13),
   770  		byte(uint32(data[5])>>21 | uint32(data[6])<<2),
   771  		byte(uint32(data[6]) >> 6),
   772  		byte(uint32(data[6]) >> 14),
   773  		byte(uint32(data[6])>>22 | uint32(data[7])<<1),
   774  		byte(uint32(data[7]) >> 7),
   775  		byte(uint32(data[7]) >> 15),
   776  	}
   777  }
   778  
   779  func unpack8int32_24(data []byte) (a [8]int32) {
   780  	_ = data[23]
   781  	a[0] = int32(uint32((data[0]>>0)&255)<<0 | uint32((data[1]>>0)&255)<<8 | uint32((data[2]>>0)&255)<<16)
   782  	a[1] = int32(uint32((data[3]>>0)&255)<<0 | uint32((data[4]>>0)&255)<<8 | uint32((data[5]>>0)&255)<<16)
   783  	a[2] = int32(uint32((data[6]>>0)&255)<<0 | uint32((data[7]>>0)&255)<<8 | uint32((data[8]>>0)&255)<<16)
   784  	a[3] = int32(uint32((data[9]>>0)&255)<<0 | uint32((data[10]>>0)&255)<<8 | uint32((data[11]>>0)&255)<<16)
   785  	a[4] = int32(uint32((data[12]>>0)&255)<<0 | uint32((data[13]>>0)&255)<<8 | uint32((data[14]>>0)&255)<<16)
   786  	a[5] = int32(uint32((data[15]>>0)&255)<<0 | uint32((data[16]>>0)&255)<<8 | uint32((data[17]>>0)&255)<<16)
   787  	a[6] = int32(uint32((data[18]>>0)&255)<<0 | uint32((data[19]>>0)&255)<<8 | uint32((data[20]>>0)&255)<<16)
   788  	a[7] = int32(uint32((data[21]>>0)&255)<<0 | uint32((data[22]>>0)&255)<<8 | uint32((data[23]>>0)&255)<<16)
   789  	return
   790  }
   791  
   792  func pack8int32_24(data [8]int32) []byte {
   793  	return []byte{
   794  		byte(uint32(data[0]) << 0),
   795  		byte(uint32(data[0]) >> 8),
   796  		byte(uint32(data[0]) >> 16),
   797  		byte(uint32(data[1]) << 0),
   798  		byte(uint32(data[1]) >> 8),
   799  		byte(uint32(data[1]) >> 16),
   800  		byte(uint32(data[2]) << 0),
   801  		byte(uint32(data[2]) >> 8),
   802  		byte(uint32(data[2]) >> 16),
   803  		byte(uint32(data[3]) << 0),
   804  		byte(uint32(data[3]) >> 8),
   805  		byte(uint32(data[3]) >> 16),
   806  		byte(uint32(data[4]) << 0),
   807  		byte(uint32(data[4]) >> 8),
   808  		byte(uint32(data[4]) >> 16),
   809  		byte(uint32(data[5]) << 0),
   810  		byte(uint32(data[5]) >> 8),
   811  		byte(uint32(data[5]) >> 16),
   812  		byte(uint32(data[6]) << 0),
   813  		byte(uint32(data[6]) >> 8),
   814  		byte(uint32(data[6]) >> 16),
   815  		byte(uint32(data[7]) << 0),
   816  		byte(uint32(data[7]) >> 8),
   817  		byte(uint32(data[7]) >> 16),
   818  	}
   819  }
   820  
   821  func unpack8int32_25(data []byte) (a [8]int32) {
   822  	_ = data[24]
   823  	a[0] = int32(uint32((data[0]>>0)&255)<<0 | uint32((data[1]>>0)&255)<<8 | uint32((data[2]>>0)&255)<<16 | uint32((data[3]>>0)&1)<<24)
   824  	a[1] = int32(uint32((data[3]>>1)&127)<<0 | uint32((data[4]>>0)&255)<<7 | uint32((data[5]>>0)&255)<<15 | uint32((data[6]>>0)&3)<<23)
   825  	a[2] = int32(uint32((data[6]>>2)&63)<<0 | uint32((data[7]>>0)&255)<<6 | uint32((data[8]>>0)&255)<<14 | uint32((data[9]>>0)&7)<<22)
   826  	a[3] = int32(uint32((data[9]>>3)&31)<<0 | uint32((data[10]>>0)&255)<<5 | uint32((data[11]>>0)&255)<<13 | uint32((data[12]>>0)&15)<<21)
   827  	a[4] = int32(uint32((data[12]>>4)&15)<<0 | uint32((data[13]>>0)&255)<<4 | uint32((data[14]>>0)&255)<<12 | uint32((data[15]>>0)&31)<<20)
   828  	a[5] = int32(uint32((data[15]>>5)&7)<<0 | uint32((data[16]>>0)&255)<<3 | uint32((data[17]>>0)&255)<<11 | uint32((data[18]>>0)&63)<<19)
   829  	a[6] = int32(uint32((data[18]>>6)&3)<<0 | uint32((data[19]>>0)&255)<<2 | uint32((data[20]>>0)&255)<<10 | uint32((data[21]>>0)&127)<<18)
   830  	a[7] = int32(uint32((data[21]>>7)&1)<<0 | uint32((data[22]>>0)&255)<<1 | uint32((data[23]>>0)&255)<<9 | uint32((data[24]>>0)&255)<<17)
   831  	return
   832  }
   833  
   834  func pack8int32_25(data [8]int32) []byte {
   835  	return []byte{
   836  		byte(uint32(data[0]) << 0),
   837  		byte(uint32(data[0]) >> 8),
   838  		byte(uint32(data[0]) >> 16),
   839  		byte(uint32(data[0])>>24 | uint32(data[1])<<1),
   840  		byte(uint32(data[1]) >> 7),
   841  		byte(uint32(data[1]) >> 15),
   842  		byte(uint32(data[1])>>23 | uint32(data[2])<<2),
   843  		byte(uint32(data[2]) >> 6),
   844  		byte(uint32(data[2]) >> 14),
   845  		byte(uint32(data[2])>>22 | uint32(data[3])<<3),
   846  		byte(uint32(data[3]) >> 5),
   847  		byte(uint32(data[3]) >> 13),
   848  		byte(uint32(data[3])>>21 | uint32(data[4])<<4),
   849  		byte(uint32(data[4]) >> 4),
   850  		byte(uint32(data[4]) >> 12),
   851  		byte(uint32(data[4])>>20 | uint32(data[5])<<5),
   852  		byte(uint32(data[5]) >> 3),
   853  		byte(uint32(data[5]) >> 11),
   854  		byte(uint32(data[5])>>19 | uint32(data[6])<<6),
   855  		byte(uint32(data[6]) >> 2),
   856  		byte(uint32(data[6]) >> 10),
   857  		byte(uint32(data[6])>>18 | uint32(data[7])<<7),
   858  		byte(uint32(data[7]) >> 1),
   859  		byte(uint32(data[7]) >> 9),
   860  		byte(uint32(data[7]) >> 17),
   861  	}
   862  }
   863  
   864  func unpack8int32_26(data []byte) (a [8]int32) {
   865  	_ = data[25]
   866  	a[0] = int32(uint32((data[0]>>0)&255)<<0 | uint32((data[1]>>0)&255)<<8 | uint32((data[2]>>0)&255)<<16 | uint32((data[3]>>0)&3)<<24)
   867  	a[1] = int32(uint32((data[3]>>2)&63)<<0 | uint32((data[4]>>0)&255)<<6 | uint32((data[5]>>0)&255)<<14 | uint32((data[6]>>0)&15)<<22)
   868  	a[2] = int32(uint32((data[6]>>4)&15)<<0 | uint32((data[7]>>0)&255)<<4 | uint32((data[8]>>0)&255)<<12 | uint32((data[9]>>0)&63)<<20)
   869  	a[3] = int32(uint32((data[9]>>6)&3)<<0 | uint32((data[10]>>0)&255)<<2 | uint32((data[11]>>0)&255)<<10 | uint32((data[12]>>0)&255)<<18)
   870  	a[4] = int32(uint32((data[13]>>0)&255)<<0 | uint32((data[14]>>0)&255)<<8 | uint32((data[15]>>0)&255)<<16 | uint32((data[16]>>0)&3)<<24)
   871  	a[5] = int32(uint32((data[16]>>2)&63)<<0 | uint32((data[17]>>0)&255)<<6 | uint32((data[18]>>0)&255)<<14 | uint32((data[19]>>0)&15)<<22)
   872  	a[6] = int32(uint32((data[19]>>4)&15)<<0 | uint32((data[20]>>0)&255)<<4 | uint32((data[21]>>0)&255)<<12 | uint32((data[22]>>0)&63)<<20)
   873  	a[7] = int32(uint32((data[22]>>6)&3)<<0 | uint32((data[23]>>0)&255)<<2 | uint32((data[24]>>0)&255)<<10 | uint32((data[25]>>0)&255)<<18)
   874  	return
   875  }
   876  
   877  func pack8int32_26(data [8]int32) []byte {
   878  	return []byte{
   879  		byte(uint32(data[0]) << 0),
   880  		byte(uint32(data[0]) >> 8),
   881  		byte(uint32(data[0]) >> 16),
   882  		byte(uint32(data[0])>>24 | uint32(data[1])<<2),
   883  		byte(uint32(data[1]) >> 6),
   884  		byte(uint32(data[1]) >> 14),
   885  		byte(uint32(data[1])>>22 | uint32(data[2])<<4),
   886  		byte(uint32(data[2]) >> 4),
   887  		byte(uint32(data[2]) >> 12),
   888  		byte(uint32(data[2])>>20 | uint32(data[3])<<6),
   889  		byte(uint32(data[3]) >> 2),
   890  		byte(uint32(data[3]) >> 10),
   891  		byte(uint32(data[3]) >> 18),
   892  		byte(uint32(data[4]) << 0),
   893  		byte(uint32(data[4]) >> 8),
   894  		byte(uint32(data[4]) >> 16),
   895  		byte(uint32(data[4])>>24 | uint32(data[5])<<2),
   896  		byte(uint32(data[5]) >> 6),
   897  		byte(uint32(data[5]) >> 14),
   898  		byte(uint32(data[5])>>22 | uint32(data[6])<<4),
   899  		byte(uint32(data[6]) >> 4),
   900  		byte(uint32(data[6]) >> 12),
   901  		byte(uint32(data[6])>>20 | uint32(data[7])<<6),
   902  		byte(uint32(data[7]) >> 2),
   903  		byte(uint32(data[7]) >> 10),
   904  		byte(uint32(data[7]) >> 18),
   905  	}
   906  }
   907  
   908  func unpack8int32_27(data []byte) (a [8]int32) {
   909  	_ = data[26]
   910  	a[0] = int32(uint32((data[0]>>0)&255)<<0 | uint32((data[1]>>0)&255)<<8 | uint32((data[2]>>0)&255)<<16 | uint32((data[3]>>0)&7)<<24)
   911  	a[1] = int32(uint32((data[3]>>3)&31)<<0 | uint32((data[4]>>0)&255)<<5 | uint32((data[5]>>0)&255)<<13 | uint32((data[6]>>0)&63)<<21)
   912  	a[2] = int32(uint32((data[6]>>6)&3)<<0 | uint32((data[7]>>0)&255)<<2 | uint32((data[8]>>0)&255)<<10 | uint32((data[9]>>0)&255)<<18 | uint32((data[10]>>0)&1)<<26)
   913  	a[3] = int32(uint32((data[10]>>1)&127)<<0 | uint32((data[11]>>0)&255)<<7 | uint32((data[12]>>0)&255)<<15 | uint32((data[13]>>0)&15)<<23)
   914  	a[4] = int32(uint32((data[13]>>4)&15)<<0 | uint32((data[14]>>0)&255)<<4 | uint32((data[15]>>0)&255)<<12 | uint32((data[16]>>0)&127)<<20)
   915  	a[5] = int32(uint32((data[16]>>7)&1)<<0 | uint32((data[17]>>0)&255)<<1 | uint32((data[18]>>0)&255)<<9 | uint32((data[19]>>0)&255)<<17 | uint32((data[20]>>0)&3)<<25)
   916  	a[6] = int32(uint32((data[20]>>2)&63)<<0 | uint32((data[21]>>0)&255)<<6 | uint32((data[22]>>0)&255)<<14 | uint32((data[23]>>0)&31)<<22)
   917  	a[7] = int32(uint32((data[23]>>5)&7)<<0 | uint32((data[24]>>0)&255)<<3 | uint32((data[25]>>0)&255)<<11 | uint32((data[26]>>0)&255)<<19)
   918  	return
   919  }
   920  
   921  func pack8int32_27(data [8]int32) []byte {
   922  	return []byte{
   923  		byte(uint32(data[0]) << 0),
   924  		byte(uint32(data[0]) >> 8),
   925  		byte(uint32(data[0]) >> 16),
   926  		byte(uint32(data[0])>>24 | uint32(data[1])<<3),
   927  		byte(uint32(data[1]) >> 5),
   928  		byte(uint32(data[1]) >> 13),
   929  		byte(uint32(data[1])>>21 | uint32(data[2])<<6),
   930  		byte(uint32(data[2]) >> 2),
   931  		byte(uint32(data[2]) >> 10),
   932  		byte(uint32(data[2]) >> 18),
   933  		byte(uint32(data[2])>>26 | uint32(data[3])<<1),
   934  		byte(uint32(data[3]) >> 7),
   935  		byte(uint32(data[3]) >> 15),
   936  		byte(uint32(data[3])>>23 | uint32(data[4])<<4),
   937  		byte(uint32(data[4]) >> 4),
   938  		byte(uint32(data[4]) >> 12),
   939  		byte(uint32(data[4])>>20 | uint32(data[5])<<7),
   940  		byte(uint32(data[5]) >> 1),
   941  		byte(uint32(data[5]) >> 9),
   942  		byte(uint32(data[5]) >> 17),
   943  		byte(uint32(data[5])>>25 | uint32(data[6])<<2),
   944  		byte(uint32(data[6]) >> 6),
   945  		byte(uint32(data[6]) >> 14),
   946  		byte(uint32(data[6])>>22 | uint32(data[7])<<5),
   947  		byte(uint32(data[7]) >> 3),
   948  		byte(uint32(data[7]) >> 11),
   949  		byte(uint32(data[7]) >> 19),
   950  	}
   951  }
   952  
   953  func unpack8int32_28(data []byte) (a [8]int32) {
   954  	_ = data[27]
   955  	a[0] = int32(uint32((data[0]>>0)&255)<<0 | uint32((data[1]>>0)&255)<<8 | uint32((data[2]>>0)&255)<<16 | uint32((data[3]>>0)&15)<<24)
   956  	a[1] = int32(uint32((data[3]>>4)&15)<<0 | uint32((data[4]>>0)&255)<<4 | uint32((data[5]>>0)&255)<<12 | uint32((data[6]>>0)&255)<<20)
   957  	a[2] = int32(uint32((data[7]>>0)&255)<<0 | uint32((data[8]>>0)&255)<<8 | uint32((data[9]>>0)&255)<<16 | uint32((data[10]>>0)&15)<<24)
   958  	a[3] = int32(uint32((data[10]>>4)&15)<<0 | uint32((data[11]>>0)&255)<<4 | uint32((data[12]>>0)&255)<<12 | uint32((data[13]>>0)&255)<<20)
   959  	a[4] = int32(uint32((data[14]>>0)&255)<<0 | uint32((data[15]>>0)&255)<<8 | uint32((data[16]>>0)&255)<<16 | uint32((data[17]>>0)&15)<<24)
   960  	a[5] = int32(uint32((data[17]>>4)&15)<<0 | uint32((data[18]>>0)&255)<<4 | uint32((data[19]>>0)&255)<<12 | uint32((data[20]>>0)&255)<<20)
   961  	a[6] = int32(uint32((data[21]>>0)&255)<<0 | uint32((data[22]>>0)&255)<<8 | uint32((data[23]>>0)&255)<<16 | uint32((data[24]>>0)&15)<<24)
   962  	a[7] = int32(uint32((data[24]>>4)&15)<<0 | uint32((data[25]>>0)&255)<<4 | uint32((data[26]>>0)&255)<<12 | uint32((data[27]>>0)&255)<<20)
   963  	return
   964  }
   965  
   966  func pack8int32_28(data [8]int32) []byte {
   967  	return []byte{
   968  		byte(uint32(data[0]) << 0),
   969  		byte(uint32(data[0]) >> 8),
   970  		byte(uint32(data[0]) >> 16),
   971  		byte(uint32(data[0])>>24 | uint32(data[1])<<4),
   972  		byte(uint32(data[1]) >> 4),
   973  		byte(uint32(data[1]) >> 12),
   974  		byte(uint32(data[1]) >> 20),
   975  		byte(uint32(data[2]) << 0),
   976  		byte(uint32(data[2]) >> 8),
   977  		byte(uint32(data[2]) >> 16),
   978  		byte(uint32(data[2])>>24 | uint32(data[3])<<4),
   979  		byte(uint32(data[3]) >> 4),
   980  		byte(uint32(data[3]) >> 12),
   981  		byte(uint32(data[3]) >> 20),
   982  		byte(uint32(data[4]) << 0),
   983  		byte(uint32(data[4]) >> 8),
   984  		byte(uint32(data[4]) >> 16),
   985  		byte(uint32(data[4])>>24 | uint32(data[5])<<4),
   986  		byte(uint32(data[5]) >> 4),
   987  		byte(uint32(data[5]) >> 12),
   988  		byte(uint32(data[5]) >> 20),
   989  		byte(uint32(data[6]) << 0),
   990  		byte(uint32(data[6]) >> 8),
   991  		byte(uint32(data[6]) >> 16),
   992  		byte(uint32(data[6])>>24 | uint32(data[7])<<4),
   993  		byte(uint32(data[7]) >> 4),
   994  		byte(uint32(data[7]) >> 12),
   995  		byte(uint32(data[7]) >> 20),
   996  	}
   997  }
   998  
   999  func unpack8int32_29(data []byte) (a [8]int32) {
  1000  	_ = data[28]
  1001  	a[0] = int32(uint32((data[0]>>0)&255)<<0 | uint32((data[1]>>0)&255)<<8 | uint32((data[2]>>0)&255)<<16 | uint32((data[3]>>0)&31)<<24)
  1002  	a[1] = int32(uint32((data[3]>>5)&7)<<0 | uint32((data[4]>>0)&255)<<3 | uint32((data[5]>>0)&255)<<11 | uint32((data[6]>>0)&255)<<19 | uint32((data[7]>>0)&3)<<27)
  1003  	a[2] = int32(uint32((data[7]>>2)&63)<<0 | uint32((data[8]>>0)&255)<<6 | uint32((data[9]>>0)&255)<<14 | uint32((data[10]>>0)&127)<<22)
  1004  	a[3] = int32(uint32((data[10]>>7)&1)<<0 | uint32((data[11]>>0)&255)<<1 | uint32((data[12]>>0)&255)<<9 | uint32((data[13]>>0)&255)<<17 | uint32((data[14]>>0)&15)<<25)
  1005  	a[4] = int32(uint32((data[14]>>4)&15)<<0 | uint32((data[15]>>0)&255)<<4 | uint32((data[16]>>0)&255)<<12 | uint32((data[17]>>0)&255)<<20 | uint32((data[18]>>0)&1)<<28)
  1006  	a[5] = int32(uint32((data[18]>>1)&127)<<0 | uint32((data[19]>>0)&255)<<7 | uint32((data[20]>>0)&255)<<15 | uint32((data[21]>>0)&63)<<23)
  1007  	a[6] = int32(uint32((data[21]>>6)&3)<<0 | uint32((data[22]>>0)&255)<<2 | uint32((data[23]>>0)&255)<<10 | uint32((data[24]>>0)&255)<<18 | uint32((data[25]>>0)&7)<<26)
  1008  	a[7] = int32(uint32((data[25]>>3)&31)<<0 | uint32((data[26]>>0)&255)<<5 | uint32((data[27]>>0)&255)<<13 | uint32((data[28]>>0)&255)<<21)
  1009  	return
  1010  }
  1011  
  1012  func pack8int32_29(data [8]int32) []byte {
  1013  	return []byte{
  1014  		byte(uint32(data[0]) << 0),
  1015  		byte(uint32(data[0]) >> 8),
  1016  		byte(uint32(data[0]) >> 16),
  1017  		byte(uint32(data[0])>>24 | uint32(data[1])<<5),
  1018  		byte(uint32(data[1]) >> 3),
  1019  		byte(uint32(data[1]) >> 11),
  1020  		byte(uint32(data[1]) >> 19),
  1021  		byte(uint32(data[1])>>27 | uint32(data[2])<<2),
  1022  		byte(uint32(data[2]) >> 6),
  1023  		byte(uint32(data[2]) >> 14),
  1024  		byte(uint32(data[2])>>22 | uint32(data[3])<<7),
  1025  		byte(uint32(data[3]) >> 1),
  1026  		byte(uint32(data[3]) >> 9),
  1027  		byte(uint32(data[3]) >> 17),
  1028  		byte(uint32(data[3])>>25 | uint32(data[4])<<4),
  1029  		byte(uint32(data[4]) >> 4),
  1030  		byte(uint32(data[4]) >> 12),
  1031  		byte(uint32(data[4]) >> 20),
  1032  		byte(uint32(data[4])>>28 | uint32(data[5])<<1),
  1033  		byte(uint32(data[5]) >> 7),
  1034  		byte(uint32(data[5]) >> 15),
  1035  		byte(uint32(data[5])>>23 | uint32(data[6])<<6),
  1036  		byte(uint32(data[6]) >> 2),
  1037  		byte(uint32(data[6]) >> 10),
  1038  		byte(uint32(data[6]) >> 18),
  1039  		byte(uint32(data[6])>>26 | uint32(data[7])<<3),
  1040  		byte(uint32(data[7]) >> 5),
  1041  		byte(uint32(data[7]) >> 13),
  1042  		byte(uint32(data[7]) >> 21),
  1043  	}
  1044  }
  1045  
  1046  func unpack8int32_30(data []byte) (a [8]int32) {
  1047  	_ = data[29]
  1048  	a[0] = int32(uint32((data[0]>>0)&255)<<0 | uint32((data[1]>>0)&255)<<8 | uint32((data[2]>>0)&255)<<16 | uint32((data[3]>>0)&63)<<24)
  1049  	a[1] = int32(uint32((data[3]>>6)&3)<<0 | uint32((data[4]>>0)&255)<<2 | uint32((data[5]>>0)&255)<<10 | uint32((data[6]>>0)&255)<<18 | uint32((data[7]>>0)&15)<<26)
  1050  	a[2] = int32(uint32((data[7]>>4)&15)<<0 | uint32((data[8]>>0)&255)<<4 | uint32((data[9]>>0)&255)<<12 | uint32((data[10]>>0)&255)<<20 | uint32((data[11]>>0)&3)<<28)
  1051  	a[3] = int32(uint32((data[11]>>2)&63)<<0 | uint32((data[12]>>0)&255)<<6 | uint32((data[13]>>0)&255)<<14 | uint32((data[14]>>0)&255)<<22)
  1052  	a[4] = int32(uint32((data[15]>>0)&255)<<0 | uint32((data[16]>>0)&255)<<8 | uint32((data[17]>>0)&255)<<16 | uint32((data[18]>>0)&63)<<24)
  1053  	a[5] = int32(uint32((data[18]>>6)&3)<<0 | uint32((data[19]>>0)&255)<<2 | uint32((data[20]>>0)&255)<<10 | uint32((data[21]>>0)&255)<<18 | uint32((data[22]>>0)&15)<<26)
  1054  	a[6] = int32(uint32((data[22]>>4)&15)<<0 | uint32((data[23]>>0)&255)<<4 | uint32((data[24]>>0)&255)<<12 | uint32((data[25]>>0)&255)<<20 | uint32((data[26]>>0)&3)<<28)
  1055  	a[7] = int32(uint32((data[26]>>2)&63)<<0 | uint32((data[27]>>0)&255)<<6 | uint32((data[28]>>0)&255)<<14 | uint32((data[29]>>0)&255)<<22)
  1056  	return
  1057  }
  1058  
  1059  func pack8int32_30(data [8]int32) []byte {
  1060  	return []byte{
  1061  		byte(uint32(data[0]) << 0),
  1062  		byte(uint32(data[0]) >> 8),
  1063  		byte(uint32(data[0]) >> 16),
  1064  		byte(uint32(data[0])>>24 | uint32(data[1])<<6),
  1065  		byte(uint32(data[1]) >> 2),
  1066  		byte(uint32(data[1]) >> 10),
  1067  		byte(uint32(data[1]) >> 18),
  1068  		byte(uint32(data[1])>>26 | uint32(data[2])<<4),
  1069  		byte(uint32(data[2]) >> 4),
  1070  		byte(uint32(data[2]) >> 12),
  1071  		byte(uint32(data[2]) >> 20),
  1072  		byte(uint32(data[2])>>28 | uint32(data[3])<<2),
  1073  		byte(uint32(data[3]) >> 6),
  1074  		byte(uint32(data[3]) >> 14),
  1075  		byte(uint32(data[3]) >> 22),
  1076  		byte(uint32(data[4]) << 0),
  1077  		byte(uint32(data[4]) >> 8),
  1078  		byte(uint32(data[4]) >> 16),
  1079  		byte(uint32(data[4])>>24 | uint32(data[5])<<6),
  1080  		byte(uint32(data[5]) >> 2),
  1081  		byte(uint32(data[5]) >> 10),
  1082  		byte(uint32(data[5]) >> 18),
  1083  		byte(uint32(data[5])>>26 | uint32(data[6])<<4),
  1084  		byte(uint32(data[6]) >> 4),
  1085  		byte(uint32(data[6]) >> 12),
  1086  		byte(uint32(data[6]) >> 20),
  1087  		byte(uint32(data[6])>>28 | uint32(data[7])<<2),
  1088  		byte(uint32(data[7]) >> 6),
  1089  		byte(uint32(data[7]) >> 14),
  1090  		byte(uint32(data[7]) >> 22),
  1091  	}
  1092  }
  1093  
  1094  func unpack8int32_31(data []byte) (a [8]int32) {
  1095  	_ = data[30]
  1096  	a[0] = int32(uint32((data[0]>>0)&255)<<0 | uint32((data[1]>>0)&255)<<8 | uint32((data[2]>>0)&255)<<16 | uint32((data[3]>>0)&127)<<24)
  1097  	a[1] = int32(uint32((data[3]>>7)&1)<<0 | uint32((data[4]>>0)&255)<<1 | uint32((data[5]>>0)&255)<<9 | uint32((data[6]>>0)&255)<<17 | uint32((data[7]>>0)&63)<<25)
  1098  	a[2] = int32(uint32((data[7]>>6)&3)<<0 | uint32((data[8]>>0)&255)<<2 | uint32((data[9]>>0)&255)<<10 | uint32((data[10]>>0)&255)<<18 | uint32((data[11]>>0)&31)<<26)
  1099  	a[3] = int32(uint32((data[11]>>5)&7)<<0 | uint32((data[12]>>0)&255)<<3 | uint32((data[13]>>0)&255)<<11 | uint32((data[14]>>0)&255)<<19 | uint32((data[15]>>0)&15)<<27)
  1100  	a[4] = int32(uint32((data[15]>>4)&15)<<0 | uint32((data[16]>>0)&255)<<4 | uint32((data[17]>>0)&255)<<12 | uint32((data[18]>>0)&255)<<20 | uint32((data[19]>>0)&7)<<28)
  1101  	a[5] = int32(uint32((data[19]>>3)&31)<<0 | uint32((data[20]>>0)&255)<<5 | uint32((data[21]>>0)&255)<<13 | uint32((data[22]>>0)&255)<<21 | uint32((data[23]>>0)&3)<<29)
  1102  	a[6] = int32(uint32((data[23]>>2)&63)<<0 | uint32((data[24]>>0)&255)<<6 | uint32((data[25]>>0)&255)<<14 | uint32((data[26]>>0)&255)<<22 | uint32((data[27]>>0)&1)<<30)
  1103  	a[7] = int32(uint32((data[27]>>1)&127)<<0 | uint32((data[28]>>0)&255)<<7 | uint32((data[29]>>0)&255)<<15 | uint32((data[30]>>0)&255)<<23)
  1104  	return
  1105  }
  1106  
  1107  func pack8int32_31(data [8]int32) []byte {
  1108  	return []byte{
  1109  		byte(uint32(data[0]) << 0),
  1110  		byte(uint32(data[0]) >> 8),
  1111  		byte(uint32(data[0]) >> 16),
  1112  		byte(uint32(data[0])>>24 | uint32(data[1])<<7),
  1113  		byte(uint32(data[1]) >> 1),
  1114  		byte(uint32(data[1]) >> 9),
  1115  		byte(uint32(data[1]) >> 17),
  1116  		byte(uint32(data[1])>>25 | uint32(data[2])<<6),
  1117  		byte(uint32(data[2]) >> 2),
  1118  		byte(uint32(data[2]) >> 10),
  1119  		byte(uint32(data[2]) >> 18),
  1120  		byte(uint32(data[2])>>26 | uint32(data[3])<<5),
  1121  		byte(uint32(data[3]) >> 3),
  1122  		byte(uint32(data[3]) >> 11),
  1123  		byte(uint32(data[3]) >> 19),
  1124  		byte(uint32(data[3])>>27 | uint32(data[4])<<4),
  1125  		byte(uint32(data[4]) >> 4),
  1126  		byte(uint32(data[4]) >> 12),
  1127  		byte(uint32(data[4]) >> 20),
  1128  		byte(uint32(data[4])>>28 | uint32(data[5])<<3),
  1129  		byte(uint32(data[5]) >> 5),
  1130  		byte(uint32(data[5]) >> 13),
  1131  		byte(uint32(data[5]) >> 21),
  1132  		byte(uint32(data[5])>>29 | uint32(data[6])<<2),
  1133  		byte(uint32(data[6]) >> 6),
  1134  		byte(uint32(data[6]) >> 14),
  1135  		byte(uint32(data[6]) >> 22),
  1136  		byte(uint32(data[6])>>30 | uint32(data[7])<<1),
  1137  		byte(uint32(data[7]) >> 7),
  1138  		byte(uint32(data[7]) >> 15),
  1139  		byte(uint32(data[7]) >> 23),
  1140  	}
  1141  }
  1142  
  1143  func unpack8int32_32(data []byte) (a [8]int32) {
  1144  	_ = data[31]
  1145  	a[0] = int32(uint32((data[0]>>0)&255)<<0 | uint32((data[1]>>0)&255)<<8 | uint32((data[2]>>0)&255)<<16 | uint32((data[3]>>0)&255)<<24)
  1146  	a[1] = int32(uint32((data[4]>>0)&255)<<0 | uint32((data[5]>>0)&255)<<8 | uint32((data[6]>>0)&255)<<16 | uint32((data[7]>>0)&255)<<24)
  1147  	a[2] = int32(uint32((data[8]>>0)&255)<<0 | uint32((data[9]>>0)&255)<<8 | uint32((data[10]>>0)&255)<<16 | uint32((data[11]>>0)&255)<<24)
  1148  	a[3] = int32(uint32((data[12]>>0)&255)<<0 | uint32((data[13]>>0)&255)<<8 | uint32((data[14]>>0)&255)<<16 | uint32((data[15]>>0)&255)<<24)
  1149  	a[4] = int32(uint32((data[16]>>0)&255)<<0 | uint32((data[17]>>0)&255)<<8 | uint32((data[18]>>0)&255)<<16 | uint32((data[19]>>0)&255)<<24)
  1150  	a[5] = int32(uint32((data[20]>>0)&255)<<0 | uint32((data[21]>>0)&255)<<8 | uint32((data[22]>>0)&255)<<16 | uint32((data[23]>>0)&255)<<24)
  1151  	a[6] = int32(uint32((data[24]>>0)&255)<<0 | uint32((data[25]>>0)&255)<<8 | uint32((data[26]>>0)&255)<<16 | uint32((data[27]>>0)&255)<<24)
  1152  	a[7] = int32(uint32((data[28]>>0)&255)<<0 | uint32((data[29]>>0)&255)<<8 | uint32((data[30]>>0)&255)<<16 | uint32((data[31]>>0)&255)<<24)
  1153  	return
  1154  }
  1155  
  1156  func pack8int32_32(data [8]int32) []byte {
  1157  	return []byte{
  1158  		byte(uint32(data[0]) << 0),
  1159  		byte(uint32(data[0]) >> 8),
  1160  		byte(uint32(data[0]) >> 16),
  1161  		byte(uint32(data[0]) >> 24),
  1162  		byte(uint32(data[1]) << 0),
  1163  		byte(uint32(data[1]) >> 8),
  1164  		byte(uint32(data[1]) >> 16),
  1165  		byte(uint32(data[1]) >> 24),
  1166  		byte(uint32(data[2]) << 0),
  1167  		byte(uint32(data[2]) >> 8),
  1168  		byte(uint32(data[2]) >> 16),
  1169  		byte(uint32(data[2]) >> 24),
  1170  		byte(uint32(data[3]) << 0),
  1171  		byte(uint32(data[3]) >> 8),
  1172  		byte(uint32(data[3]) >> 16),
  1173  		byte(uint32(data[3]) >> 24),
  1174  		byte(uint32(data[4]) << 0),
  1175  		byte(uint32(data[4]) >> 8),
  1176  		byte(uint32(data[4]) >> 16),
  1177  		byte(uint32(data[4]) >> 24),
  1178  		byte(uint32(data[5]) << 0),
  1179  		byte(uint32(data[5]) >> 8),
  1180  		byte(uint32(data[5]) >> 16),
  1181  		byte(uint32(data[5]) >> 24),
  1182  		byte(uint32(data[6]) << 0),
  1183  		byte(uint32(data[6]) >> 8),
  1184  		byte(uint32(data[6]) >> 16),
  1185  		byte(uint32(data[6]) >> 24),
  1186  		byte(uint32(data[7]) << 0),
  1187  		byte(uint32(data[7]) >> 8),
  1188  		byte(uint32(data[7]) >> 16),
  1189  		byte(uint32(data[7]) >> 24),
  1190  	}
  1191  }