@maplibre/mlt 0.0.1-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/README.md +28 -0
  2. package/dist/encodings/decodingUtils.d.ts +13 -0
  3. package/dist/encodings/decodingUtils.js +194 -0
  4. package/dist/encodings/decodingUtils.js.map +1 -0
  5. package/dist/encodings/doubleDecoder.d.ts +4 -0
  6. package/dist/encodings/doubleDecoder.js +22 -0
  7. package/dist/encodings/doubleDecoder.js.map +1 -0
  8. package/dist/encodings/fastpfor/bitpacking.d.ts +51 -0
  9. package/dist/encodings/fastpfor/bitpacking.js +4444 -0
  10. package/dist/encodings/fastpfor/bitpacking.js.map +1 -0
  11. package/dist/encodings/fastpfor/codec.d.ts +19 -0
  12. package/dist/encodings/fastpfor/codec.js +3 -0
  13. package/dist/encodings/fastpfor/codec.js.map +1 -0
  14. package/dist/encodings/fastpfor/fastpfor.d.ts +38 -0
  15. package/dist/encodings/fastpfor/fastpfor.js +123 -0
  16. package/dist/encodings/fastpfor/fastpfor.js.map +1 -0
  17. package/dist/encodings/fastpfor/index.d.ts +20 -0
  18. package/dist/encodings/fastpfor/index.js +47 -0
  19. package/dist/encodings/fastpfor/index.js.map +1 -0
  20. package/dist/encodings/fastpfor/util.d.ts +2 -0
  21. package/dist/encodings/fastpfor/util.js +16 -0
  22. package/dist/encodings/fastpfor/util.js.map +1 -0
  23. package/dist/encodings/fastpfor/varint.d.ts +18 -0
  24. package/dist/encodings/fastpfor/varint.js +125 -0
  25. package/dist/encodings/fastpfor/varint.js.map +1 -0
  26. package/dist/encodings/fsstDecoder.d.ts +9 -0
  27. package/dist/encodings/fsstDecoder.js +34 -0
  28. package/dist/encodings/fsstDecoder.js.map +1 -0
  29. package/dist/encodings/geometryDecoder.d.ts +5 -0
  30. package/dist/encodings/geometryDecoder.js +453 -0
  31. package/dist/encodings/geometryDecoder.js.map +1 -0
  32. package/dist/encodings/geometryScaling.d.ts +6 -0
  33. package/dist/encodings/geometryScaling.js +3 -0
  34. package/dist/encodings/geometryScaling.js.map +1 -0
  35. package/dist/encodings/intWrapper.d.ts +8 -0
  36. package/dist/encodings/intWrapper.js +22 -0
  37. package/dist/encodings/intWrapper.js.map +1 -0
  38. package/dist/encodings/integerDecodingUtils.d.ts +46 -0
  39. package/dist/encodings/integerDecodingUtils.js +703 -0
  40. package/dist/encodings/integerDecodingUtils.js.map +1 -0
  41. package/dist/encodings/integerStreamDecoder.d.ts +26 -0
  42. package/dist/encodings/integerStreamDecoder.js +254 -0
  43. package/dist/encodings/integerStreamDecoder.js.map +1 -0
  44. package/dist/encodings/propertyDecoder.d.ts +4 -0
  45. package/dist/encodings/propertyDecoder.js +194 -0
  46. package/dist/encodings/propertyDecoder.js.map +1 -0
  47. package/dist/encodings/stringDecoder.d.ts +11 -0
  48. package/dist/encodings/stringDecoder.js +148 -0
  49. package/dist/encodings/stringDecoder.js.map +1 -0
  50. package/dist/index.d.ts +8 -0
  51. package/dist/index.js +19 -0
  52. package/dist/index.js.map +1 -0
  53. package/dist/metadata/tile/dictionaryType.d.ts +8 -0
  54. package/dist/metadata/tile/dictionaryType.js +13 -0
  55. package/dist/metadata/tile/dictionaryType.js.map +1 -0
  56. package/dist/metadata/tile/lengthType.d.ts +9 -0
  57. package/dist/metadata/tile/lengthType.js +14 -0
  58. package/dist/metadata/tile/lengthType.js.map +1 -0
  59. package/dist/metadata/tile/logicalLevelTechnique.d.ts +8 -0
  60. package/dist/metadata/tile/logicalLevelTechnique.js +15 -0
  61. package/dist/metadata/tile/logicalLevelTechnique.js.map +1 -0
  62. package/dist/metadata/tile/logicalStreamType.d.ts +12 -0
  63. package/dist/metadata/tile/logicalStreamType.js +21 -0
  64. package/dist/metadata/tile/logicalStreamType.js.map +1 -0
  65. package/dist/metadata/tile/mortonEncodedStreamMetadata.d.ts +15 -0
  66. package/dist/metadata/tile/mortonEncodedStreamMetadata.js +29 -0
  67. package/dist/metadata/tile/mortonEncodedStreamMetadata.js.map +1 -0
  68. package/dist/metadata/tile/offsetType.d.ts +6 -0
  69. package/dist/metadata/tile/offsetType.js +11 -0
  70. package/dist/metadata/tile/offsetType.js.map +1 -0
  71. package/dist/metadata/tile/physicalLevelTechnique.d.ts +17 -0
  72. package/dist/metadata/tile/physicalLevelTechnique.js +22 -0
  73. package/dist/metadata/tile/physicalLevelTechnique.js.map +1 -0
  74. package/dist/metadata/tile/physicalStreamType.d.ts +6 -0
  75. package/dist/metadata/tile/physicalStreamType.js +11 -0
  76. package/dist/metadata/tile/physicalStreamType.js.map +1 -0
  77. package/dist/metadata/tile/rleEncodedStreamMetadata.d.ts +20 -0
  78. package/dist/metadata/tile/rleEncodedStreamMetadata.js +34 -0
  79. package/dist/metadata/tile/rleEncodedStreamMetadata.js.map +1 -0
  80. package/dist/metadata/tile/scalarType.d.ts +12 -0
  81. package/dist/metadata/tile/scalarType.js +17 -0
  82. package/dist/metadata/tile/scalarType.js.map +1 -0
  83. package/dist/metadata/tile/streamMetadata.d.ts +23 -0
  84. package/dist/metadata/tile/streamMetadata.js +71 -0
  85. package/dist/metadata/tile/streamMetadata.js.map +1 -0
  86. package/dist/metadata/tile/streamMetadataDecoder.d.ts +5 -0
  87. package/dist/metadata/tile/streamMetadataDecoder.js +24 -0
  88. package/dist/metadata/tile/streamMetadataDecoder.js.map +1 -0
  89. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.d.ts +10 -0
  90. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js +112 -0
  91. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js.map +1 -0
  92. package/dist/metadata/tileset/tilesetMetadata.g.d.ts +418 -0
  93. package/dist/metadata/tileset/tilesetMetadata.g.js +476 -0
  94. package/dist/metadata/tileset/tilesetMetadata.g.js.map +1 -0
  95. package/dist/metadata/tileset/typeMap.d.ts +38 -0
  96. package/dist/metadata/tileset/typeMap.js +185 -0
  97. package/dist/metadata/tileset/typeMap.js.map +1 -0
  98. package/dist/mltDecoder.d.ts +11 -0
  99. package/dist/mltDecoder.js +146 -0
  100. package/dist/mltDecoder.js.map +1 -0
  101. package/dist/mltMetadata.d.ts +40 -0
  102. package/dist/mltMetadata.js +34 -0
  103. package/dist/mltMetadata.js.map +1 -0
  104. package/dist/vector/constant/intConstVector.d.ts +19 -0
  105. package/dist/vector/constant/intConstVector.js +89 -0
  106. package/dist/vector/constant/intConstVector.js.map +1 -0
  107. package/dist/vector/constant/longConstVector.d.ts +19 -0
  108. package/dist/vector/constant/longConstVector.js +87 -0
  109. package/dist/vector/constant/longConstVector.js.map +1 -0
  110. package/dist/vector/dictionary/stringDictionaryVector.d.ts +22 -0
  111. package/dist/vector/dictionary/stringDictionaryVector.js +180 -0
  112. package/dist/vector/dictionary/stringDictionaryVector.js.map +1 -0
  113. package/dist/vector/featureTable.d.ts +29 -0
  114. package/dist/vector/featureTable.js +70 -0
  115. package/dist/vector/featureTable.js.map +1 -0
  116. package/dist/vector/filter/constSelectionVector.d.ts +0 -0
  117. package/dist/vector/filter/constSelectionVector.js +1 -0
  118. package/dist/vector/filter/constSelectionVector.js.map +1 -0
  119. package/dist/vector/filter/flatSelectionVector.d.ts +16 -0
  120. package/dist/vector/filter/flatSelectionVector.js +42 -0
  121. package/dist/vector/filter/flatSelectionVector.js.map +1 -0
  122. package/dist/vector/filter/selectionVector.d.ts +8 -0
  123. package/dist/vector/filter/selectionVector.js +3 -0
  124. package/dist/vector/filter/selectionVector.js.map +1 -0
  125. package/dist/vector/filter/selectionVectorUtils.d.ts +7 -0
  126. package/dist/vector/filter/selectionVectorUtils.js +44 -0
  127. package/dist/vector/filter/selectionVectorUtils.js.map +1 -0
  128. package/dist/vector/filter/sequenceSelectionVector.d.ts +0 -0
  129. package/dist/vector/filter/sequenceSelectionVector.js +1 -0
  130. package/dist/vector/filter/sequenceSelectionVector.js.map +1 -0
  131. package/dist/vector/fixedSizeVector.d.ts +5 -0
  132. package/dist/vector/fixedSizeVector.js +14 -0
  133. package/dist/vector/fixedSizeVector.js.map +1 -0
  134. package/dist/vector/flat/bitVector.d.ts +14 -0
  135. package/dist/vector/flat/bitVector.js +38 -0
  136. package/dist/vector/flat/bitVector.js.map +1 -0
  137. package/dist/vector/flat/booleanFlatVector.d.ts +20 -0
  138. package/dist/vector/flat/booleanFlatVector.js +55 -0
  139. package/dist/vector/flat/booleanFlatVector.js.map +1 -0
  140. package/dist/vector/flat/doubleFlatVector.d.ts +19 -0
  141. package/dist/vector/flat/doubleFlatVector.js +109 -0
  142. package/dist/vector/flat/doubleFlatVector.js.map +1 -0
  143. package/dist/vector/flat/floatFlatVector.d.ts +19 -0
  144. package/dist/vector/flat/floatFlatVector.js +109 -0
  145. package/dist/vector/flat/floatFlatVector.js.map +1 -0
  146. package/dist/vector/flat/intFlatVector.d.ts +19 -0
  147. package/dist/vector/flat/intFlatVector.js +123 -0
  148. package/dist/vector/flat/intFlatVector.js.map +1 -0
  149. package/dist/vector/flat/longFlatVector.d.ts +19 -0
  150. package/dist/vector/flat/longFlatVector.js +124 -0
  151. package/dist/vector/flat/longFlatVector.js.map +1 -0
  152. package/dist/vector/flat/stringFlatVector.d.ts +20 -0
  153. package/dist/vector/flat/stringFlatVector.js +165 -0
  154. package/dist/vector/flat/stringFlatVector.js.map +1 -0
  155. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.d.ts +27 -0
  156. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js +115 -0
  157. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js.map +1 -0
  158. package/dist/vector/geometry/constGeometryVector.d.ts +17 -0
  159. package/dist/vector/geometry/constGeometryVector.js +51 -0
  160. package/dist/vector/geometry/constGeometryVector.js.map +1 -0
  161. package/dist/vector/geometry/constGpuVector.d.ts +15 -0
  162. package/dist/vector/geometry/constGpuVector.js +66 -0
  163. package/dist/vector/geometry/constGpuVector.js.map +1 -0
  164. package/dist/vector/geometry/flatGeometryVector.d.ts +16 -0
  165. package/dist/vector/geometry/flatGeometryVector.js +64 -0
  166. package/dist/vector/geometry/flatGeometryVector.js.map +1 -0
  167. package/dist/vector/geometry/flatGpuVector.d.ts +14 -0
  168. package/dist/vector/geometry/flatGpuVector.js +67 -0
  169. package/dist/vector/geometry/flatGpuVector.js.map +1 -0
  170. package/dist/vector/geometry/geometryType.d.ts +13 -0
  171. package/dist/vector/geometry/geometryType.js +19 -0
  172. package/dist/vector/geometry/geometryType.js.map +1 -0
  173. package/dist/vector/geometry/geometryVector.d.ts +37 -0
  174. package/dist/vector/geometry/geometryVector.js +73 -0
  175. package/dist/vector/geometry/geometryVector.js.map +1 -0
  176. package/dist/vector/geometry/geometryVectorConverter.d.ts +2 -0
  177. package/dist/vector/geometry/geometryVectorConverter.js +302 -0
  178. package/dist/vector/geometry/geometryVectorConverter.js.map +1 -0
  179. package/dist/vector/geometry/gpuVector.d.ts +21 -0
  180. package/dist/vector/geometry/gpuVector.js +38 -0
  181. package/dist/vector/geometry/gpuVector.js.map +1 -0
  182. package/dist/vector/geometry/point.d.ts +195 -0
  183. package/dist/vector/geometry/point.js +283 -0
  184. package/dist/vector/geometry/point.js.map +1 -0
  185. package/dist/vector/geometry/spaceFillingCurve.d.ts +22 -0
  186. package/dist/vector/geometry/spaceFillingCurve.js +26 -0
  187. package/dist/vector/geometry/spaceFillingCurve.js.map +1 -0
  188. package/dist/vector/geometry/topologyVector.d.ts +9 -0
  189. package/dist/vector/geometry/topologyVector.js +21 -0
  190. package/dist/vector/geometry/topologyVector.js.map +1 -0
  191. package/dist/vector/geometry/zOrderCurve.d.ts +17 -0
  192. package/dist/vector/geometry/zOrderCurve.js +44 -0
  193. package/dist/vector/geometry/zOrderCurve.js.map +1 -0
  194. package/dist/vector/intVector.d.ts +8 -0
  195. package/dist/vector/intVector.js +3 -0
  196. package/dist/vector/intVector.js.map +1 -0
  197. package/dist/vector/sequence/intSequenceVector.d.ts +18 -0
  198. package/dist/vector/sequence/intSequenceVector.js +72 -0
  199. package/dist/vector/sequence/intSequenceVector.js.map +1 -0
  200. package/dist/vector/sequence/longSequenceVector.d.ts +18 -0
  201. package/dist/vector/sequence/longSequenceVector.js +57 -0
  202. package/dist/vector/sequence/longSequenceVector.js.map +1 -0
  203. package/dist/vector/sequence/sequenceVector.d.ts +5 -0
  204. package/dist/vector/sequence/sequenceVector.js +15 -0
  205. package/dist/vector/sequence/sequenceVector.js.map +1 -0
  206. package/dist/vector/variableSizeVector.d.ts +6 -0
  207. package/dist/vector/variableSizeVector.js +16 -0
  208. package/dist/vector/variableSizeVector.js.map +1 -0
  209. package/dist/vector/vector.d.ts +30 -0
  210. package/dist/vector/vector.js +73 -0
  211. package/dist/vector/vector.js.map +1 -0
  212. package/dist/vector/vectorType.d.ts +7 -0
  213. package/dist/vector/vectorType.js +12 -0
  214. package/dist/vector/vectorType.js.map +1 -0
  215. package/package.json +81 -0
@@ -0,0 +1,4444 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fastpack = fastpack;
4
+ exports.fastpackwithoutmask = fastpackwithoutmask;
5
+ exports.fastunpack = fastunpack;
6
+ const util_1 = require("./util");
7
+ /**
8
+ * Pack 32 numberegers
9
+ *
10
+ * @param input
11
+ * source array
12
+ * @param inpos
13
+ * position in source array
14
+ * @param output
15
+ * output array
16
+ * @param outpos
17
+ * position in output array
18
+ * @param bit
19
+ * number of bits to use per numbereger
20
+ */
21
+ function fastpack(input, inpos, output, outpos, bit) {
22
+ switch (bit) {
23
+ case 0:
24
+ fastpack0(input, inpos, output, outpos);
25
+ break;
26
+ case 1:
27
+ fastpack1(input, inpos, output, outpos);
28
+ break;
29
+ case 2:
30
+ fastpack2(input, inpos, output, outpos);
31
+ break;
32
+ case 3:
33
+ fastpack3(input, inpos, output, outpos);
34
+ break;
35
+ case 4:
36
+ fastpack4(input, inpos, output, outpos);
37
+ break;
38
+ case 5:
39
+ fastpack5(input, inpos, output, outpos);
40
+ break;
41
+ case 6:
42
+ fastpack6(input, inpos, output, outpos);
43
+ break;
44
+ case 7:
45
+ fastpack7(input, inpos, output, outpos);
46
+ break;
47
+ case 8:
48
+ fastpack8(input, inpos, output, outpos);
49
+ break;
50
+ case 9:
51
+ fastpack9(input, inpos, output, outpos);
52
+ break;
53
+ case 10:
54
+ fastpack10(input, inpos, output, outpos);
55
+ break;
56
+ case 11:
57
+ fastpack11(input, inpos, output, outpos);
58
+ break;
59
+ case 12:
60
+ fastpack12(input, inpos, output, outpos);
61
+ break;
62
+ case 13:
63
+ fastpack13(input, inpos, output, outpos);
64
+ break;
65
+ case 14:
66
+ fastpack14(input, inpos, output, outpos);
67
+ break;
68
+ case 15:
69
+ fastpack15(input, inpos, output, outpos);
70
+ break;
71
+ case 16:
72
+ fastpack16(input, inpos, output, outpos);
73
+ break;
74
+ case 17:
75
+ fastpack17(input, inpos, output, outpos);
76
+ break;
77
+ case 18:
78
+ fastpack18(input, inpos, output, outpos);
79
+ break;
80
+ case 19:
81
+ fastpack19(input, inpos, output, outpos);
82
+ break;
83
+ case 20:
84
+ fastpack20(input, inpos, output, outpos);
85
+ break;
86
+ case 21:
87
+ fastpack21(input, inpos, output, outpos);
88
+ break;
89
+ case 22:
90
+ fastpack22(input, inpos, output, outpos);
91
+ break;
92
+ case 23:
93
+ fastpack23(input, inpos, output, outpos);
94
+ break;
95
+ case 24:
96
+ fastpack24(input, inpos, output, outpos);
97
+ break;
98
+ case 25:
99
+ fastpack25(input, inpos, output, outpos);
100
+ break;
101
+ case 26:
102
+ fastpack26(input, inpos, output, outpos);
103
+ break;
104
+ case 27:
105
+ fastpack27(input, inpos, output, outpos);
106
+ break;
107
+ case 28:
108
+ fastpack28(input, inpos, output, outpos);
109
+ break;
110
+ case 29:
111
+ fastpack29(input, inpos, output, outpos);
112
+ break;
113
+ case 30:
114
+ fastpack30(input, inpos, output, outpos);
115
+ break;
116
+ case 31:
117
+ fastpack31(input, inpos, output, outpos);
118
+ break;
119
+ case 32:
120
+ fastpack32(input, inpos, output, outpos);
121
+ break;
122
+ default:
123
+ throw new Error("Unsupported bit width.");
124
+ }
125
+ }
126
+ function fastpack0(input, inpos, output, outpos) {
127
+ // nothing
128
+ }
129
+ function fastpack1(input, inpos, output, outpos) {
130
+ output[outpos] = (input[inpos] & 1)
131
+ | ((input[1 + inpos] & 1) << 1)
132
+ | ((input[2 + inpos] & 1) << 2)
133
+ | ((input[3 + inpos] & 1) << 3)
134
+ | ((input[4 + inpos] & 1) << 4)
135
+ | ((input[5 + inpos] & 1) << 5)
136
+ | ((input[6 + inpos] & 1) << 6)
137
+ | ((input[7 + inpos] & 1) << 7)
138
+ | ((input[8 + inpos] & 1) << 8)
139
+ | ((input[9 + inpos] & 1) << 9)
140
+ | ((input[10 + inpos] & 1) << 10)
141
+ | ((input[11 + inpos] & 1) << 11)
142
+ | ((input[12 + inpos] & 1) << 12)
143
+ | ((input[13 + inpos] & 1) << 13)
144
+ | ((input[14 + inpos] & 1) << 14)
145
+ | ((input[15 + inpos] & 1) << 15)
146
+ | ((input[16 + inpos] & 1) << 16)
147
+ | ((input[17 + inpos] & 1) << 17)
148
+ | ((input[18 + inpos] & 1) << 18)
149
+ | ((input[19 + inpos] & 1) << 19)
150
+ | ((input[20 + inpos] & 1) << 20)
151
+ | ((input[21 + inpos] & 1) << 21)
152
+ | ((input[22 + inpos] & 1) << 22)
153
+ | ((input[23 + inpos] & 1) << 23)
154
+ | ((input[24 + inpos] & 1) << 24)
155
+ | ((input[25 + inpos] & 1) << 25)
156
+ | ((input[26 + inpos] & 1) << 26)
157
+ | ((input[27 + inpos] & 1) << 27)
158
+ | ((input[28 + inpos] & 1) << 28)
159
+ | ((input[29 + inpos] & 1) << 29)
160
+ | ((input[30 + inpos] & 1) << 30)
161
+ | ((input[31 + inpos]) << 31);
162
+ }
163
+ function fastpack10(input, inpos, output, outpos) {
164
+ output[outpos] = (input[inpos] & 1023)
165
+ | ((input[1 + inpos] & 1023) << 10)
166
+ | ((input[2 + inpos] & 1023) << 20)
167
+ | ((input[3 + inpos]) << 30);
168
+ output[1 + outpos] = ((input[3 + inpos] & 1023) >>> (10 - 8))
169
+ | ((input[4 + inpos] & 1023) << 8)
170
+ | ((input[5 + inpos] & 1023) << 18)
171
+ | ((input[6 + inpos]) << 28);
172
+ output[2 + outpos] = ((input[6 + inpos] & 1023) >>> (10 - 6))
173
+ | ((input[7 + inpos] & 1023) << 6)
174
+ | ((input[8 + inpos] & 1023) << 16)
175
+ | ((input[9 + inpos]) << 26);
176
+ output[3 + outpos] = ((input[9 + inpos] & 1023) >>> (10 - 4))
177
+ | ((input[10 + inpos] & 1023) << 4)
178
+ | ((input[11 + inpos] & 1023) << 14)
179
+ | ((input[12 + inpos]) << 24);
180
+ output[4 + outpos] = ((input[12 + inpos] & 1023) >>> (10 - 2))
181
+ | ((input[13 + inpos] & 1023) << 2)
182
+ | ((input[14 + inpos] & 1023) << 12)
183
+ | ((input[15 + inpos]) << 22);
184
+ output[5 + outpos] = (input[16 + inpos] & 1023)
185
+ | ((input[17 + inpos] & 1023) << 10)
186
+ | ((input[18 + inpos] & 1023) << 20)
187
+ | ((input[19 + inpos]) << 30);
188
+ output[6 + outpos] = ((input[19 + inpos] & 1023) >>> (10 - 8))
189
+ | ((input[20 + inpos] & 1023) << 8)
190
+ | ((input[21 + inpos] & 1023) << 18)
191
+ | ((input[22 + inpos]) << 28);
192
+ output[7 + outpos] = ((input[22 + inpos] & 1023) >>> (10 - 6))
193
+ | ((input[23 + inpos] & 1023) << 6)
194
+ | ((input[24 + inpos] & 1023) << 16)
195
+ | ((input[25 + inpos]) << 26);
196
+ output[8 + outpos] = ((input[25 + inpos] & 1023) >>> (10 - 4))
197
+ | ((input[26 + inpos] & 1023) << 4)
198
+ | ((input[27 + inpos] & 1023) << 14)
199
+ | ((input[28 + inpos]) << 24);
200
+ output[9 + outpos] = ((input[28 + inpos] & 1023) >>> (10 - 2))
201
+ | ((input[29 + inpos] & 1023) << 2)
202
+ | ((input[30 + inpos] & 1023) << 12)
203
+ | ((input[31 + inpos]) << 22);
204
+ }
205
+ function fastpack11(input, inpos, output, outpos) {
206
+ output[outpos] = (input[inpos] & 2047)
207
+ | ((input[1 + inpos] & 2047) << 11)
208
+ | ((input[2 + inpos]) << 22);
209
+ output[1 + outpos] = ((input[2 + inpos] & 2047) >>> (11 - 1))
210
+ | ((input[3 + inpos] & 2047) << 1)
211
+ | ((input[4 + inpos] & 2047) << 12)
212
+ | ((input[5 + inpos]) << 23);
213
+ output[2 + outpos] = ((input[5 + inpos] & 2047) >>> (11 - 2))
214
+ | ((input[6 + inpos] & 2047) << 2)
215
+ | ((input[7 + inpos] & 2047) << 13)
216
+ | ((input[8 + inpos]) << 24);
217
+ output[3 + outpos] = ((input[8 + inpos] & 2047) >>> (11 - 3))
218
+ | ((input[9 + inpos] & 2047) << 3)
219
+ | ((input[10 + inpos] & 2047) << 14)
220
+ | ((input[11 + inpos]) << 25);
221
+ output[4 + outpos] = ((input[11 + inpos] & 2047) >>> (11 - 4))
222
+ | ((input[12 + inpos] & 2047) << 4)
223
+ | ((input[13 + inpos] & 2047) << 15)
224
+ | ((input[14 + inpos]) << 26);
225
+ output[5 + outpos] = ((input[14 + inpos] & 2047) >>> (11 - 5))
226
+ | ((input[15 + inpos] & 2047) << 5)
227
+ | ((input[16 + inpos] & 2047) << 16)
228
+ | ((input[17 + inpos]) << 27);
229
+ output[6 + outpos] = ((input[17 + inpos] & 2047) >>> (11 - 6))
230
+ | ((input[18 + inpos] & 2047) << 6)
231
+ | ((input[19 + inpos] & 2047) << 17)
232
+ | ((input[20 + inpos]) << 28);
233
+ output[7 + outpos] = ((input[20 + inpos] & 2047) >>> (11 - 7))
234
+ | ((input[21 + inpos] & 2047) << 7)
235
+ | ((input[22 + inpos] & 2047) << 18)
236
+ | ((input[23 + inpos]) << 29);
237
+ output[8 + outpos] = ((input[23 + inpos] & 2047) >>> (11 - 8))
238
+ | ((input[24 + inpos] & 2047) << 8)
239
+ | ((input[25 + inpos] & 2047) << 19)
240
+ | ((input[26 + inpos]) << 30);
241
+ output[9 + outpos] = ((input[26 + inpos] & 2047) >>> (11 - 9))
242
+ | ((input[27 + inpos] & 2047) << 9)
243
+ | ((input[28 + inpos] & 2047) << 20)
244
+ | ((input[29 + inpos]) << 31);
245
+ output[10 + outpos] = ((input[29 + inpos] & 2047) >>> (11 - 10))
246
+ | ((input[30 + inpos] & 2047) << 10)
247
+ | ((input[31 + inpos]) << 21);
248
+ }
249
+ function fastpack12(input, inpos, output, outpos) {
250
+ output[outpos] = (input[inpos] & 4095)
251
+ | ((input[1 + inpos] & 4095) << 12)
252
+ | ((input[2 + inpos]) << 24);
253
+ output[1 + outpos] = ((input[2 + inpos] & 4095) >>> (12 - 4))
254
+ | ((input[3 + inpos] & 4095) << 4)
255
+ | ((input[4 + inpos] & 4095) << 16)
256
+ | ((input[5 + inpos]) << 28);
257
+ output[2 + outpos] = ((input[5 + inpos] & 4095) >>> (12 - 8))
258
+ | ((input[6 + inpos] & 4095) << 8)
259
+ | ((input[7 + inpos]) << 20);
260
+ output[3 + outpos] = (input[8 + inpos] & 4095)
261
+ | ((input[9 + inpos] & 4095) << 12)
262
+ | ((input[10 + inpos]) << 24);
263
+ output[4 + outpos] = ((input[10 + inpos] & 4095) >>> (12 - 4))
264
+ | ((input[11 + inpos] & 4095) << 4)
265
+ | ((input[12 + inpos] & 4095) << 16)
266
+ | ((input[13 + inpos]) << 28);
267
+ output[5 + outpos] = ((input[13 + inpos] & 4095) >>> (12 - 8))
268
+ | ((input[14 + inpos] & 4095) << 8)
269
+ | ((input[15 + inpos]) << 20);
270
+ output[6 + outpos] = (input[16 + inpos] & 4095)
271
+ | ((input[17 + inpos] & 4095) << 12)
272
+ | ((input[18 + inpos]) << 24);
273
+ output[7 + outpos] = ((input[18 + inpos] & 4095) >>> (12 - 4))
274
+ | ((input[19 + inpos] & 4095) << 4)
275
+ | ((input[20 + inpos] & 4095) << 16)
276
+ | ((input[21 + inpos]) << 28);
277
+ output[8 + outpos] = ((input[21 + inpos] & 4095) >>> (12 - 8))
278
+ | ((input[22 + inpos] & 4095) << 8)
279
+ | ((input[23 + inpos]) << 20);
280
+ output[9 + outpos] = (input[24 + inpos] & 4095)
281
+ | ((input[25 + inpos] & 4095) << 12)
282
+ | ((input[26 + inpos]) << 24);
283
+ output[10 + outpos] = ((input[26 + inpos] & 4095) >>> (12 - 4))
284
+ | ((input[27 + inpos] & 4095) << 4)
285
+ | ((input[28 + inpos] & 4095) << 16)
286
+ | ((input[29 + inpos]) << 28);
287
+ output[11 + outpos] = ((input[29 + inpos] & 4095) >>> (12 - 8))
288
+ | ((input[30 + inpos] & 4095) << 8)
289
+ | ((input[31 + inpos]) << 20);
290
+ }
291
+ function fastpack13(input, inpos, output, outpos) {
292
+ output[outpos] = (input[inpos] & 8191)
293
+ | ((input[1 + inpos] & 8191) << 13)
294
+ | ((input[2 + inpos]) << 26);
295
+ output[1 + outpos] = ((input[2 + inpos] & 8191) >>> (13 - 7))
296
+ | ((input[3 + inpos] & 8191) << 7)
297
+ | ((input[4 + inpos]) << 20);
298
+ output[2 + outpos] = ((input[4 + inpos] & 8191) >>> (13 - 1))
299
+ | ((input[5 + inpos] & 8191) << 1)
300
+ | ((input[6 + inpos] & 8191) << 14)
301
+ | ((input[7 + inpos]) << 27);
302
+ output[3 + outpos] = ((input[7 + inpos] & 8191) >>> (13 - 8))
303
+ | ((input[8 + inpos] & 8191) << 8)
304
+ | ((input[9 + inpos]) << 21);
305
+ output[4 + outpos] = ((input[9 + inpos] & 8191) >>> (13 - 2))
306
+ | ((input[10 + inpos] & 8191) << 2)
307
+ | ((input[11 + inpos] & 8191) << 15)
308
+ | ((input[12 + inpos]) << 28);
309
+ output[5 + outpos] = ((input[12 + inpos] & 8191) >>> (13 - 9))
310
+ | ((input[13 + inpos] & 8191) << 9)
311
+ | ((input[14 + inpos]) << 22);
312
+ output[6 + outpos] = ((input[14 + inpos] & 8191) >>> (13 - 3))
313
+ | ((input[15 + inpos] & 8191) << 3)
314
+ | ((input[16 + inpos] & 8191) << 16)
315
+ | ((input[17 + inpos]) << 29);
316
+ output[7 + outpos] = ((input[17 + inpos] & 8191) >>> (13 - 10))
317
+ | ((input[18 + inpos] & 8191) << 10)
318
+ | ((input[19 + inpos]) << 23);
319
+ output[8 + outpos] = ((input[19 + inpos] & 8191) >>> (13 - 4))
320
+ | ((input[20 + inpos] & 8191) << 4)
321
+ | ((input[21 + inpos] & 8191) << 17)
322
+ | ((input[22 + inpos]) << 30);
323
+ output[9 + outpos] = ((input[22 + inpos] & 8191) >>> (13 - 11))
324
+ | ((input[23 + inpos] & 8191) << 11)
325
+ | ((input[24 + inpos]) << 24);
326
+ output[10 + outpos] = ((input[24 + inpos] & 8191) >>> (13 - 5))
327
+ | ((input[25 + inpos] & 8191) << 5)
328
+ | ((input[26 + inpos] & 8191) << 18)
329
+ | ((input[27 + inpos]) << 31);
330
+ output[11 + outpos] = ((input[27 + inpos] & 8191) >>> (13 - 12))
331
+ | ((input[28 + inpos] & 8191) << 12)
332
+ | ((input[29 + inpos]) << 25);
333
+ output[12 + outpos] = ((input[29 + inpos] & 8191) >>> (13 - 6))
334
+ | ((input[30 + inpos] & 8191) << 6)
335
+ | ((input[31 + inpos]) << 19);
336
+ }
337
+ function fastpack14(input, inpos, output, outpos) {
338
+ output[outpos] = (input[inpos] & 16383)
339
+ | ((input[1 + inpos] & 16383) << 14)
340
+ | ((input[2 + inpos]) << 28);
341
+ output[1 + outpos] = ((input[2 + inpos] & 16383) >>> (14 - 10))
342
+ | ((input[3 + inpos] & 16383) << 10)
343
+ | ((input[4 + inpos]) << 24);
344
+ output[2 + outpos] = ((input[4 + inpos] & 16383) >>> (14 - 6))
345
+ | ((input[5 + inpos] & 16383) << 6)
346
+ | ((input[6 + inpos]) << 20);
347
+ output[3 + outpos] = ((input[6 + inpos] & 16383) >>> (14 - 2))
348
+ | ((input[7 + inpos] & 16383) << 2)
349
+ | ((input[8 + inpos] & 16383) << 16)
350
+ | ((input[9 + inpos]) << 30);
351
+ output[4 + outpos] = ((input[9 + inpos] & 16383) >>> (14 - 12))
352
+ | ((input[10 + inpos] & 16383) << 12)
353
+ | ((input[11 + inpos]) << 26);
354
+ output[5 + outpos] = ((input[11 + inpos] & 16383) >>> (14 - 8))
355
+ | ((input[12 + inpos] & 16383) << 8)
356
+ | ((input[13 + inpos]) << 22);
357
+ output[6 + outpos] = ((input[13 + inpos] & 16383) >>> (14 - 4))
358
+ | ((input[14 + inpos] & 16383) << 4)
359
+ | ((input[15 + inpos]) << 18);
360
+ output[7 + outpos] = (input[16 + inpos] & 16383)
361
+ | ((input[17 + inpos] & 16383) << 14)
362
+ | ((input[18 + inpos]) << 28);
363
+ output[8 + outpos] = ((input[18 + inpos] & 16383) >>> (14 - 10))
364
+ | ((input[19 + inpos] & 16383) << 10)
365
+ | ((input[20 + inpos]) << 24);
366
+ output[9 + outpos] = ((input[20 + inpos] & 16383) >>> (14 - 6))
367
+ | ((input[21 + inpos] & 16383) << 6)
368
+ | ((input[22 + inpos]) << 20);
369
+ output[10 + outpos] = ((input[22 + inpos] & 16383) >>> (14 - 2))
370
+ | ((input[23 + inpos] & 16383) << 2)
371
+ | ((input[24 + inpos] & 16383) << 16)
372
+ | ((input[25 + inpos]) << 30);
373
+ output[11 + outpos] = ((input[25 + inpos] & 16383) >>> (14 - 12))
374
+ | ((input[26 + inpos] & 16383) << 12)
375
+ | ((input[27 + inpos]) << 26);
376
+ output[12 + outpos] = ((input[27 + inpos] & 16383) >>> (14 - 8))
377
+ | ((input[28 + inpos] & 16383) << 8)
378
+ | ((input[29 + inpos]) << 22);
379
+ output[13 + outpos] = ((input[29 + inpos] & 16383) >>> (14 - 4))
380
+ | ((input[30 + inpos] & 16383) << 4)
381
+ | ((input[31 + inpos]) << 18);
382
+ }
383
+ function fastpack15(input, inpos, output, outpos) {
384
+ output[outpos] = (input[inpos] & 32767)
385
+ | ((input[1 + inpos] & 32767) << 15)
386
+ | ((input[2 + inpos]) << 30);
387
+ output[1 + outpos] = ((input[2 + inpos] & 32767) >>> (15 - 13))
388
+ | ((input[3 + inpos] & 32767) << 13)
389
+ | ((input[4 + inpos]) << 28);
390
+ output[2 + outpos] = ((input[4 + inpos] & 32767) >>> (15 - 11))
391
+ | ((input[5 + inpos] & 32767) << 11)
392
+ | ((input[6 + inpos]) << 26);
393
+ output[3 + outpos] = ((input[6 + inpos] & 32767) >>> (15 - 9))
394
+ | ((input[7 + inpos] & 32767) << 9)
395
+ | ((input[8 + inpos]) << 24);
396
+ output[4 + outpos] = ((input[8 + inpos] & 32767) >>> (15 - 7))
397
+ | ((input[9 + inpos] & 32767) << 7)
398
+ | ((input[10 + inpos]) << 22);
399
+ output[5 + outpos] = ((input[10 + inpos] & 32767) >>> (15 - 5))
400
+ | ((input[11 + inpos] & 32767) << 5)
401
+ | ((input[12 + inpos]) << 20);
402
+ output[6 + outpos] = ((input[12 + inpos] & 32767) >>> (15 - 3))
403
+ | ((input[13 + inpos] & 32767) << 3)
404
+ | ((input[14 + inpos]) << 18);
405
+ output[7 + outpos] = ((input[14 + inpos] & 32767) >>> (15 - 1))
406
+ | ((input[15 + inpos] & 32767) << 1)
407
+ | ((input[16 + inpos] & 32767) << 16)
408
+ | ((input[17 + inpos]) << 31);
409
+ output[8 + outpos] = ((input[17 + inpos] & 32767) >>> (15 - 14))
410
+ | ((input[18 + inpos] & 32767) << 14)
411
+ | ((input[19 + inpos]) << 29);
412
+ output[9 + outpos] = ((input[19 + inpos] & 32767) >>> (15 - 12))
413
+ | ((input[20 + inpos] & 32767) << 12)
414
+ | ((input[21 + inpos]) << 27);
415
+ output[10 + outpos] = ((input[21 + inpos] & 32767) >>> (15 - 10))
416
+ | ((input[22 + inpos] & 32767) << 10)
417
+ | ((input[23 + inpos]) << 25);
418
+ output[11 + outpos] = ((input[23 + inpos] & 32767) >>> (15 - 8))
419
+ | ((input[24 + inpos] & 32767) << 8)
420
+ | ((input[25 + inpos]) << 23);
421
+ output[12 + outpos] = ((input[25 + inpos] & 32767) >>> (15 - 6))
422
+ | ((input[26 + inpos] & 32767) << 6)
423
+ | ((input[27 + inpos]) << 21);
424
+ output[13 + outpos] = ((input[27 + inpos] & 32767) >>> (15 - 4))
425
+ | ((input[28 + inpos] & 32767) << 4)
426
+ | ((input[29 + inpos]) << 19);
427
+ output[14 + outpos] = ((input[29 + inpos] & 32767) >>> (15 - 2))
428
+ | ((input[30 + inpos] & 32767) << 2)
429
+ | ((input[31 + inpos]) << 17);
430
+ }
431
+ function fastpack16(input, inpos, output, outpos) {
432
+ output[outpos] = (input[inpos] & 65535)
433
+ | ((input[1 + inpos]) << 16);
434
+ output[1 + outpos] = (input[2 + inpos] & 65535)
435
+ | ((input[3 + inpos]) << 16);
436
+ output[2 + outpos] = (input[4 + inpos] & 65535)
437
+ | ((input[5 + inpos]) << 16);
438
+ output[3 + outpos] = (input[6 + inpos] & 65535)
439
+ | ((input[7 + inpos]) << 16);
440
+ output[4 + outpos] = (input[8 + inpos] & 65535)
441
+ | ((input[9 + inpos]) << 16);
442
+ output[5 + outpos] = (input[10 + inpos] & 65535)
443
+ | ((input[11 + inpos]) << 16);
444
+ output[6 + outpos] = (input[12 + inpos] & 65535)
445
+ | ((input[13 + inpos]) << 16);
446
+ output[7 + outpos] = (input[14 + inpos] & 65535)
447
+ | ((input[15 + inpos]) << 16);
448
+ output[8 + outpos] = (input[16 + inpos] & 65535)
449
+ | ((input[17 + inpos]) << 16);
450
+ output[9 + outpos] = (input[18 + inpos] & 65535)
451
+ | ((input[19 + inpos]) << 16);
452
+ output[10 + outpos] = (input[20 + inpos] & 65535)
453
+ | ((input[21 + inpos]) << 16);
454
+ output[11 + outpos] = (input[22 + inpos] & 65535)
455
+ | ((input[23 + inpos]) << 16);
456
+ output[12 + outpos] = (input[24 + inpos] & 65535)
457
+ | ((input[25 + inpos]) << 16);
458
+ output[13 + outpos] = (input[26 + inpos] & 65535)
459
+ | ((input[27 + inpos]) << 16);
460
+ output[14 + outpos] = (input[28 + inpos] & 65535)
461
+ | ((input[29 + inpos]) << 16);
462
+ output[15 + outpos] = (input[30 + inpos] & 65535)
463
+ | ((input[31 + inpos]) << 16);
464
+ }
465
+ function fastpack17(input, inpos, output, outpos) {
466
+ output[outpos] = (input[inpos] & 131071)
467
+ | ((input[1 + inpos]) << 17);
468
+ output[1 + outpos] = ((input[1 + inpos] & 131071) >>> (17 - 2))
469
+ | ((input[2 + inpos] & 131071) << 2)
470
+ | ((input[3 + inpos]) << 19);
471
+ output[2 + outpos] = ((input[3 + inpos] & 131071) >>> (17 - 4))
472
+ | ((input[4 + inpos] & 131071) << 4)
473
+ | ((input[5 + inpos]) << 21);
474
+ output[3 + outpos] = ((input[5 + inpos] & 131071) >>> (17 - 6))
475
+ | ((input[6 + inpos] & 131071) << 6)
476
+ | ((input[7 + inpos]) << 23);
477
+ output[4 + outpos] = ((input[7 + inpos] & 131071) >>> (17 - 8))
478
+ | ((input[8 + inpos] & 131071) << 8)
479
+ | ((input[9 + inpos]) << 25);
480
+ output[5 + outpos] = ((input[9 + inpos] & 131071) >>> (17 - 10))
481
+ | ((input[10 + inpos] & 131071) << 10)
482
+ | ((input[11 + inpos]) << 27);
483
+ output[6 + outpos] = ((input[11 + inpos] & 131071) >>> (17 - 12))
484
+ | ((input[12 + inpos] & 131071) << 12)
485
+ | ((input[13 + inpos]) << 29);
486
+ output[7 + outpos] = ((input[13 + inpos] & 131071) >>> (17 - 14))
487
+ | ((input[14 + inpos] & 131071) << 14)
488
+ | ((input[15 + inpos]) << 31);
489
+ output[8 + outpos] = ((input[15 + inpos] & 131071) >>> (17 - 16))
490
+ | ((input[16 + inpos]) << 16);
491
+ output[9 + outpos] = ((input[16 + inpos] & 131071) >>> (17 - 1))
492
+ | ((input[17 + inpos] & 131071) << 1)
493
+ | ((input[18 + inpos]) << 18);
494
+ output[10 + outpos] = ((input[18 + inpos] & 131071) >>> (17 - 3))
495
+ | ((input[19 + inpos] & 131071) << 3)
496
+ | ((input[20 + inpos]) << 20);
497
+ output[11 + outpos] = ((input[20 + inpos] & 131071) >>> (17 - 5))
498
+ | ((input[21 + inpos] & 131071) << 5)
499
+ | ((input[22 + inpos]) << 22);
500
+ output[12 + outpos] = ((input[22 + inpos] & 131071) >>> (17 - 7))
501
+ | ((input[23 + inpos] & 131071) << 7)
502
+ | ((input[24 + inpos]) << 24);
503
+ output[13 + outpos] = ((input[24 + inpos] & 131071) >>> (17 - 9))
504
+ | ((input[25 + inpos] & 131071) << 9)
505
+ | ((input[26 + inpos]) << 26);
506
+ output[14 + outpos] = ((input[26 + inpos] & 131071) >>> (17 - 11))
507
+ | ((input[27 + inpos] & 131071) << 11)
508
+ | ((input[28 + inpos]) << 28);
509
+ output[15 + outpos] = ((input[28 + inpos] & 131071) >>> (17 - 13))
510
+ | ((input[29 + inpos] & 131071) << 13)
511
+ | ((input[30 + inpos]) << 30);
512
+ output[16 + outpos] = ((input[30 + inpos] & 131071) >>> (17 - 15))
513
+ | ((input[31 + inpos]) << 15);
514
+ }
515
+ function fastpack18(input, inpos, output, outpos) {
516
+ output[outpos] = (input[inpos] & 262143)
517
+ | ((input[1 + inpos]) << 18);
518
+ output[1 + outpos] = ((input[1 + inpos] & 262143) >>> (18 - 4))
519
+ | ((input[2 + inpos] & 262143) << 4)
520
+ | ((input[3 + inpos]) << 22);
521
+ output[2 + outpos] = ((input[3 + inpos] & 262143) >>> (18 - 8))
522
+ | ((input[4 + inpos] & 262143) << 8)
523
+ | ((input[5 + inpos]) << 26);
524
+ output[3 + outpos] = ((input[5 + inpos] & 262143) >>> (18 - 12))
525
+ | ((input[6 + inpos] & 262143) << 12)
526
+ | ((input[7 + inpos]) << 30);
527
+ output[4 + outpos] = ((input[7 + inpos] & 262143) >>> (18 - 16))
528
+ | ((input[8 + inpos]) << 16);
529
+ output[5 + outpos] = ((input[8 + inpos] & 262143) >>> (18 - 2))
530
+ | ((input[9 + inpos] & 262143) << 2)
531
+ | ((input[10 + inpos]) << 20);
532
+ output[6 + outpos] = ((input[10 + inpos] & 262143) >>> (18 - 6))
533
+ | ((input[11 + inpos] & 262143) << 6)
534
+ | ((input[12 + inpos]) << 24);
535
+ output[7 + outpos] = ((input[12 + inpos] & 262143) >>> (18 - 10))
536
+ | ((input[13 + inpos] & 262143) << 10)
537
+ | ((input[14 + inpos]) << 28);
538
+ output[8 + outpos] = ((input[14 + inpos] & 262143) >>> (18 - 14))
539
+ | ((input[15 + inpos]) << 14);
540
+ output[9 + outpos] = (input[16 + inpos] & 262143)
541
+ | ((input[17 + inpos]) << 18);
542
+ output[10 + outpos] = ((input[17 + inpos] & 262143) >>> (18 - 4))
543
+ | ((input[18 + inpos] & 262143) << 4)
544
+ | ((input[19 + inpos]) << 22);
545
+ output[11 + outpos] = ((input[19 + inpos] & 262143) >>> (18 - 8))
546
+ | ((input[20 + inpos] & 262143) << 8)
547
+ | ((input[21 + inpos]) << 26);
548
+ output[12 + outpos] = ((input[21 + inpos] & 262143) >>> (18 - 12))
549
+ | ((input[22 + inpos] & 262143) << 12)
550
+ | ((input[23 + inpos]) << 30);
551
+ output[13 + outpos] = ((input[23 + inpos] & 262143) >>> (18 - 16))
552
+ | ((input[24 + inpos]) << 16);
553
+ output[14 + outpos] = ((input[24 + inpos] & 262143) >>> (18 - 2))
554
+ | ((input[25 + inpos] & 262143) << 2)
555
+ | ((input[26 + inpos]) << 20);
556
+ output[15 + outpos] = ((input[26 + inpos] & 262143) >>> (18 - 6))
557
+ | ((input[27 + inpos] & 262143) << 6)
558
+ | ((input[28 + inpos]) << 24);
559
+ output[16 + outpos] = ((input[28 + inpos] & 262143) >>> (18 - 10))
560
+ | ((input[29 + inpos] & 262143) << 10)
561
+ | ((input[30 + inpos]) << 28);
562
+ output[17 + outpos] = ((input[30 + inpos] & 262143) >>> (18 - 14))
563
+ | ((input[31 + inpos]) << 14);
564
+ }
565
+ function fastpack19(input, inpos, output, outpos) {
566
+ output[outpos] = (input[inpos] & 524287)
567
+ | ((input[1 + inpos]) << 19);
568
+ output[1 + outpos] = ((input[1 + inpos] & 524287) >>> (19 - 6))
569
+ | ((input[2 + inpos] & 524287) << 6)
570
+ | ((input[3 + inpos]) << 25);
571
+ output[2 + outpos] = ((input[3 + inpos] & 524287) >>> (19 - 12))
572
+ | ((input[4 + inpos] & 524287) << 12)
573
+ | ((input[5 + inpos]) << 31);
574
+ output[3 + outpos] = ((input[5 + inpos] & 524287) >>> (19 - 18))
575
+ | ((input[6 + inpos]) << 18);
576
+ output[4 + outpos] = ((input[6 + inpos] & 524287) >>> (19 - 5))
577
+ | ((input[7 + inpos] & 524287) << 5)
578
+ | ((input[8 + inpos]) << 24);
579
+ output[5 + outpos] = ((input[8 + inpos] & 524287) >>> (19 - 11))
580
+ | ((input[9 + inpos] & 524287) << 11)
581
+ | ((input[10 + inpos]) << 30);
582
+ output[6 + outpos] = ((input[10 + inpos] & 524287) >>> (19 - 17))
583
+ | ((input[11 + inpos]) << 17);
584
+ output[7 + outpos] = ((input[11 + inpos] & 524287) >>> (19 - 4))
585
+ | ((input[12 + inpos] & 524287) << 4)
586
+ | ((input[13 + inpos]) << 23);
587
+ output[8 + outpos] = ((input[13 + inpos] & 524287) >>> (19 - 10))
588
+ | ((input[14 + inpos] & 524287) << 10)
589
+ | ((input[15 + inpos]) << 29);
590
+ output[9 + outpos] = ((input[15 + inpos] & 524287) >>> (19 - 16))
591
+ | ((input[16 + inpos]) << 16);
592
+ output[10 + outpos] = ((input[16 + inpos] & 524287) >>> (19 - 3))
593
+ | ((input[17 + inpos] & 524287) << 3)
594
+ | ((input[18 + inpos]) << 22);
595
+ output[11 + outpos] = ((input[18 + inpos] & 524287) >>> (19 - 9))
596
+ | ((input[19 + inpos] & 524287) << 9)
597
+ | ((input[20 + inpos]) << 28);
598
+ output[12 + outpos] = ((input[20 + inpos] & 524287) >>> (19 - 15))
599
+ | ((input[21 + inpos]) << 15);
600
+ output[13 + outpos] = ((input[21 + inpos] & 524287) >>> (19 - 2))
601
+ | ((input[22 + inpos] & 524287) << 2)
602
+ | ((input[23 + inpos]) << 21);
603
+ output[14 + outpos] = ((input[23 + inpos] & 524287) >>> (19 - 8))
604
+ | ((input[24 + inpos] & 524287) << 8)
605
+ | ((input[25 + inpos]) << 27);
606
+ output[15 + outpos] = ((input[25 + inpos] & 524287) >>> (19 - 14))
607
+ | ((input[26 + inpos]) << 14);
608
+ output[16 + outpos] = ((input[26 + inpos] & 524287) >>> (19 - 1))
609
+ | ((input[27 + inpos] & 524287) << 1)
610
+ | ((input[28 + inpos]) << 20);
611
+ output[17 + outpos] = ((input[28 + inpos] & 524287) >>> (19 - 7))
612
+ | ((input[29 + inpos] & 524287) << 7)
613
+ | ((input[30 + inpos]) << 26);
614
+ output[18 + outpos] = ((input[30 + inpos] & 524287) >>> (19 - 13))
615
+ | ((input[31 + inpos]) << 13);
616
+ }
617
+ function fastpack2(input, inpos, output, outpos) {
618
+ output[outpos] = (input[inpos] & 3)
619
+ | ((input[1 + inpos] & 3) << 2)
620
+ | ((input[2 + inpos] & 3) << 4)
621
+ | ((input[3 + inpos] & 3) << 6)
622
+ | ((input[4 + inpos] & 3) << 8)
623
+ | ((input[5 + inpos] & 3) << 10)
624
+ | ((input[6 + inpos] & 3) << 12)
625
+ | ((input[7 + inpos] & 3) << 14)
626
+ | ((input[8 + inpos] & 3) << 16)
627
+ | ((input[9 + inpos] & 3) << 18)
628
+ | ((input[10 + inpos] & 3) << 20)
629
+ | ((input[11 + inpos] & 3) << 22)
630
+ | ((input[12 + inpos] & 3) << 24)
631
+ | ((input[13 + inpos] & 3) << 26)
632
+ | ((input[14 + inpos] & 3) << 28)
633
+ | ((input[15 + inpos]) << 30);
634
+ output[1 + outpos] = (input[16 + inpos] & 3)
635
+ | ((input[17 + inpos] & 3) << 2)
636
+ | ((input[18 + inpos] & 3) << 4)
637
+ | ((input[19 + inpos] & 3) << 6)
638
+ | ((input[20 + inpos] & 3) << 8)
639
+ | ((input[21 + inpos] & 3) << 10)
640
+ | ((input[22 + inpos] & 3) << 12)
641
+ | ((input[23 + inpos] & 3) << 14)
642
+ | ((input[24 + inpos] & 3) << 16)
643
+ | ((input[25 + inpos] & 3) << 18)
644
+ | ((input[26 + inpos] & 3) << 20)
645
+ | ((input[27 + inpos] & 3) << 22)
646
+ | ((input[28 + inpos] & 3) << 24)
647
+ | ((input[29 + inpos] & 3) << 26)
648
+ | ((input[30 + inpos] & 3) << 28)
649
+ | ((input[31 + inpos]) << 30);
650
+ }
651
+ function fastpack20(input, inpos, output, outpos) {
652
+ output[outpos] = (input[inpos] & 1048575)
653
+ | ((input[1 + inpos]) << 20);
654
+ output[1 + outpos] = ((input[1 + inpos] & 1048575) >>> (20 - 8))
655
+ | ((input[2 + inpos] & 1048575) << 8)
656
+ | ((input[3 + inpos]) << 28);
657
+ output[2 + outpos] = ((input[3 + inpos] & 1048575) >>> (20 - 16))
658
+ | ((input[4 + inpos]) << 16);
659
+ output[3 + outpos] = ((input[4 + inpos] & 1048575) >>> (20 - 4))
660
+ | ((input[5 + inpos] & 1048575) << 4)
661
+ | ((input[6 + inpos]) << 24);
662
+ output[4 + outpos] = ((input[6 + inpos] & 1048575) >>> (20 - 12))
663
+ | ((input[7 + inpos]) << 12);
664
+ output[5 + outpos] = (input[8 + inpos] & 1048575)
665
+ | ((input[9 + inpos]) << 20);
666
+ output[6 + outpos] = ((input[9 + inpos] & 1048575) >>> (20 - 8))
667
+ | ((input[10 + inpos] & 1048575) << 8)
668
+ | ((input[11 + inpos]) << 28);
669
+ output[7 + outpos] = ((input[11 + inpos] & 1048575) >>> (20 - 16))
670
+ | ((input[12 + inpos]) << 16);
671
+ output[8 + outpos] = ((input[12 + inpos] & 1048575) >>> (20 - 4))
672
+ | ((input[13 + inpos] & 1048575) << 4)
673
+ | ((input[14 + inpos]) << 24);
674
+ output[9 + outpos] = ((input[14 + inpos] & 1048575) >>> (20 - 12))
675
+ | ((input[15 + inpos]) << 12);
676
+ output[10 + outpos] = (input[16 + inpos] & 1048575)
677
+ | ((input[17 + inpos]) << 20);
678
+ output[11 + outpos] = ((input[17 + inpos] & 1048575) >>> (20 - 8))
679
+ | ((input[18 + inpos] & 1048575) << 8)
680
+ | ((input[19 + inpos]) << 28);
681
+ output[12 + outpos] = ((input[19 + inpos] & 1048575) >>> (20 - 16))
682
+ | ((input[20 + inpos]) << 16);
683
+ output[13 + outpos] = ((input[20 + inpos] & 1048575) >>> (20 - 4))
684
+ | ((input[21 + inpos] & 1048575) << 4)
685
+ | ((input[22 + inpos]) << 24);
686
+ output[14 + outpos] = ((input[22 + inpos] & 1048575) >>> (20 - 12))
687
+ | ((input[23 + inpos]) << 12);
688
+ output[15 + outpos] = (input[24 + inpos] & 1048575)
689
+ | ((input[25 + inpos]) << 20);
690
+ output[16 + outpos] = ((input[25 + inpos] & 1048575) >>> (20 - 8))
691
+ | ((input[26 + inpos] & 1048575) << 8)
692
+ | ((input[27 + inpos]) << 28);
693
+ output[17 + outpos] = ((input[27 + inpos] & 1048575) >>> (20 - 16))
694
+ | ((input[28 + inpos]) << 16);
695
+ output[18 + outpos] = ((input[28 + inpos] & 1048575) >>> (20 - 4))
696
+ | ((input[29 + inpos] & 1048575) << 4)
697
+ | ((input[30 + inpos]) << 24);
698
+ output[19 + outpos] = ((input[30 + inpos] & 1048575) >>> (20 - 12))
699
+ | ((input[31 + inpos]) << 12);
700
+ }
701
+ function fastpack21(input, inpos, output, outpos) {
702
+ output[outpos] = (input[inpos] & 2097151)
703
+ | ((input[1 + inpos]) << 21);
704
+ output[1 + outpos] = ((input[1 + inpos] & 2097151) >>> (21 - 10))
705
+ | ((input[2 + inpos] & 2097151) << 10)
706
+ | ((input[3 + inpos]) << 31);
707
+ output[2 + outpos] = ((input[3 + inpos] & 2097151) >>> (21 - 20))
708
+ | ((input[4 + inpos]) << 20);
709
+ output[3 + outpos] = ((input[4 + inpos] & 2097151) >>> (21 - 9))
710
+ | ((input[5 + inpos] & 2097151) << 9)
711
+ | ((input[6 + inpos]) << 30);
712
+ output[4 + outpos] = ((input[6 + inpos] & 2097151) >>> (21 - 19))
713
+ | ((input[7 + inpos]) << 19);
714
+ output[5 + outpos] = ((input[7 + inpos] & 2097151) >>> (21 - 8))
715
+ | ((input[8 + inpos] & 2097151) << 8)
716
+ | ((input[9 + inpos]) << 29);
717
+ output[6 + outpos] = ((input[9 + inpos] & 2097151) >>> (21 - 18))
718
+ | ((input[10 + inpos]) << 18);
719
+ output[7 + outpos] = ((input[10 + inpos] & 2097151) >>> (21 - 7))
720
+ | ((input[11 + inpos] & 2097151) << 7)
721
+ | ((input[12 + inpos]) << 28);
722
+ output[8 + outpos] = ((input[12 + inpos] & 2097151) >>> (21 - 17))
723
+ | ((input[13 + inpos]) << 17);
724
+ output[9 + outpos] = ((input[13 + inpos] & 2097151) >>> (21 - 6))
725
+ | ((input[14 + inpos] & 2097151) << 6)
726
+ | ((input[15 + inpos]) << 27);
727
+ output[10 + outpos] = ((input[15 + inpos] & 2097151) >>> (21 - 16))
728
+ | ((input[16 + inpos]) << 16);
729
+ output[11 + outpos] = ((input[16 + inpos] & 2097151) >>> (21 - 5))
730
+ | ((input[17 + inpos] & 2097151) << 5)
731
+ | ((input[18 + inpos]) << 26);
732
+ output[12 + outpos] = ((input[18 + inpos] & 2097151) >>> (21 - 15))
733
+ | ((input[19 + inpos]) << 15);
734
+ output[13 + outpos] = ((input[19 + inpos] & 2097151) >>> (21 - 4))
735
+ | ((input[20 + inpos] & 2097151) << 4)
736
+ | ((input[21 + inpos]) << 25);
737
+ output[14 + outpos] = ((input[21 + inpos] & 2097151) >>> (21 - 14))
738
+ | ((input[22 + inpos]) << 14);
739
+ output[15 + outpos] = ((input[22 + inpos] & 2097151) >>> (21 - 3))
740
+ | ((input[23 + inpos] & 2097151) << 3)
741
+ | ((input[24 + inpos]) << 24);
742
+ output[16 + outpos] = ((input[24 + inpos] & 2097151) >>> (21 - 13))
743
+ | ((input[25 + inpos]) << 13);
744
+ output[17 + outpos] = ((input[25 + inpos] & 2097151) >>> (21 - 2))
745
+ | ((input[26 + inpos] & 2097151) << 2)
746
+ | ((input[27 + inpos]) << 23);
747
+ output[18 + outpos] = ((input[27 + inpos] & 2097151) >>> (21 - 12))
748
+ | ((input[28 + inpos]) << 12);
749
+ output[19 + outpos] = ((input[28 + inpos] & 2097151) >>> (21 - 1))
750
+ | ((input[29 + inpos] & 2097151) << 1)
751
+ | ((input[30 + inpos]) << 22);
752
+ output[20 + outpos] = ((input[30 + inpos] & 2097151) >>> (21 - 11))
753
+ | ((input[31 + inpos]) << 11);
754
+ }
755
+ function fastpack22(input, inpos, output, outpos) {
756
+ output[outpos] = (input[inpos] & 4194303)
757
+ | ((input[1 + inpos]) << 22);
758
+ output[1 + outpos] = ((input[1 + inpos] & 4194303) >>> (22 - 12))
759
+ | ((input[2 + inpos]) << 12);
760
+ output[2 + outpos] = ((input[2 + inpos] & 4194303) >>> (22 - 2))
761
+ | ((input[3 + inpos] & 4194303) << 2)
762
+ | ((input[4 + inpos]) << 24);
763
+ output[3 + outpos] = ((input[4 + inpos] & 4194303) >>> (22 - 14))
764
+ | ((input[5 + inpos]) << 14);
765
+ output[4 + outpos] = ((input[5 + inpos] & 4194303) >>> (22 - 4))
766
+ | ((input[6 + inpos] & 4194303) << 4)
767
+ | ((input[7 + inpos]) << 26);
768
+ output[5 + outpos] = ((input[7 + inpos] & 4194303) >>> (22 - 16))
769
+ | ((input[8 + inpos]) << 16);
770
+ output[6 + outpos] = ((input[8 + inpos] & 4194303) >>> (22 - 6))
771
+ | ((input[9 + inpos] & 4194303) << 6)
772
+ | ((input[10 + inpos]) << 28);
773
+ output[7 + outpos] = ((input[10 + inpos] & 4194303) >>> (22 - 18))
774
+ | ((input[11 + inpos]) << 18);
775
+ output[8 + outpos] = ((input[11 + inpos] & 4194303) >>> (22 - 8))
776
+ | ((input[12 + inpos] & 4194303) << 8)
777
+ | ((input[13 + inpos]) << 30);
778
+ output[9 + outpos] = ((input[13 + inpos] & 4194303) >>> (22 - 20))
779
+ | ((input[14 + inpos]) << 20);
780
+ output[10 + outpos] = ((input[14 + inpos] & 4194303) >>> (22 - 10))
781
+ | ((input[15 + inpos]) << 10);
782
+ output[11 + outpos] = (input[16 + inpos] & 4194303)
783
+ | ((input[17 + inpos]) << 22);
784
+ output[12 + outpos] = ((input[17 + inpos] & 4194303) >>> (22 - 12))
785
+ | ((input[18 + inpos]) << 12);
786
+ output[13 + outpos] = ((input[18 + inpos] & 4194303) >>> (22 - 2))
787
+ | ((input[19 + inpos] & 4194303) << 2)
788
+ | ((input[20 + inpos]) << 24);
789
+ output[14 + outpos] = ((input[20 + inpos] & 4194303) >>> (22 - 14))
790
+ | ((input[21 + inpos]) << 14);
791
+ output[15 + outpos] = ((input[21 + inpos] & 4194303) >>> (22 - 4))
792
+ | ((input[22 + inpos] & 4194303) << 4)
793
+ | ((input[23 + inpos]) << 26);
794
+ output[16 + outpos] = ((input[23 + inpos] & 4194303) >>> (22 - 16))
795
+ | ((input[24 + inpos]) << 16);
796
+ output[17 + outpos] = ((input[24 + inpos] & 4194303) >>> (22 - 6))
797
+ | ((input[25 + inpos] & 4194303) << 6)
798
+ | ((input[26 + inpos]) << 28);
799
+ output[18 + outpos] = ((input[26 + inpos] & 4194303) >>> (22 - 18))
800
+ | ((input[27 + inpos]) << 18);
801
+ output[19 + outpos] = ((input[27 + inpos] & 4194303) >>> (22 - 8))
802
+ | ((input[28 + inpos] & 4194303) << 8)
803
+ | ((input[29 + inpos]) << 30);
804
+ output[20 + outpos] = ((input[29 + inpos] & 4194303) >>> (22 - 20))
805
+ | ((input[30 + inpos]) << 20);
806
+ output[21 + outpos] = ((input[30 + inpos] & 4194303) >>> (22 - 10))
807
+ | ((input[31 + inpos]) << 10);
808
+ }
809
+ function fastpack23(input, inpos, output, outpos) {
810
+ output[outpos] = (input[inpos] & 8388607)
811
+ | ((input[1 + inpos]) << 23);
812
+ output[1 + outpos] = ((input[1 + inpos] & 8388607) >>> (23 - 14))
813
+ | ((input[2 + inpos]) << 14);
814
+ output[2 + outpos] = ((input[2 + inpos] & 8388607) >>> (23 - 5))
815
+ | ((input[3 + inpos] & 8388607) << 5)
816
+ | ((input[4 + inpos]) << 28);
817
+ output[3 + outpos] = ((input[4 + inpos] & 8388607) >>> (23 - 19))
818
+ | ((input[5 + inpos]) << 19);
819
+ output[4 + outpos] = ((input[5 + inpos] & 8388607) >>> (23 - 10))
820
+ | ((input[6 + inpos]) << 10);
821
+ output[5 + outpos] = ((input[6 + inpos] & 8388607) >>> (23 - 1))
822
+ | ((input[7 + inpos] & 8388607) << 1)
823
+ | ((input[8 + inpos]) << 24);
824
+ output[6 + outpos] = ((input[8 + inpos] & 8388607) >>> (23 - 15))
825
+ | ((input[9 + inpos]) << 15);
826
+ output[7 + outpos] = ((input[9 + inpos] & 8388607) >>> (23 - 6))
827
+ | ((input[10 + inpos] & 8388607) << 6)
828
+ | ((input[11 + inpos]) << 29);
829
+ output[8 + outpos] = ((input[11 + inpos] & 8388607) >>> (23 - 20))
830
+ | ((input[12 + inpos]) << 20);
831
+ output[9 + outpos] = ((input[12 + inpos] & 8388607) >>> (23 - 11))
832
+ | ((input[13 + inpos]) << 11);
833
+ output[10 + outpos] = ((input[13 + inpos] & 8388607) >>> (23 - 2))
834
+ | ((input[14 + inpos] & 8388607) << 2)
835
+ | ((input[15 + inpos]) << 25);
836
+ output[11 + outpos] = ((input[15 + inpos] & 8388607) >>> (23 - 16))
837
+ | ((input[16 + inpos]) << 16);
838
+ output[12 + outpos] = ((input[16 + inpos] & 8388607) >>> (23 - 7))
839
+ | ((input[17 + inpos] & 8388607) << 7)
840
+ | ((input[18 + inpos]) << 30);
841
+ output[13 + outpos] = ((input[18 + inpos] & 8388607) >>> (23 - 21))
842
+ | ((input[19 + inpos]) << 21);
843
+ output[14 + outpos] = ((input[19 + inpos] & 8388607) >>> (23 - 12))
844
+ | ((input[20 + inpos]) << 12);
845
+ output[15 + outpos] = ((input[20 + inpos] & 8388607) >>> (23 - 3))
846
+ | ((input[21 + inpos] & 8388607) << 3)
847
+ | ((input[22 + inpos]) << 26);
848
+ output[16 + outpos] = ((input[22 + inpos] & 8388607) >>> (23 - 17))
849
+ | ((input[23 + inpos]) << 17);
850
+ output[17 + outpos] = ((input[23 + inpos] & 8388607) >>> (23 - 8))
851
+ | ((input[24 + inpos] & 8388607) << 8)
852
+ | ((input[25 + inpos]) << 31);
853
+ output[18 + outpos] = ((input[25 + inpos] & 8388607) >>> (23 - 22))
854
+ | ((input[26 + inpos]) << 22);
855
+ output[19 + outpos] = ((input[26 + inpos] & 8388607) >>> (23 - 13))
856
+ | ((input[27 + inpos]) << 13);
857
+ output[20 + outpos] = ((input[27 + inpos] & 8388607) >>> (23 - 4))
858
+ | ((input[28 + inpos] & 8388607) << 4)
859
+ | ((input[29 + inpos]) << 27);
860
+ output[21 + outpos] = ((input[29 + inpos] & 8388607) >>> (23 - 18))
861
+ | ((input[30 + inpos]) << 18);
862
+ output[22 + outpos] = ((input[30 + inpos] & 8388607) >>> (23 - 9))
863
+ | ((input[31 + inpos]) << 9);
864
+ }
865
+ function fastpack24(input, inpos, output, outpos) {
866
+ output[outpos] = (input[inpos] & 16777215)
867
+ | ((input[1 + inpos]) << 24);
868
+ output[1 + outpos] = ((input[1 + inpos] & 16777215) >>> (24 - 16))
869
+ | ((input[2 + inpos]) << 16);
870
+ output[2 + outpos] = ((input[2 + inpos] & 16777215) >>> (24 - 8))
871
+ | ((input[3 + inpos]) << 8);
872
+ output[3 + outpos] = (input[4 + inpos] & 16777215)
873
+ | ((input[5 + inpos]) << 24);
874
+ output[4 + outpos] = ((input[5 + inpos] & 16777215) >>> (24 - 16))
875
+ | ((input[6 + inpos]) << 16);
876
+ output[5 + outpos] = ((input[6 + inpos] & 16777215) >>> (24 - 8))
877
+ | ((input[7 + inpos]) << 8);
878
+ output[6 + outpos] = (input[8 + inpos] & 16777215)
879
+ | ((input[9 + inpos]) << 24);
880
+ output[7 + outpos] = ((input[9 + inpos] & 16777215) >>> (24 - 16))
881
+ | ((input[10 + inpos]) << 16);
882
+ output[8 + outpos] = ((input[10 + inpos] & 16777215) >>> (24 - 8))
883
+ | ((input[11 + inpos]) << 8);
884
+ output[9 + outpos] = (input[12 + inpos] & 16777215)
885
+ | ((input[13 + inpos]) << 24);
886
+ output[10 + outpos] = ((input[13 + inpos] & 16777215) >>> (24 - 16))
887
+ | ((input[14 + inpos]) << 16);
888
+ output[11 + outpos] = ((input[14 + inpos] & 16777215) >>> (24 - 8))
889
+ | ((input[15 + inpos]) << 8);
890
+ output[12 + outpos] = (input[16 + inpos] & 16777215)
891
+ | ((input[17 + inpos]) << 24);
892
+ output[13 + outpos] = ((input[17 + inpos] & 16777215) >>> (24 - 16))
893
+ | ((input[18 + inpos]) << 16);
894
+ output[14 + outpos] = ((input[18 + inpos] & 16777215) >>> (24 - 8))
895
+ | ((input[19 + inpos]) << 8);
896
+ output[15 + outpos] = (input[20 + inpos] & 16777215)
897
+ | ((input[21 + inpos]) << 24);
898
+ output[16 + outpos] = ((input[21 + inpos] & 16777215) >>> (24 - 16))
899
+ | ((input[22 + inpos]) << 16);
900
+ output[17 + outpos] = ((input[22 + inpos] & 16777215) >>> (24 - 8))
901
+ | ((input[23 + inpos]) << 8);
902
+ output[18 + outpos] = (input[24 + inpos] & 16777215)
903
+ | ((input[25 + inpos]) << 24);
904
+ output[19 + outpos] = ((input[25 + inpos] & 16777215) >>> (24 - 16))
905
+ | ((input[26 + inpos]) << 16);
906
+ output[20 + outpos] = ((input[26 + inpos] & 16777215) >>> (24 - 8))
907
+ | ((input[27 + inpos]) << 8);
908
+ output[21 + outpos] = (input[28 + inpos] & 16777215)
909
+ | ((input[29 + inpos]) << 24);
910
+ output[22 + outpos] = ((input[29 + inpos] & 16777215) >>> (24 - 16))
911
+ | ((input[30 + inpos]) << 16);
912
+ output[23 + outpos] = ((input[30 + inpos] & 16777215) >>> (24 - 8))
913
+ | ((input[31 + inpos]) << 8);
914
+ }
915
+ function fastpack25(input, inpos, output, outpos) {
916
+ output[outpos] = (input[inpos] & 33554431)
917
+ | ((input[1 + inpos]) << 25);
918
+ output[1 + outpos] = ((input[1 + inpos] & 33554431) >>> (25 - 18))
919
+ | ((input[2 + inpos]) << 18);
920
+ output[2 + outpos] = ((input[2 + inpos] & 33554431) >>> (25 - 11))
921
+ | ((input[3 + inpos]) << 11);
922
+ output[3 + outpos] = ((input[3 + inpos] & 33554431) >>> (25 - 4))
923
+ | ((input[4 + inpos] & 33554431) << 4)
924
+ | ((input[5 + inpos]) << 29);
925
+ output[4 + outpos] = ((input[5 + inpos] & 33554431) >>> (25 - 22))
926
+ | ((input[6 + inpos]) << 22);
927
+ output[5 + outpos] = ((input[6 + inpos] & 33554431) >>> (25 - 15))
928
+ | ((input[7 + inpos]) << 15);
929
+ output[6 + outpos] = ((input[7 + inpos] & 33554431) >>> (25 - 8))
930
+ | ((input[8 + inpos]) << 8);
931
+ output[7 + outpos] = ((input[8 + inpos] & 33554431) >>> (25 - 1))
932
+ | ((input[9 + inpos] & 33554431) << 1)
933
+ | ((input[10 + inpos]) << 26);
934
+ output[8 + outpos] = ((input[10 + inpos] & 33554431) >>> (25 - 19))
935
+ | ((input[11 + inpos]) << 19);
936
+ output[9 + outpos] = ((input[11 + inpos] & 33554431) >>> (25 - 12))
937
+ | ((input[12 + inpos]) << 12);
938
+ output[10 + outpos] = ((input[12 + inpos] & 33554431) >>> (25 - 5))
939
+ | ((input[13 + inpos] & 33554431) << 5)
940
+ | ((input[14 + inpos]) << 30);
941
+ output[11 + outpos] = ((input[14 + inpos] & 33554431) >>> (25 - 23))
942
+ | ((input[15 + inpos]) << 23);
943
+ output[12 + outpos] = ((input[15 + inpos] & 33554431) >>> (25 - 16))
944
+ | ((input[16 + inpos]) << 16);
945
+ output[13 + outpos] = ((input[16 + inpos] & 33554431) >>> (25 - 9))
946
+ | ((input[17 + inpos]) << 9);
947
+ output[14 + outpos] = ((input[17 + inpos] & 33554431) >>> (25 - 2))
948
+ | ((input[18 + inpos] & 33554431) << 2)
949
+ | ((input[19 + inpos]) << 27);
950
+ output[15 + outpos] = ((input[19 + inpos] & 33554431) >>> (25 - 20))
951
+ | ((input[20 + inpos]) << 20);
952
+ output[16 + outpos] = ((input[20 + inpos] & 33554431) >>> (25 - 13))
953
+ | ((input[21 + inpos]) << 13);
954
+ output[17 + outpos] = ((input[21 + inpos] & 33554431) >>> (25 - 6))
955
+ | ((input[22 + inpos] & 33554431) << 6)
956
+ | ((input[23 + inpos]) << 31);
957
+ output[18 + outpos] = ((input[23 + inpos] & 33554431) >>> (25 - 24))
958
+ | ((input[24 + inpos]) << 24);
959
+ output[19 + outpos] = ((input[24 + inpos] & 33554431) >>> (25 - 17))
960
+ | ((input[25 + inpos]) << 17);
961
+ output[20 + outpos] = ((input[25 + inpos] & 33554431) >>> (25 - 10))
962
+ | ((input[26 + inpos]) << 10);
963
+ output[21 + outpos] = ((input[26 + inpos] & 33554431) >>> (25 - 3))
964
+ | ((input[27 + inpos] & 33554431) << 3)
965
+ | ((input[28 + inpos]) << 28);
966
+ output[22 + outpos] = ((input[28 + inpos] & 33554431) >>> (25 - 21))
967
+ | ((input[29 + inpos]) << 21);
968
+ output[23 + outpos] = ((input[29 + inpos] & 33554431) >>> (25 - 14))
969
+ | ((input[30 + inpos]) << 14);
970
+ output[24 + outpos] = ((input[30 + inpos] & 33554431) >>> (25 - 7))
971
+ | ((input[31 + inpos]) << 7);
972
+ }
973
+ function fastpack26(input, inpos, output, outpos) {
974
+ output[outpos] = (input[inpos] & 67108863)
975
+ | ((input[1 + inpos]) << 26);
976
+ output[1 + outpos] = ((input[1 + inpos] & 67108863) >>> (26 - 20))
977
+ | ((input[2 + inpos]) << 20);
978
+ output[2 + outpos] = ((input[2 + inpos] & 67108863) >>> (26 - 14))
979
+ | ((input[3 + inpos]) << 14);
980
+ output[3 + outpos] = ((input[3 + inpos] & 67108863) >>> (26 - 8))
981
+ | ((input[4 + inpos]) << 8);
982
+ output[4 + outpos] = ((input[4 + inpos] & 67108863) >>> (26 - 2))
983
+ | ((input[5 + inpos] & 67108863) << 2)
984
+ | ((input[6 + inpos]) << 28);
985
+ output[5 + outpos] = ((input[6 + inpos] & 67108863) >>> (26 - 22))
986
+ | ((input[7 + inpos]) << 22);
987
+ output[6 + outpos] = ((input[7 + inpos] & 67108863) >>> (26 - 16))
988
+ | ((input[8 + inpos]) << 16);
989
+ output[7 + outpos] = ((input[8 + inpos] & 67108863) >>> (26 - 10))
990
+ | ((input[9 + inpos]) << 10);
991
+ output[8 + outpos] = ((input[9 + inpos] & 67108863) >>> (26 - 4))
992
+ | ((input[10 + inpos] & 67108863) << 4)
993
+ | ((input[11 + inpos]) << 30);
994
+ output[9 + outpos] = ((input[11 + inpos] & 67108863) >>> (26 - 24))
995
+ | ((input[12 + inpos]) << 24);
996
+ output[10 + outpos] = ((input[12 + inpos] & 67108863) >>> (26 - 18))
997
+ | ((input[13 + inpos]) << 18);
998
+ output[11 + outpos] = ((input[13 + inpos] & 67108863) >>> (26 - 12))
999
+ | ((input[14 + inpos]) << 12);
1000
+ output[12 + outpos] = ((input[14 + inpos] & 67108863) >>> (26 - 6))
1001
+ | ((input[15 + inpos]) << 6);
1002
+ output[13 + outpos] = (input[16 + inpos] & 67108863)
1003
+ | ((input[17 + inpos]) << 26);
1004
+ output[14 + outpos] = ((input[17 + inpos] & 67108863) >>> (26 - 20))
1005
+ | ((input[18 + inpos]) << 20);
1006
+ output[15 + outpos] = ((input[18 + inpos] & 67108863) >>> (26 - 14))
1007
+ | ((input[19 + inpos]) << 14);
1008
+ output[16 + outpos] = ((input[19 + inpos] & 67108863) >>> (26 - 8))
1009
+ | ((input[20 + inpos]) << 8);
1010
+ output[17 + outpos] = ((input[20 + inpos] & 67108863) >>> (26 - 2))
1011
+ | ((input[21 + inpos] & 67108863) << 2)
1012
+ | ((input[22 + inpos]) << 28);
1013
+ output[18 + outpos] = ((input[22 + inpos] & 67108863) >>> (26 - 22))
1014
+ | ((input[23 + inpos]) << 22);
1015
+ output[19 + outpos] = ((input[23 + inpos] & 67108863) >>> (26 - 16))
1016
+ | ((input[24 + inpos]) << 16);
1017
+ output[20 + outpos] = ((input[24 + inpos] & 67108863) >>> (26 - 10))
1018
+ | ((input[25 + inpos]) << 10);
1019
+ output[21 + outpos] = ((input[25 + inpos] & 67108863) >>> (26 - 4))
1020
+ | ((input[26 + inpos] & 67108863) << 4)
1021
+ | ((input[27 + inpos]) << 30);
1022
+ output[22 + outpos] = ((input[27 + inpos] & 67108863) >>> (26 - 24))
1023
+ | ((input[28 + inpos]) << 24);
1024
+ output[23 + outpos] = ((input[28 + inpos] & 67108863) >>> (26 - 18))
1025
+ | ((input[29 + inpos]) << 18);
1026
+ output[24 + outpos] = ((input[29 + inpos] & 67108863) >>> (26 - 12))
1027
+ | ((input[30 + inpos]) << 12);
1028
+ output[25 + outpos] = ((input[30 + inpos] & 67108863) >>> (26 - 6))
1029
+ | ((input[31 + inpos]) << 6);
1030
+ }
1031
+ function fastpack27(input, inpos, output, outpos) {
1032
+ output[outpos] = (input[inpos] & 134217727)
1033
+ | ((input[1 + inpos]) << 27);
1034
+ output[1 + outpos] = ((input[1 + inpos] & 134217727) >>> (27 - 22))
1035
+ | ((input[2 + inpos]) << 22);
1036
+ output[2 + outpos] = ((input[2 + inpos] & 134217727) >>> (27 - 17))
1037
+ | ((input[3 + inpos]) << 17);
1038
+ output[3 + outpos] = ((input[3 + inpos] & 134217727) >>> (27 - 12))
1039
+ | ((input[4 + inpos]) << 12);
1040
+ output[4 + outpos] = ((input[4 + inpos] & 134217727) >>> (27 - 7))
1041
+ | ((input[5 + inpos]) << 7);
1042
+ output[5 + outpos] = ((input[5 + inpos] & 134217727) >>> (27 - 2))
1043
+ | ((input[6 + inpos] & 134217727) << 2)
1044
+ | ((input[7 + inpos]) << 29);
1045
+ output[6 + outpos] = ((input[7 + inpos] & 134217727) >>> (27 - 24))
1046
+ | ((input[8 + inpos]) << 24);
1047
+ output[7 + outpos] = ((input[8 + inpos] & 134217727) >>> (27 - 19))
1048
+ | ((input[9 + inpos]) << 19);
1049
+ output[8 + outpos] = ((input[9 + inpos] & 134217727) >>> (27 - 14))
1050
+ | ((input[10 + inpos]) << 14);
1051
+ output[9 + outpos] = ((input[10 + inpos] & 134217727) >>> (27 - 9))
1052
+ | ((input[11 + inpos]) << 9);
1053
+ output[10 + outpos] = ((input[11 + inpos] & 134217727) >>> (27 - 4))
1054
+ | ((input[12 + inpos] & 134217727) << 4)
1055
+ | ((input[13 + inpos]) << 31);
1056
+ output[11 + outpos] = ((input[13 + inpos] & 134217727) >>> (27 - 26))
1057
+ | ((input[14 + inpos]) << 26);
1058
+ output[12 + outpos] = ((input[14 + inpos] & 134217727) >>> (27 - 21))
1059
+ | ((input[15 + inpos]) << 21);
1060
+ output[13 + outpos] = ((input[15 + inpos] & 134217727) >>> (27 - 16))
1061
+ | ((input[16 + inpos]) << 16);
1062
+ output[14 + outpos] = ((input[16 + inpos] & 134217727) >>> (27 - 11))
1063
+ | ((input[17 + inpos]) << 11);
1064
+ output[15 + outpos] = ((input[17 + inpos] & 134217727) >>> (27 - 6))
1065
+ | ((input[18 + inpos]) << 6);
1066
+ output[16 + outpos] = ((input[18 + inpos] & 134217727) >>> (27 - 1))
1067
+ | ((input[19 + inpos] & 134217727) << 1)
1068
+ | ((input[20 + inpos]) << 28);
1069
+ output[17 + outpos] = ((input[20 + inpos] & 134217727) >>> (27 - 23))
1070
+ | ((input[21 + inpos]) << 23);
1071
+ output[18 + outpos] = ((input[21 + inpos] & 134217727) >>> (27 - 18))
1072
+ | ((input[22 + inpos]) << 18);
1073
+ output[19 + outpos] = ((input[22 + inpos] & 134217727) >>> (27 - 13))
1074
+ | ((input[23 + inpos]) << 13);
1075
+ output[20 + outpos] = ((input[23 + inpos] & 134217727) >>> (27 - 8))
1076
+ | ((input[24 + inpos]) << 8);
1077
+ output[21 + outpos] = ((input[24 + inpos] & 134217727) >>> (27 - 3))
1078
+ | ((input[25 + inpos] & 134217727) << 3)
1079
+ | ((input[26 + inpos]) << 30);
1080
+ output[22 + outpos] = ((input[26 + inpos] & 134217727) >>> (27 - 25))
1081
+ | ((input[27 + inpos]) << 25);
1082
+ output[23 + outpos] = ((input[27 + inpos] & 134217727) >>> (27 - 20))
1083
+ | ((input[28 + inpos]) << 20);
1084
+ output[24 + outpos] = ((input[28 + inpos] & 134217727) >>> (27 - 15))
1085
+ | ((input[29 + inpos]) << 15);
1086
+ output[25 + outpos] = ((input[29 + inpos] & 134217727) >>> (27 - 10))
1087
+ | ((input[30 + inpos]) << 10);
1088
+ output[26 + outpos] = ((input[30 + inpos] & 134217727) >>> (27 - 5))
1089
+ | ((input[31 + inpos]) << 5);
1090
+ }
1091
+ function fastpack28(input, inpos, output, outpos) {
1092
+ output[outpos] = (input[inpos] & 268435455)
1093
+ | ((input[1 + inpos]) << 28);
1094
+ output[1 + outpos] = ((input[1 + inpos] & 268435455) >>> (28 - 24))
1095
+ | ((input[2 + inpos]) << 24);
1096
+ output[2 + outpos] = ((input[2 + inpos] & 268435455) >>> (28 - 20))
1097
+ | ((input[3 + inpos]) << 20);
1098
+ output[3 + outpos] = ((input[3 + inpos] & 268435455) >>> (28 - 16))
1099
+ | ((input[4 + inpos]) << 16);
1100
+ output[4 + outpos] = ((input[4 + inpos] & 268435455) >>> (28 - 12))
1101
+ | ((input[5 + inpos]) << 12);
1102
+ output[5 + outpos] = ((input[5 + inpos] & 268435455) >>> (28 - 8))
1103
+ | ((input[6 + inpos]) << 8);
1104
+ output[6 + outpos] = ((input[6 + inpos] & 268435455) >>> (28 - 4))
1105
+ | ((input[7 + inpos]) << 4);
1106
+ output[7 + outpos] = (input[8 + inpos] & 268435455)
1107
+ | ((input[9 + inpos]) << 28);
1108
+ output[8 + outpos] = ((input[9 + inpos] & 268435455) >>> (28 - 24))
1109
+ | ((input[10 + inpos]) << 24);
1110
+ output[9 + outpos] = ((input[10 + inpos] & 268435455) >>> (28 - 20))
1111
+ | ((input[11 + inpos]) << 20);
1112
+ output[10 + outpos] = ((input[11 + inpos] & 268435455) >>> (28 - 16))
1113
+ | ((input[12 + inpos]) << 16);
1114
+ output[11 + outpos] = ((input[12 + inpos] & 268435455) >>> (28 - 12))
1115
+ | ((input[13 + inpos]) << 12);
1116
+ output[12 + outpos] = ((input[13 + inpos] & 268435455) >>> (28 - 8))
1117
+ | ((input[14 + inpos]) << 8);
1118
+ output[13 + outpos] = ((input[14 + inpos] & 268435455) >>> (28 - 4))
1119
+ | ((input[15 + inpos]) << 4);
1120
+ output[14 + outpos] = (input[16 + inpos] & 268435455)
1121
+ | ((input[17 + inpos]) << 28);
1122
+ output[15 + outpos] = ((input[17 + inpos] & 268435455) >>> (28 - 24))
1123
+ | ((input[18 + inpos]) << 24);
1124
+ output[16 + outpos] = ((input[18 + inpos] & 268435455) >>> (28 - 20))
1125
+ | ((input[19 + inpos]) << 20);
1126
+ output[17 + outpos] = ((input[19 + inpos] & 268435455) >>> (28 - 16))
1127
+ | ((input[20 + inpos]) << 16);
1128
+ output[18 + outpos] = ((input[20 + inpos] & 268435455) >>> (28 - 12))
1129
+ | ((input[21 + inpos]) << 12);
1130
+ output[19 + outpos] = ((input[21 + inpos] & 268435455) >>> (28 - 8))
1131
+ | ((input[22 + inpos]) << 8);
1132
+ output[20 + outpos] = ((input[22 + inpos] & 268435455) >>> (28 - 4))
1133
+ | ((input[23 + inpos]) << 4);
1134
+ output[21 + outpos] = (input[24 + inpos] & 268435455)
1135
+ | ((input[25 + inpos]) << 28);
1136
+ output[22 + outpos] = ((input[25 + inpos] & 268435455) >>> (28 - 24))
1137
+ | ((input[26 + inpos]) << 24);
1138
+ output[23 + outpos] = ((input[26 + inpos] & 268435455) >>> (28 - 20))
1139
+ | ((input[27 + inpos]) << 20);
1140
+ output[24 + outpos] = ((input[27 + inpos] & 268435455) >>> (28 - 16))
1141
+ | ((input[28 + inpos]) << 16);
1142
+ output[25 + outpos] = ((input[28 + inpos] & 268435455) >>> (28 - 12))
1143
+ | ((input[29 + inpos]) << 12);
1144
+ output[26 + outpos] = ((input[29 + inpos] & 268435455) >>> (28 - 8))
1145
+ | ((input[30 + inpos]) << 8);
1146
+ output[27 + outpos] = ((input[30 + inpos] & 268435455) >>> (28 - 4))
1147
+ | ((input[31 + inpos]) << 4);
1148
+ }
1149
+ function fastpack29(input, inpos, output, outpos) {
1150
+ output[outpos] = (input[inpos] & 536870911)
1151
+ | ((input[1 + inpos]) << 29);
1152
+ output[1 + outpos] = ((input[1 + inpos] & 536870911) >>> (29 - 26))
1153
+ | ((input[2 + inpos]) << 26);
1154
+ output[2 + outpos] = ((input[2 + inpos] & 536870911) >>> (29 - 23))
1155
+ | ((input[3 + inpos]) << 23);
1156
+ output[3 + outpos] = ((input[3 + inpos] & 536870911) >>> (29 - 20))
1157
+ | ((input[4 + inpos]) << 20);
1158
+ output[4 + outpos] = ((input[4 + inpos] & 536870911) >>> (29 - 17))
1159
+ | ((input[5 + inpos]) << 17);
1160
+ output[5 + outpos] = ((input[5 + inpos] & 536870911) >>> (29 - 14))
1161
+ | ((input[6 + inpos]) << 14);
1162
+ output[6 + outpos] = ((input[6 + inpos] & 536870911) >>> (29 - 11))
1163
+ | ((input[7 + inpos]) << 11);
1164
+ output[7 + outpos] = ((input[7 + inpos] & 536870911) >>> (29 - 8))
1165
+ | ((input[8 + inpos]) << 8);
1166
+ output[8 + outpos] = ((input[8 + inpos] & 536870911) >>> (29 - 5))
1167
+ | ((input[9 + inpos]) << 5);
1168
+ output[9 + outpos] = ((input[9 + inpos] & 536870911) >>> (29 - 2))
1169
+ | ((input[10 + inpos] & 536870911) << 2)
1170
+ | ((input[11 + inpos]) << 31);
1171
+ output[10 + outpos] = ((input[11 + inpos] & 536870911) >>> (29 - 28))
1172
+ | ((input[12 + inpos]) << 28);
1173
+ output[11 + outpos] = ((input[12 + inpos] & 536870911) >>> (29 - 25))
1174
+ | ((input[13 + inpos]) << 25);
1175
+ output[12 + outpos] = ((input[13 + inpos] & 536870911) >>> (29 - 22))
1176
+ | ((input[14 + inpos]) << 22);
1177
+ output[13 + outpos] = ((input[14 + inpos] & 536870911) >>> (29 - 19))
1178
+ | ((input[15 + inpos]) << 19);
1179
+ output[14 + outpos] = ((input[15 + inpos] & 536870911) >>> (29 - 16))
1180
+ | ((input[16 + inpos]) << 16);
1181
+ output[15 + outpos] = ((input[16 + inpos] & 536870911) >>> (29 - 13))
1182
+ | ((input[17 + inpos]) << 13);
1183
+ output[16 + outpos] = ((input[17 + inpos] & 536870911) >>> (29 - 10))
1184
+ | ((input[18 + inpos]) << 10);
1185
+ output[17 + outpos] = ((input[18 + inpos] & 536870911) >>> (29 - 7))
1186
+ | ((input[19 + inpos]) << 7);
1187
+ output[18 + outpos] = ((input[19 + inpos] & 536870911) >>> (29 - 4))
1188
+ | ((input[20 + inpos]) << 4);
1189
+ output[19 + outpos] = ((input[20 + inpos] & 536870911) >>> (29 - 1))
1190
+ | ((input[21 + inpos] & 536870911) << 1)
1191
+ | ((input[22 + inpos]) << 30);
1192
+ output[20 + outpos] = ((input[22 + inpos] & 536870911) >>> (29 - 27))
1193
+ | ((input[23 + inpos]) << 27);
1194
+ output[21 + outpos] = ((input[23 + inpos] & 536870911) >>> (29 - 24))
1195
+ | ((input[24 + inpos]) << 24);
1196
+ output[22 + outpos] = ((input[24 + inpos] & 536870911) >>> (29 - 21))
1197
+ | ((input[25 + inpos]) << 21);
1198
+ output[23 + outpos] = ((input[25 + inpos] & 536870911) >>> (29 - 18))
1199
+ | ((input[26 + inpos]) << 18);
1200
+ output[24 + outpos] = ((input[26 + inpos] & 536870911) >>> (29 - 15))
1201
+ | ((input[27 + inpos]) << 15);
1202
+ output[25 + outpos] = ((input[27 + inpos] & 536870911) >>> (29 - 12))
1203
+ | ((input[28 + inpos]) << 12);
1204
+ output[26 + outpos] = ((input[28 + inpos] & 536870911) >>> (29 - 9))
1205
+ | ((input[29 + inpos]) << 9);
1206
+ output[27 + outpos] = ((input[29 + inpos] & 536870911) >>> (29 - 6))
1207
+ | ((input[30 + inpos]) << 6);
1208
+ output[28 + outpos] = ((input[30 + inpos] & 536870911) >>> (29 - 3))
1209
+ | ((input[31 + inpos]) << 3);
1210
+ }
1211
+ function fastpack3(input, inpos, output, outpos) {
1212
+ output[outpos] = (input[inpos] & 7)
1213
+ | ((input[1 + inpos] & 7) << 3)
1214
+ | ((input[2 + inpos] & 7) << 6)
1215
+ | ((input[3 + inpos] & 7) << 9)
1216
+ | ((input[4 + inpos] & 7) << 12)
1217
+ | ((input[5 + inpos] & 7) << 15)
1218
+ | ((input[6 + inpos] & 7) << 18)
1219
+ | ((input[7 + inpos] & 7) << 21)
1220
+ | ((input[8 + inpos] & 7) << 24)
1221
+ | ((input[9 + inpos] & 7) << 27)
1222
+ | ((input[10 + inpos]) << 30);
1223
+ output[1 + outpos] = ((input[10 + inpos] & 7) >>> (3 - 1))
1224
+ | ((input[11 + inpos] & 7) << 1)
1225
+ | ((input[12 + inpos] & 7) << 4)
1226
+ | ((input[13 + inpos] & 7) << 7)
1227
+ | ((input[14 + inpos] & 7) << 10)
1228
+ | ((input[15 + inpos] & 7) << 13)
1229
+ | ((input[16 + inpos] & 7) << 16)
1230
+ | ((input[17 + inpos] & 7) << 19)
1231
+ | ((input[18 + inpos] & 7) << 22)
1232
+ | ((input[19 + inpos] & 7) << 25)
1233
+ | ((input[20 + inpos] & 7) << 28)
1234
+ | ((input[21 + inpos]) << 31);
1235
+ output[2 + outpos] = ((input[21 + inpos] & 7) >>> (3 - 2))
1236
+ | ((input[22 + inpos] & 7) << 2)
1237
+ | ((input[23 + inpos] & 7) << 5)
1238
+ | ((input[24 + inpos] & 7) << 8)
1239
+ | ((input[25 + inpos] & 7) << 11)
1240
+ | ((input[26 + inpos] & 7) << 14)
1241
+ | ((input[27 + inpos] & 7) << 17)
1242
+ | ((input[28 + inpos] & 7) << 20)
1243
+ | ((input[29 + inpos] & 7) << 23)
1244
+ | ((input[30 + inpos] & 7) << 26)
1245
+ | ((input[31 + inpos]) << 29);
1246
+ }
1247
+ function fastpack30(input, inpos, output, outpos) {
1248
+ output[outpos] = (input[inpos] & 1073741823)
1249
+ | ((input[1 + inpos]) << 30);
1250
+ output[1 + outpos] = ((input[1 + inpos] & 1073741823) >>> (30 - 28))
1251
+ | ((input[2 + inpos]) << 28);
1252
+ output[2 + outpos] = ((input[2 + inpos] & 1073741823) >>> (30 - 26))
1253
+ | ((input[3 + inpos]) << 26);
1254
+ output[3 + outpos] = ((input[3 + inpos] & 1073741823) >>> (30 - 24))
1255
+ | ((input[4 + inpos]) << 24);
1256
+ output[4 + outpos] = ((input[4 + inpos] & 1073741823) >>> (30 - 22))
1257
+ | ((input[5 + inpos]) << 22);
1258
+ output[5 + outpos] = ((input[5 + inpos] & 1073741823) >>> (30 - 20))
1259
+ | ((input[6 + inpos]) << 20);
1260
+ output[6 + outpos] = ((input[6 + inpos] & 1073741823) >>> (30 - 18))
1261
+ | ((input[7 + inpos]) << 18);
1262
+ output[7 + outpos] = ((input[7 + inpos] & 1073741823) >>> (30 - 16))
1263
+ | ((input[8 + inpos]) << 16);
1264
+ output[8 + outpos] = ((input[8 + inpos] & 1073741823) >>> (30 - 14))
1265
+ | ((input[9 + inpos]) << 14);
1266
+ output[9 + outpos] = ((input[9 + inpos] & 1073741823) >>> (30 - 12))
1267
+ | ((input[10 + inpos]) << 12);
1268
+ output[10 + outpos] = ((input[10 + inpos] & 1073741823) >>> (30 - 10))
1269
+ | ((input[11 + inpos]) << 10);
1270
+ output[11 + outpos] = ((input[11 + inpos] & 1073741823) >>> (30 - 8))
1271
+ | ((input[12 + inpos]) << 8);
1272
+ output[12 + outpos] = ((input[12 + inpos] & 1073741823) >>> (30 - 6))
1273
+ | ((input[13 + inpos]) << 6);
1274
+ output[13 + outpos] = ((input[13 + inpos] & 1073741823) >>> (30 - 4))
1275
+ | ((input[14 + inpos]) << 4);
1276
+ output[14 + outpos] = ((input[14 + inpos] & 1073741823) >>> (30 - 2))
1277
+ | ((input[15 + inpos]) << 2);
1278
+ output[15 + outpos] = (input[16 + inpos] & 1073741823)
1279
+ | ((input[17 + inpos]) << 30);
1280
+ output[16 + outpos] = ((input[17 + inpos] & 1073741823) >>> (30 - 28))
1281
+ | ((input[18 + inpos]) << 28);
1282
+ output[17 + outpos] = ((input[18 + inpos] & 1073741823) >>> (30 - 26))
1283
+ | ((input[19 + inpos]) << 26);
1284
+ output[18 + outpos] = ((input[19 + inpos] & 1073741823) >>> (30 - 24))
1285
+ | ((input[20 + inpos]) << 24);
1286
+ output[19 + outpos] = ((input[20 + inpos] & 1073741823) >>> (30 - 22))
1287
+ | ((input[21 + inpos]) << 22);
1288
+ output[20 + outpos] = ((input[21 + inpos] & 1073741823) >>> (30 - 20))
1289
+ | ((input[22 + inpos]) << 20);
1290
+ output[21 + outpos] = ((input[22 + inpos] & 1073741823) >>> (30 - 18))
1291
+ | ((input[23 + inpos]) << 18);
1292
+ output[22 + outpos] = ((input[23 + inpos] & 1073741823) >>> (30 - 16))
1293
+ | ((input[24 + inpos]) << 16);
1294
+ output[23 + outpos] = ((input[24 + inpos] & 1073741823) >>> (30 - 14))
1295
+ | ((input[25 + inpos]) << 14);
1296
+ output[24 + outpos] = ((input[25 + inpos] & 1073741823) >>> (30 - 12))
1297
+ | ((input[26 + inpos]) << 12);
1298
+ output[25 + outpos] = ((input[26 + inpos] & 1073741823) >>> (30 - 10))
1299
+ | ((input[27 + inpos]) << 10);
1300
+ output[26 + outpos] = ((input[27 + inpos] & 1073741823) >>> (30 - 8))
1301
+ | ((input[28 + inpos]) << 8);
1302
+ output[27 + outpos] = ((input[28 + inpos] & 1073741823) >>> (30 - 6))
1303
+ | ((input[29 + inpos]) << 6);
1304
+ output[28 + outpos] = ((input[29 + inpos] & 1073741823) >>> (30 - 4))
1305
+ | ((input[30 + inpos]) << 4);
1306
+ output[29 + outpos] = ((input[30 + inpos] & 1073741823) >>> (30 - 2))
1307
+ | ((input[31 + inpos]) << 2);
1308
+ }
1309
+ function fastpack31(input, inpos, output, outpos) {
1310
+ output[outpos] = (input[inpos] & 2147483647)
1311
+ | ((input[1 + inpos]) << 31);
1312
+ output[1 + outpos] = ((input[1 + inpos] & 2147483647) >>> (31 - 30))
1313
+ | ((input[2 + inpos]) << 30);
1314
+ output[2 + outpos] = ((input[2 + inpos] & 2147483647) >>> (31 - 29))
1315
+ | ((input[3 + inpos]) << 29);
1316
+ output[3 + outpos] = ((input[3 + inpos] & 2147483647) >>> (31 - 28))
1317
+ | ((input[4 + inpos]) << 28);
1318
+ output[4 + outpos] = ((input[4 + inpos] & 2147483647) >>> (31 - 27))
1319
+ | ((input[5 + inpos]) << 27);
1320
+ output[5 + outpos] = ((input[5 + inpos] & 2147483647) >>> (31 - 26))
1321
+ | ((input[6 + inpos]) << 26);
1322
+ output[6 + outpos] = ((input[6 + inpos] & 2147483647) >>> (31 - 25))
1323
+ | ((input[7 + inpos]) << 25);
1324
+ output[7 + outpos] = ((input[7 + inpos] & 2147483647) >>> (31 - 24))
1325
+ | ((input[8 + inpos]) << 24);
1326
+ output[8 + outpos] = ((input[8 + inpos] & 2147483647) >>> (31 - 23))
1327
+ | ((input[9 + inpos]) << 23);
1328
+ output[9 + outpos] = ((input[9 + inpos] & 2147483647) >>> (31 - 22))
1329
+ | ((input[10 + inpos]) << 22);
1330
+ output[10 + outpos] = ((input[10 + inpos] & 2147483647) >>> (31 - 21))
1331
+ | ((input[11 + inpos]) << 21);
1332
+ output[11 + outpos] = ((input[11 + inpos] & 2147483647) >>> (31 - 20))
1333
+ | ((input[12 + inpos]) << 20);
1334
+ output[12 + outpos] = ((input[12 + inpos] & 2147483647) >>> (31 - 19))
1335
+ | ((input[13 + inpos]) << 19);
1336
+ output[13 + outpos] = ((input[13 + inpos] & 2147483647) >>> (31 - 18))
1337
+ | ((input[14 + inpos]) << 18);
1338
+ output[14 + outpos] = ((input[14 + inpos] & 2147483647) >>> (31 - 17))
1339
+ | ((input[15 + inpos]) << 17);
1340
+ output[15 + outpos] = ((input[15 + inpos] & 2147483647) >>> (31 - 16))
1341
+ | ((input[16 + inpos]) << 16);
1342
+ output[16 + outpos] = ((input[16 + inpos] & 2147483647) >>> (31 - 15))
1343
+ | ((input[17 + inpos]) << 15);
1344
+ output[17 + outpos] = ((input[17 + inpos] & 2147483647) >>> (31 - 14))
1345
+ | ((input[18 + inpos]) << 14);
1346
+ output[18 + outpos] = ((input[18 + inpos] & 2147483647) >>> (31 - 13))
1347
+ | ((input[19 + inpos]) << 13);
1348
+ output[19 + outpos] = ((input[19 + inpos] & 2147483647) >>> (31 - 12))
1349
+ | ((input[20 + inpos]) << 12);
1350
+ output[20 + outpos] = ((input[20 + inpos] & 2147483647) >>> (31 - 11))
1351
+ | ((input[21 + inpos]) << 11);
1352
+ output[21 + outpos] = ((input[21 + inpos] & 2147483647) >>> (31 - 10))
1353
+ | ((input[22 + inpos]) << 10);
1354
+ output[22 + outpos] = ((input[22 + inpos] & 2147483647) >>> (31 - 9))
1355
+ | ((input[23 + inpos]) << 9);
1356
+ output[23 + outpos] = ((input[23 + inpos] & 2147483647) >>> (31 - 8))
1357
+ | ((input[24 + inpos]) << 8);
1358
+ output[24 + outpos] = ((input[24 + inpos] & 2147483647) >>> (31 - 7))
1359
+ | ((input[25 + inpos]) << 7);
1360
+ output[25 + outpos] = ((input[25 + inpos] & 2147483647) >>> (31 - 6))
1361
+ | ((input[26 + inpos]) << 6);
1362
+ output[26 + outpos] = ((input[26 + inpos] & 2147483647) >>> (31 - 5))
1363
+ | ((input[27 + inpos]) << 5);
1364
+ output[27 + outpos] = ((input[27 + inpos] & 2147483647) >>> (31 - 4))
1365
+ | ((input[28 + inpos]) << 4);
1366
+ output[28 + outpos] = ((input[28 + inpos] & 2147483647) >>> (31 - 3))
1367
+ | ((input[29 + inpos]) << 3);
1368
+ output[29 + outpos] = ((input[29 + inpos] & 2147483647) >>> (31 - 2))
1369
+ | ((input[30 + inpos]) << 2);
1370
+ output[30 + outpos] = ((input[30 + inpos] & 2147483647) >>> (31 - 1))
1371
+ | ((input[31 + inpos]) << 1);
1372
+ }
1373
+ function fastpack32(input, inpos, output, outpos) {
1374
+ (0, util_1.arraycopy)(input, inpos, output, outpos, 32);
1375
+ }
1376
+ function fastpack4(input, inpos, output, outpos) {
1377
+ output[outpos] = (input[inpos] & 15)
1378
+ | ((input[1 + inpos] & 15) << 4)
1379
+ | ((input[2 + inpos] & 15) << 8)
1380
+ | ((input[3 + inpos] & 15) << 12)
1381
+ | ((input[4 + inpos] & 15) << 16)
1382
+ | ((input[5 + inpos] & 15) << 20)
1383
+ | ((input[6 + inpos] & 15) << 24)
1384
+ | ((input[7 + inpos]) << 28);
1385
+ output[1 + outpos] = (input[8 + inpos] & 15)
1386
+ | ((input[9 + inpos] & 15) << 4)
1387
+ | ((input[10 + inpos] & 15) << 8)
1388
+ | ((input[11 + inpos] & 15) << 12)
1389
+ | ((input[12 + inpos] & 15) << 16)
1390
+ | ((input[13 + inpos] & 15) << 20)
1391
+ | ((input[14 + inpos] & 15) << 24)
1392
+ | ((input[15 + inpos]) << 28);
1393
+ output[2 + outpos] = (input[16 + inpos] & 15)
1394
+ | ((input[17 + inpos] & 15) << 4)
1395
+ | ((input[18 + inpos] & 15) << 8)
1396
+ | ((input[19 + inpos] & 15) << 12)
1397
+ | ((input[20 + inpos] & 15) << 16)
1398
+ | ((input[21 + inpos] & 15) << 20)
1399
+ | ((input[22 + inpos] & 15) << 24)
1400
+ | ((input[23 + inpos]) << 28);
1401
+ output[3 + outpos] = (input[24 + inpos] & 15)
1402
+ | ((input[25 + inpos] & 15) << 4)
1403
+ | ((input[26 + inpos] & 15) << 8)
1404
+ | ((input[27 + inpos] & 15) << 12)
1405
+ | ((input[28 + inpos] & 15) << 16)
1406
+ | ((input[29 + inpos] & 15) << 20)
1407
+ | ((input[30 + inpos] & 15) << 24)
1408
+ | ((input[31 + inpos]) << 28);
1409
+ }
1410
+ function fastpack5(input, inpos, output, outpos) {
1411
+ output[outpos] = (input[inpos] & 31)
1412
+ | ((input[1 + inpos] & 31) << 5)
1413
+ | ((input[2 + inpos] & 31) << 10)
1414
+ | ((input[3 + inpos] & 31) << 15)
1415
+ | ((input[4 + inpos] & 31) << 20)
1416
+ | ((input[5 + inpos] & 31) << 25)
1417
+ | ((input[6 + inpos]) << 30);
1418
+ output[1 + outpos] = ((input[6 + inpos] & 31) >>> (5 - 3))
1419
+ | ((input[7 + inpos] & 31) << 3)
1420
+ | ((input[8 + inpos] & 31) << 8)
1421
+ | ((input[9 + inpos] & 31) << 13)
1422
+ | ((input[10 + inpos] & 31) << 18)
1423
+ | ((input[11 + inpos] & 31) << 23)
1424
+ | ((input[12 + inpos]) << 28);
1425
+ output[2 + outpos] = ((input[12 + inpos] & 31) >>> (5 - 1))
1426
+ | ((input[13 + inpos] & 31) << 1)
1427
+ | ((input[14 + inpos] & 31) << 6)
1428
+ | ((input[15 + inpos] & 31) << 11)
1429
+ | ((input[16 + inpos] & 31) << 16)
1430
+ | ((input[17 + inpos] & 31) << 21)
1431
+ | ((input[18 + inpos] & 31) << 26)
1432
+ | ((input[19 + inpos]) << 31);
1433
+ output[3 + outpos] = ((input[19 + inpos] & 31) >>> (5 - 4))
1434
+ | ((input[20 + inpos] & 31) << 4)
1435
+ | ((input[21 + inpos] & 31) << 9)
1436
+ | ((input[22 + inpos] & 31) << 14)
1437
+ | ((input[23 + inpos] & 31) << 19)
1438
+ | ((input[24 + inpos] & 31) << 24)
1439
+ | ((input[25 + inpos]) << 29);
1440
+ output[4 + outpos] = ((input[25 + inpos] & 31) >>> (5 - 2))
1441
+ | ((input[26 + inpos] & 31) << 2)
1442
+ | ((input[27 + inpos] & 31) << 7)
1443
+ | ((input[28 + inpos] & 31) << 12)
1444
+ | ((input[29 + inpos] & 31) << 17)
1445
+ | ((input[30 + inpos] & 31) << 22)
1446
+ | ((input[31 + inpos]) << 27);
1447
+ }
1448
+ function fastpack6(input, inpos, output, outpos) {
1449
+ output[outpos] = (input[inpos] & 63)
1450
+ | ((input[1 + inpos] & 63) << 6)
1451
+ | ((input[2 + inpos] & 63) << 12)
1452
+ | ((input[3 + inpos] & 63) << 18)
1453
+ | ((input[4 + inpos] & 63) << 24)
1454
+ | ((input[5 + inpos]) << 30);
1455
+ output[1 + outpos] = ((input[5 + inpos] & 63) >>> (6 - 4))
1456
+ | ((input[6 + inpos] & 63) << 4)
1457
+ | ((input[7 + inpos] & 63) << 10)
1458
+ | ((input[8 + inpos] & 63) << 16)
1459
+ | ((input[9 + inpos] & 63) << 22)
1460
+ | ((input[10 + inpos]) << 28);
1461
+ output[2 + outpos] = ((input[10 + inpos] & 63) >>> (6 - 2))
1462
+ | ((input[11 + inpos] & 63) << 2)
1463
+ | ((input[12 + inpos] & 63) << 8)
1464
+ | ((input[13 + inpos] & 63) << 14)
1465
+ | ((input[14 + inpos] & 63) << 20)
1466
+ | ((input[15 + inpos]) << 26);
1467
+ output[3 + outpos] = (input[16 + inpos] & 63)
1468
+ | ((input[17 + inpos] & 63) << 6)
1469
+ | ((input[18 + inpos] & 63) << 12)
1470
+ | ((input[19 + inpos] & 63) << 18)
1471
+ | ((input[20 + inpos] & 63) << 24)
1472
+ | ((input[21 + inpos]) << 30);
1473
+ output[4 + outpos] = ((input[21 + inpos] & 63) >>> (6 - 4))
1474
+ | ((input[22 + inpos] & 63) << 4)
1475
+ | ((input[23 + inpos] & 63) << 10)
1476
+ | ((input[24 + inpos] & 63) << 16)
1477
+ | ((input[25 + inpos] & 63) << 22)
1478
+ | ((input[26 + inpos]) << 28);
1479
+ output[5 + outpos] = ((input[26 + inpos] & 63) >>> (6 - 2))
1480
+ | ((input[27 + inpos] & 63) << 2)
1481
+ | ((input[28 + inpos] & 63) << 8)
1482
+ | ((input[29 + inpos] & 63) << 14)
1483
+ | ((input[30 + inpos] & 63) << 20)
1484
+ | ((input[31 + inpos]) << 26);
1485
+ }
1486
+ function fastpack7(input, inpos, output, outpos) {
1487
+ output[outpos] = (input[inpos] & 127)
1488
+ | ((input[1 + inpos] & 127) << 7)
1489
+ | ((input[2 + inpos] & 127) << 14)
1490
+ | ((input[3 + inpos] & 127) << 21)
1491
+ | ((input[4 + inpos]) << 28);
1492
+ output[1 + outpos] = ((input[4 + inpos] & 127) >>> (7 - 3))
1493
+ | ((input[5 + inpos] & 127) << 3)
1494
+ | ((input[6 + inpos] & 127) << 10)
1495
+ | ((input[7 + inpos] & 127) << 17)
1496
+ | ((input[8 + inpos] & 127) << 24)
1497
+ | ((input[9 + inpos]) << 31);
1498
+ output[2 + outpos] = ((input[9 + inpos] & 127) >>> (7 - 6))
1499
+ | ((input[10 + inpos] & 127) << 6)
1500
+ | ((input[11 + inpos] & 127) << 13)
1501
+ | ((input[12 + inpos] & 127) << 20)
1502
+ | ((input[13 + inpos]) << 27);
1503
+ output[3 + outpos] = ((input[13 + inpos] & 127) >>> (7 - 2))
1504
+ | ((input[14 + inpos] & 127) << 2)
1505
+ | ((input[15 + inpos] & 127) << 9)
1506
+ | ((input[16 + inpos] & 127) << 16)
1507
+ | ((input[17 + inpos] & 127) << 23)
1508
+ | ((input[18 + inpos]) << 30);
1509
+ output[4 + outpos] = ((input[18 + inpos] & 127) >>> (7 - 5))
1510
+ | ((input[19 + inpos] & 127) << 5)
1511
+ | ((input[20 + inpos] & 127) << 12)
1512
+ | ((input[21 + inpos] & 127) << 19)
1513
+ | ((input[22 + inpos]) << 26);
1514
+ output[5 + outpos] = ((input[22 + inpos] & 127) >>> (7 - 1))
1515
+ | ((input[23 + inpos] & 127) << 1)
1516
+ | ((input[24 + inpos] & 127) << 8)
1517
+ | ((input[25 + inpos] & 127) << 15)
1518
+ | ((input[26 + inpos] & 127) << 22)
1519
+ | ((input[27 + inpos]) << 29);
1520
+ output[6 + outpos] = ((input[27 + inpos] & 127) >>> (7 - 4))
1521
+ | ((input[28 + inpos] & 127) << 4)
1522
+ | ((input[29 + inpos] & 127) << 11)
1523
+ | ((input[30 + inpos] & 127) << 18)
1524
+ | ((input[31 + inpos]) << 25);
1525
+ }
1526
+ function fastpack8(input, inpos, output, outpos) {
1527
+ output[outpos] = (input[inpos] & 255)
1528
+ | ((input[1 + inpos] & 255) << 8)
1529
+ | ((input[2 + inpos] & 255) << 16)
1530
+ | ((input[3 + inpos]) << 24);
1531
+ output[1 + outpos] = (input[4 + inpos] & 255)
1532
+ | ((input[5 + inpos] & 255) << 8)
1533
+ | ((input[6 + inpos] & 255) << 16)
1534
+ | ((input[7 + inpos]) << 24);
1535
+ output[2 + outpos] = (input[8 + inpos] & 255)
1536
+ | ((input[9 + inpos] & 255) << 8)
1537
+ | ((input[10 + inpos] & 255) << 16)
1538
+ | ((input[11 + inpos]) << 24);
1539
+ output[3 + outpos] = (input[12 + inpos] & 255)
1540
+ | ((input[13 + inpos] & 255) << 8)
1541
+ | ((input[14 + inpos] & 255) << 16)
1542
+ | ((input[15 + inpos]) << 24);
1543
+ output[4 + outpos] = (input[16 + inpos] & 255)
1544
+ | ((input[17 + inpos] & 255) << 8)
1545
+ | ((input[18 + inpos] & 255) << 16)
1546
+ | ((input[19 + inpos]) << 24);
1547
+ output[5 + outpos] = (input[20 + inpos] & 255)
1548
+ | ((input[21 + inpos] & 255) << 8)
1549
+ | ((input[22 + inpos] & 255) << 16)
1550
+ | ((input[23 + inpos]) << 24);
1551
+ output[6 + outpos] = (input[24 + inpos] & 255)
1552
+ | ((input[25 + inpos] & 255) << 8)
1553
+ | ((input[26 + inpos] & 255) << 16)
1554
+ | ((input[27 + inpos]) << 24);
1555
+ output[7 + outpos] = (input[28 + inpos] & 255)
1556
+ | ((input[29 + inpos] & 255) << 8)
1557
+ | ((input[30 + inpos] & 255) << 16)
1558
+ | ((input[31 + inpos]) << 24);
1559
+ }
1560
+ function fastpack9(input, inpos, output, outpos) {
1561
+ output[outpos] = (input[inpos] & 511)
1562
+ | ((input[1 + inpos] & 511) << 9)
1563
+ | ((input[2 + inpos] & 511) << 18)
1564
+ | ((input[3 + inpos]) << 27);
1565
+ output[1 + outpos] = ((input[3 + inpos] & 511) >>> (9 - 4))
1566
+ | ((input[4 + inpos] & 511) << 4)
1567
+ | ((input[5 + inpos] & 511) << 13)
1568
+ | ((input[6 + inpos] & 511) << 22)
1569
+ | ((input[7 + inpos]) << 31);
1570
+ output[2 + outpos] = ((input[7 + inpos] & 511) >>> (9 - 8))
1571
+ | ((input[8 + inpos] & 511) << 8)
1572
+ | ((input[9 + inpos] & 511) << 17)
1573
+ | ((input[10 + inpos]) << 26);
1574
+ output[3 + outpos] = ((input[10 + inpos] & 511) >>> (9 - 3))
1575
+ | ((input[11 + inpos] & 511) << 3)
1576
+ | ((input[12 + inpos] & 511) << 12)
1577
+ | ((input[13 + inpos] & 511) << 21)
1578
+ | ((input[14 + inpos]) << 30);
1579
+ output[4 + outpos] = ((input[14 + inpos] & 511) >>> (9 - 7))
1580
+ | ((input[15 + inpos] & 511) << 7)
1581
+ | ((input[16 + inpos] & 511) << 16)
1582
+ | ((input[17 + inpos]) << 25);
1583
+ output[5 + outpos] = ((input[17 + inpos] & 511) >>> (9 - 2))
1584
+ | ((input[18 + inpos] & 511) << 2)
1585
+ | ((input[19 + inpos] & 511) << 11)
1586
+ | ((input[20 + inpos] & 511) << 20)
1587
+ | ((input[21 + inpos]) << 29);
1588
+ output[6 + outpos] = ((input[21 + inpos] & 511) >>> (9 - 6))
1589
+ | ((input[22 + inpos] & 511) << 6)
1590
+ | ((input[23 + inpos] & 511) << 15)
1591
+ | ((input[24 + inpos]) << 24);
1592
+ output[7 + outpos] = ((input[24 + inpos] & 511) >>> (9 - 1))
1593
+ | ((input[25 + inpos] & 511) << 1)
1594
+ | ((input[26 + inpos] & 511) << 10)
1595
+ | ((input[27 + inpos] & 511) << 19)
1596
+ | ((input[28 + inpos]) << 28);
1597
+ output[8 + outpos] = ((input[28 + inpos] & 511) >>> (9 - 5))
1598
+ | ((input[29 + inpos] & 511) << 5)
1599
+ | ((input[30 + inpos] & 511) << 14)
1600
+ | ((input[31 + inpos]) << 23);
1601
+ }
1602
+ /**
1603
+ * Unpack 32 numberegers
1604
+ *
1605
+ * @param input
1606
+ * source array
1607
+ * @param inpos
1608
+ * position in source array
1609
+ * @param output
1610
+ * output array
1611
+ * @param outpos
1612
+ * position in output array
1613
+ * @param bit
1614
+ * number of bits to use per numbereger
1615
+ */
1616
+ function fastpackwithoutmask(input, inpos, output, outpos, bit) {
1617
+ switch (bit) {
1618
+ case 0:
1619
+ fastpackwithoutmask0(input, inpos, output, outpos);
1620
+ break;
1621
+ case 1:
1622
+ fastpackwithoutmask1(input, inpos, output, outpos);
1623
+ break;
1624
+ case 2:
1625
+ fastpackwithoutmask2(input, inpos, output, outpos);
1626
+ break;
1627
+ case 3:
1628
+ fastpackwithoutmask3(input, inpos, output, outpos);
1629
+ break;
1630
+ case 4:
1631
+ fastpackwithoutmask4(input, inpos, output, outpos);
1632
+ break;
1633
+ case 5:
1634
+ fastpackwithoutmask5(input, inpos, output, outpos);
1635
+ break;
1636
+ case 6:
1637
+ fastpackwithoutmask6(input, inpos, output, outpos);
1638
+ break;
1639
+ case 7:
1640
+ fastpackwithoutmask7(input, inpos, output, outpos);
1641
+ break;
1642
+ case 8:
1643
+ fastpackwithoutmask8(input, inpos, output, outpos);
1644
+ break;
1645
+ case 9:
1646
+ fastpackwithoutmask9(input, inpos, output, outpos);
1647
+ break;
1648
+ case 10:
1649
+ fastpackwithoutmask10(input, inpos, output, outpos);
1650
+ break;
1651
+ case 11:
1652
+ fastpackwithoutmask11(input, inpos, output, outpos);
1653
+ break;
1654
+ case 12:
1655
+ fastpackwithoutmask12(input, inpos, output, outpos);
1656
+ break;
1657
+ case 13:
1658
+ fastpackwithoutmask13(input, inpos, output, outpos);
1659
+ break;
1660
+ case 14:
1661
+ fastpackwithoutmask14(input, inpos, output, outpos);
1662
+ break;
1663
+ case 15:
1664
+ fastpackwithoutmask15(input, inpos, output, outpos);
1665
+ break;
1666
+ case 16:
1667
+ fastpackwithoutmask16(input, inpos, output, outpos);
1668
+ break;
1669
+ case 17:
1670
+ fastpackwithoutmask17(input, inpos, output, outpos);
1671
+ break;
1672
+ case 18:
1673
+ fastpackwithoutmask18(input, inpos, output, outpos);
1674
+ break;
1675
+ case 19:
1676
+ fastpackwithoutmask19(input, inpos, output, outpos);
1677
+ break;
1678
+ case 20:
1679
+ fastpackwithoutmask20(input, inpos, output, outpos);
1680
+ break;
1681
+ case 21:
1682
+ fastpackwithoutmask21(input, inpos, output, outpos);
1683
+ break;
1684
+ case 22:
1685
+ fastpackwithoutmask22(input, inpos, output, outpos);
1686
+ break;
1687
+ case 23:
1688
+ fastpackwithoutmask23(input, inpos, output, outpos);
1689
+ break;
1690
+ case 24:
1691
+ fastpackwithoutmask24(input, inpos, output, outpos);
1692
+ break;
1693
+ case 25:
1694
+ fastpackwithoutmask25(input, inpos, output, outpos);
1695
+ break;
1696
+ case 26:
1697
+ fastpackwithoutmask26(input, inpos, output, outpos);
1698
+ break;
1699
+ case 27:
1700
+ fastpackwithoutmask27(input, inpos, output, outpos);
1701
+ break;
1702
+ case 28:
1703
+ fastpackwithoutmask28(input, inpos, output, outpos);
1704
+ break;
1705
+ case 29:
1706
+ fastpackwithoutmask29(input, inpos, output, outpos);
1707
+ break;
1708
+ case 30:
1709
+ fastpackwithoutmask30(input, inpos, output, outpos);
1710
+ break;
1711
+ case 31:
1712
+ fastpackwithoutmask31(input, inpos, output, outpos);
1713
+ break;
1714
+ case 32:
1715
+ fastpackwithoutmask32(input, inpos, output, outpos);
1716
+ break;
1717
+ default:
1718
+ throw new Error("Unsupported bit width.");
1719
+ }
1720
+ }
1721
+ function fastpackwithoutmask0(input, inpos, output, outpos) {
1722
+ // nothing
1723
+ }
1724
+ function fastpackwithoutmask1(input, inpos, output, outpos) {
1725
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 1)
1726
+ | ((input[2 + inpos]) << 2) | ((input[3 + inpos]) << 3)
1727
+ | ((input[4 + inpos]) << 4) | ((input[5 + inpos]) << 5)
1728
+ | ((input[6 + inpos]) << 6) | ((input[7 + inpos]) << 7)
1729
+ | ((input[8 + inpos]) << 8) | ((input[9 + inpos]) << 9)
1730
+ | ((input[10 + inpos]) << 10) | ((input[11 + inpos]) << 11)
1731
+ | ((input[12 + inpos]) << 12) | ((input[13 + inpos]) << 13)
1732
+ | ((input[14 + inpos]) << 14) | ((input[15 + inpos]) << 15)
1733
+ | ((input[16 + inpos]) << 16) | ((input[17 + inpos]) << 17)
1734
+ | ((input[18 + inpos]) << 18) | ((input[19 + inpos]) << 19)
1735
+ | ((input[20 + inpos]) << 20) | ((input[21 + inpos]) << 21)
1736
+ | ((input[22 + inpos]) << 22) | ((input[23 + inpos]) << 23)
1737
+ | ((input[24 + inpos]) << 24) | ((input[25 + inpos]) << 25)
1738
+ | ((input[26 + inpos]) << 26) | ((input[27 + inpos]) << 27)
1739
+ | ((input[28 + inpos]) << 28) | ((input[29 + inpos]) << 29)
1740
+ | ((input[30 + inpos]) << 30) | ((input[31 + inpos]) << 31);
1741
+ }
1742
+ function fastpackwithoutmask10(input, inpos, output, outpos) {
1743
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 10)
1744
+ | ((input[2 + inpos]) << 20) | ((input[3 + inpos]) << 30);
1745
+ output[1 + outpos] = ((input[3 + inpos]) >>> (10 - 8))
1746
+ | ((input[4 + inpos]) << 8) | ((input[5 + inpos]) << 18)
1747
+ | ((input[6 + inpos]) << 28);
1748
+ output[2 + outpos] = ((input[6 + inpos]) >>> (10 - 6))
1749
+ | ((input[7 + inpos]) << 6) | ((input[8 + inpos]) << 16)
1750
+ | ((input[9 + inpos]) << 26);
1751
+ output[3 + outpos] = ((input[9 + inpos]) >>> (10 - 4))
1752
+ | ((input[10 + inpos]) << 4) | ((input[11 + inpos]) << 14)
1753
+ | ((input[12 + inpos]) << 24);
1754
+ output[4 + outpos] = ((input[12 + inpos]) >>> (10 - 2))
1755
+ | ((input[13 + inpos]) << 2) | ((input[14 + inpos]) << 12)
1756
+ | ((input[15 + inpos]) << 22);
1757
+ output[5 + outpos] = input[16 + inpos] | ((input[17 + inpos]) << 10)
1758
+ | ((input[18 + inpos]) << 20) | ((input[19 + inpos]) << 30);
1759
+ output[6 + outpos] = ((input[19 + inpos]) >>> (10 - 8))
1760
+ | ((input[20 + inpos]) << 8) | ((input[21 + inpos]) << 18)
1761
+ | ((input[22 + inpos]) << 28);
1762
+ output[7 + outpos] = ((input[22 + inpos]) >>> (10 - 6))
1763
+ | ((input[23 + inpos]) << 6) | ((input[24 + inpos]) << 16)
1764
+ | ((input[25 + inpos]) << 26);
1765
+ output[8 + outpos] = ((input[25 + inpos]) >>> (10 - 4))
1766
+ | ((input[26 + inpos]) << 4) | ((input[27 + inpos]) << 14)
1767
+ | ((input[28 + inpos]) << 24);
1768
+ output[9 + outpos] = ((input[28 + inpos]) >>> (10 - 2))
1769
+ | ((input[29 + inpos]) << 2) | ((input[30 + inpos]) << 12)
1770
+ | ((input[31 + inpos]) << 22);
1771
+ }
1772
+ function fastpackwithoutmask11(input, inpos, output, outpos) {
1773
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 11)
1774
+ | ((input[2 + inpos]) << 22);
1775
+ output[1 + outpos] = ((input[2 + inpos]) >>> (11 - 1))
1776
+ | ((input[3 + inpos]) << 1) | ((input[4 + inpos]) << 12)
1777
+ | ((input[5 + inpos]) << 23);
1778
+ output[2 + outpos] = ((input[5 + inpos]) >>> (11 - 2))
1779
+ | ((input[6 + inpos]) << 2) | ((input[7 + inpos]) << 13)
1780
+ | ((input[8 + inpos]) << 24);
1781
+ output[3 + outpos] = ((input[8 + inpos]) >>> (11 - 3))
1782
+ | ((input[9 + inpos]) << 3) | ((input[10 + inpos]) << 14)
1783
+ | ((input[11 + inpos]) << 25);
1784
+ output[4 + outpos] = ((input[11 + inpos]) >>> (11 - 4))
1785
+ | ((input[12 + inpos]) << 4) | ((input[13 + inpos]) << 15)
1786
+ | ((input[14 + inpos]) << 26);
1787
+ output[5 + outpos] = ((input[14 + inpos]) >>> (11 - 5))
1788
+ | ((input[15 + inpos]) << 5) | ((input[16 + inpos]) << 16)
1789
+ | ((input[17 + inpos]) << 27);
1790
+ output[6 + outpos] = ((input[17 + inpos]) >>> (11 - 6))
1791
+ | ((input[18 + inpos]) << 6) | ((input[19 + inpos]) << 17)
1792
+ | ((input[20 + inpos]) << 28);
1793
+ output[7 + outpos] = ((input[20 + inpos]) >>> (11 - 7))
1794
+ | ((input[21 + inpos]) << 7) | ((input[22 + inpos]) << 18)
1795
+ | ((input[23 + inpos]) << 29);
1796
+ output[8 + outpos] = ((input[23 + inpos]) >>> (11 - 8))
1797
+ | ((input[24 + inpos]) << 8) | ((input[25 + inpos]) << 19)
1798
+ | ((input[26 + inpos]) << 30);
1799
+ output[9 + outpos] = ((input[26 + inpos]) >>> (11 - 9))
1800
+ | ((input[27 + inpos]) << 9) | ((input[28 + inpos]) << 20)
1801
+ | ((input[29 + inpos]) << 31);
1802
+ output[10 + outpos] = ((input[29 + inpos]) >>> (11 - 10))
1803
+ | ((input[30 + inpos]) << 10) | ((input[31 + inpos]) << 21);
1804
+ }
1805
+ function fastpackwithoutmask12(input, inpos, output, outpos) {
1806
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 12)
1807
+ | ((input[2 + inpos]) << 24);
1808
+ output[1 + outpos] = ((input[2 + inpos]) >>> (12 - 4))
1809
+ | ((input[3 + inpos]) << 4) | ((input[4 + inpos]) << 16)
1810
+ | ((input[5 + inpos]) << 28);
1811
+ output[2 + outpos] = ((input[5 + inpos]) >>> (12 - 8))
1812
+ | ((input[6 + inpos]) << 8) | ((input[7 + inpos]) << 20);
1813
+ output[3 + outpos] = input[8 + inpos] | ((input[9 + inpos]) << 12)
1814
+ | ((input[10 + inpos]) << 24);
1815
+ output[4 + outpos] = ((input[10 + inpos]) >>> (12 - 4))
1816
+ | ((input[11 + inpos]) << 4) | ((input[12 + inpos]) << 16)
1817
+ | ((input[13 + inpos]) << 28);
1818
+ output[5 + outpos] = ((input[13 + inpos]) >>> (12 - 8))
1819
+ | ((input[14 + inpos]) << 8) | ((input[15 + inpos]) << 20);
1820
+ output[6 + outpos] = input[16 + inpos] | ((input[17 + inpos]) << 12)
1821
+ | ((input[18 + inpos]) << 24);
1822
+ output[7 + outpos] = ((input[18 + inpos]) >>> (12 - 4))
1823
+ | ((input[19 + inpos]) << 4) | ((input[20 + inpos]) << 16)
1824
+ | ((input[21 + inpos]) << 28);
1825
+ output[8 + outpos] = ((input[21 + inpos]) >>> (12 - 8))
1826
+ | ((input[22 + inpos]) << 8) | ((input[23 + inpos]) << 20);
1827
+ output[9 + outpos] = input[24 + inpos] | ((input[25 + inpos]) << 12)
1828
+ | ((input[26 + inpos]) << 24);
1829
+ output[10 + outpos] = ((input[26 + inpos]) >>> (12 - 4))
1830
+ | ((input[27 + inpos]) << 4) | ((input[28 + inpos]) << 16)
1831
+ | ((input[29 + inpos]) << 28);
1832
+ output[11 + outpos] = ((input[29 + inpos]) >>> (12 - 8))
1833
+ | ((input[30 + inpos]) << 8) | ((input[31 + inpos]) << 20);
1834
+ }
1835
+ function fastpackwithoutmask13(input, inpos, output, outpos) {
1836
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 13)
1837
+ | ((input[2 + inpos]) << 26);
1838
+ output[1 + outpos] = ((input[2 + inpos]) >>> (13 - 7))
1839
+ | ((input[3 + inpos]) << 7) | ((input[4 + inpos]) << 20);
1840
+ output[2 + outpos] = ((input[4 + inpos]) >>> (13 - 1))
1841
+ | ((input[5 + inpos]) << 1) | ((input[6 + inpos]) << 14)
1842
+ | ((input[7 + inpos]) << 27);
1843
+ output[3 + outpos] = ((input[7 + inpos]) >>> (13 - 8))
1844
+ | ((input[8 + inpos]) << 8) | ((input[9 + inpos]) << 21);
1845
+ output[4 + outpos] = ((input[9 + inpos]) >>> (13 - 2))
1846
+ | ((input[10 + inpos]) << 2) | ((input[11 + inpos]) << 15)
1847
+ | ((input[12 + inpos]) << 28);
1848
+ output[5 + outpos] = ((input[12 + inpos]) >>> (13 - 9))
1849
+ | ((input[13 + inpos]) << 9) | ((input[14 + inpos]) << 22);
1850
+ output[6 + outpos] = ((input[14 + inpos]) >>> (13 - 3))
1851
+ | ((input[15 + inpos]) << 3) | ((input[16 + inpos]) << 16)
1852
+ | ((input[17 + inpos]) << 29);
1853
+ output[7 + outpos] = ((input[17 + inpos]) >>> (13 - 10))
1854
+ | ((input[18 + inpos]) << 10) | ((input[19 + inpos]) << 23);
1855
+ output[8 + outpos] = ((input[19 + inpos]) >>> (13 - 4))
1856
+ | ((input[20 + inpos]) << 4) | ((input[21 + inpos]) << 17)
1857
+ | ((input[22 + inpos]) << 30);
1858
+ output[9 + outpos] = ((input[22 + inpos]) >>> (13 - 11))
1859
+ | ((input[23 + inpos]) << 11) | ((input[24 + inpos]) << 24);
1860
+ output[10 + outpos] = ((input[24 + inpos]) >>> (13 - 5))
1861
+ | ((input[25 + inpos]) << 5) | ((input[26 + inpos]) << 18)
1862
+ | ((input[27 + inpos]) << 31);
1863
+ output[11 + outpos] = ((input[27 + inpos]) >>> (13 - 12))
1864
+ | ((input[28 + inpos]) << 12) | ((input[29 + inpos]) << 25);
1865
+ output[12 + outpos] = ((input[29 + inpos]) >>> (13 - 6))
1866
+ | ((input[30 + inpos]) << 6) | ((input[31 + inpos]) << 19);
1867
+ }
1868
+ function fastpackwithoutmask14(input, inpos, output, outpos) {
1869
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 14)
1870
+ | ((input[2 + inpos]) << 28);
1871
+ output[1 + outpos] = ((input[2 + inpos]) >>> (14 - 10))
1872
+ | ((input[3 + inpos]) << 10) | ((input[4 + inpos]) << 24);
1873
+ output[2 + outpos] = ((input[4 + inpos]) >>> (14 - 6))
1874
+ | ((input[5 + inpos]) << 6) | ((input[6 + inpos]) << 20);
1875
+ output[3 + outpos] = ((input[6 + inpos]) >>> (14 - 2))
1876
+ | ((input[7 + inpos]) << 2) | ((input[8 + inpos]) << 16)
1877
+ | ((input[9 + inpos]) << 30);
1878
+ output[4 + outpos] = ((input[9 + inpos]) >>> (14 - 12))
1879
+ | ((input[10 + inpos]) << 12) | ((input[11 + inpos]) << 26);
1880
+ output[5 + outpos] = ((input[11 + inpos]) >>> (14 - 8))
1881
+ | ((input[12 + inpos]) << 8) | ((input[13 + inpos]) << 22);
1882
+ output[6 + outpos] = ((input[13 + inpos]) >>> (14 - 4))
1883
+ | ((input[14 + inpos]) << 4) | ((input[15 + inpos]) << 18);
1884
+ output[7 + outpos] = input[16 + inpos] | ((input[17 + inpos]) << 14)
1885
+ | ((input[18 + inpos]) << 28);
1886
+ output[8 + outpos] = ((input[18 + inpos]) >>> (14 - 10))
1887
+ | ((input[19 + inpos]) << 10) | ((input[20 + inpos]) << 24);
1888
+ output[9 + outpos] = ((input[20 + inpos]) >>> (14 - 6))
1889
+ | ((input[21 + inpos]) << 6) | ((input[22 + inpos]) << 20);
1890
+ output[10 + outpos] = ((input[22 + inpos]) >>> (14 - 2))
1891
+ | ((input[23 + inpos]) << 2) | ((input[24 + inpos]) << 16)
1892
+ | ((input[25 + inpos]) << 30);
1893
+ output[11 + outpos] = ((input[25 + inpos]) >>> (14 - 12))
1894
+ | ((input[26 + inpos]) << 12) | ((input[27 + inpos]) << 26);
1895
+ output[12 + outpos] = ((input[27 + inpos]) >>> (14 - 8))
1896
+ | ((input[28 + inpos]) << 8) | ((input[29 + inpos]) << 22);
1897
+ output[13 + outpos] = ((input[29 + inpos]) >>> (14 - 4))
1898
+ | ((input[30 + inpos]) << 4) | ((input[31 + inpos]) << 18);
1899
+ }
1900
+ function fastpackwithoutmask15(input, inpos, output, outpos) {
1901
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 15)
1902
+ | ((input[2 + inpos]) << 30);
1903
+ output[1 + outpos] = ((input[2 + inpos]) >>> (15 - 13))
1904
+ | ((input[3 + inpos]) << 13) | ((input[4 + inpos]) << 28);
1905
+ output[2 + outpos] = ((input[4 + inpos]) >>> (15 - 11))
1906
+ | ((input[5 + inpos]) << 11) | ((input[6 + inpos]) << 26);
1907
+ output[3 + outpos] = ((input[6 + inpos]) >>> (15 - 9))
1908
+ | ((input[7 + inpos]) << 9) | ((input[8 + inpos]) << 24);
1909
+ output[4 + outpos] = ((input[8 + inpos]) >>> (15 - 7))
1910
+ | ((input[9 + inpos]) << 7) | ((input[10 + inpos]) << 22);
1911
+ output[5 + outpos] = ((input[10 + inpos]) >>> (15 - 5))
1912
+ | ((input[11 + inpos]) << 5) | ((input[12 + inpos]) << 20);
1913
+ output[6 + outpos] = ((input[12 + inpos]) >>> (15 - 3))
1914
+ | ((input[13 + inpos]) << 3) | ((input[14 + inpos]) << 18);
1915
+ output[7 + outpos] = ((input[14 + inpos]) >>> (15 - 1))
1916
+ | ((input[15 + inpos]) << 1) | ((input[16 + inpos]) << 16)
1917
+ | ((input[17 + inpos]) << 31);
1918
+ output[8 + outpos] = ((input[17 + inpos]) >>> (15 - 14))
1919
+ | ((input[18 + inpos]) << 14) | ((input[19 + inpos]) << 29);
1920
+ output[9 + outpos] = ((input[19 + inpos]) >>> (15 - 12))
1921
+ | ((input[20 + inpos]) << 12) | ((input[21 + inpos]) << 27);
1922
+ output[10 + outpos] = ((input[21 + inpos]) >>> (15 - 10))
1923
+ | ((input[22 + inpos]) << 10) | ((input[23 + inpos]) << 25);
1924
+ output[11 + outpos] = ((input[23 + inpos]) >>> (15 - 8))
1925
+ | ((input[24 + inpos]) << 8) | ((input[25 + inpos]) << 23);
1926
+ output[12 + outpos] = ((input[25 + inpos]) >>> (15 - 6))
1927
+ | ((input[26 + inpos]) << 6) | ((input[27 + inpos]) << 21);
1928
+ output[13 + outpos] = ((input[27 + inpos]) >>> (15 - 4))
1929
+ | ((input[28 + inpos]) << 4) | ((input[29 + inpos]) << 19);
1930
+ output[14 + outpos] = ((input[29 + inpos]) >>> (15 - 2))
1931
+ | ((input[30 + inpos]) << 2) | ((input[31 + inpos]) << 17);
1932
+ }
1933
+ function fastpackwithoutmask16(input, inpos, output, outpos) {
1934
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 16);
1935
+ output[1 + outpos] = input[2 + inpos] | ((input[3 + inpos]) << 16);
1936
+ output[2 + outpos] = input[4 + inpos] | ((input[5 + inpos]) << 16);
1937
+ output[3 + outpos] = input[6 + inpos] | ((input[7 + inpos]) << 16);
1938
+ output[4 + outpos] = input[8 + inpos] | ((input[9 + inpos]) << 16);
1939
+ output[5 + outpos] = input[10 + inpos] | ((input[11 + inpos]) << 16);
1940
+ output[6 + outpos] = input[12 + inpos] | ((input[13 + inpos]) << 16);
1941
+ output[7 + outpos] = input[14 + inpos] | ((input[15 + inpos]) << 16);
1942
+ output[8 + outpos] = input[16 + inpos] | ((input[17 + inpos]) << 16);
1943
+ output[9 + outpos] = input[18 + inpos] | ((input[19 + inpos]) << 16);
1944
+ output[10 + outpos] = input[20 + inpos] | ((input[21 + inpos]) << 16);
1945
+ output[11 + outpos] = input[22 + inpos] | ((input[23 + inpos]) << 16);
1946
+ output[12 + outpos] = input[24 + inpos] | ((input[25 + inpos]) << 16);
1947
+ output[13 + outpos] = input[26 + inpos] | ((input[27 + inpos]) << 16);
1948
+ output[14 + outpos] = input[28 + inpos] | ((input[29 + inpos]) << 16);
1949
+ output[15 + outpos] = input[30 + inpos] | ((input[31 + inpos]) << 16);
1950
+ }
1951
+ function fastpackwithoutmask17(input, inpos, output, outpos) {
1952
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 17);
1953
+ output[1 + outpos] = ((input[1 + inpos]) >>> (17 - 2))
1954
+ | ((input[2 + inpos]) << 2) | ((input[3 + inpos]) << 19);
1955
+ output[2 + outpos] = ((input[3 + inpos]) >>> (17 - 4))
1956
+ | ((input[4 + inpos]) << 4) | ((input[5 + inpos]) << 21);
1957
+ output[3 + outpos] = ((input[5 + inpos]) >>> (17 - 6))
1958
+ | ((input[6 + inpos]) << 6) | ((input[7 + inpos]) << 23);
1959
+ output[4 + outpos] = ((input[7 + inpos]) >>> (17 - 8))
1960
+ | ((input[8 + inpos]) << 8) | ((input[9 + inpos]) << 25);
1961
+ output[5 + outpos] = ((input[9 + inpos]) >>> (17 - 10))
1962
+ | ((input[10 + inpos]) << 10) | ((input[11 + inpos]) << 27);
1963
+ output[6 + outpos] = ((input[11 + inpos]) >>> (17 - 12))
1964
+ | ((input[12 + inpos]) << 12) | ((input[13 + inpos]) << 29);
1965
+ output[7 + outpos] = ((input[13 + inpos]) >>> (17 - 14))
1966
+ | ((input[14 + inpos]) << 14) | ((input[15 + inpos]) << 31);
1967
+ output[8 + outpos] = ((input[15 + inpos]) >>> (17 - 16))
1968
+ | ((input[16 + inpos]) << 16);
1969
+ output[9 + outpos] = ((input[16 + inpos]) >>> (17 - 1))
1970
+ | ((input[17 + inpos]) << 1) | ((input[18 + inpos]) << 18);
1971
+ output[10 + outpos] = ((input[18 + inpos]) >>> (17 - 3))
1972
+ | ((input[19 + inpos]) << 3) | ((input[20 + inpos]) << 20);
1973
+ output[11 + outpos] = ((input[20 + inpos]) >>> (17 - 5))
1974
+ | ((input[21 + inpos]) << 5) | ((input[22 + inpos]) << 22);
1975
+ output[12 + outpos] = ((input[22 + inpos]) >>> (17 - 7))
1976
+ | ((input[23 + inpos]) << 7) | ((input[24 + inpos]) << 24);
1977
+ output[13 + outpos] = ((input[24 + inpos]) >>> (17 - 9))
1978
+ | ((input[25 + inpos]) << 9) | ((input[26 + inpos]) << 26);
1979
+ output[14 + outpos] = ((input[26 + inpos]) >>> (17 - 11))
1980
+ | ((input[27 + inpos]) << 11) | ((input[28 + inpos]) << 28);
1981
+ output[15 + outpos] = ((input[28 + inpos]) >>> (17 - 13))
1982
+ | ((input[29 + inpos]) << 13) | ((input[30 + inpos]) << 30);
1983
+ output[16 + outpos] = ((input[30 + inpos]) >>> (17 - 15))
1984
+ | ((input[31 + inpos]) << 15);
1985
+ }
1986
+ function fastpackwithoutmask18(input, inpos, output, outpos) {
1987
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 18);
1988
+ output[1 + outpos] = ((input[1 + inpos]) >>> (18 - 4))
1989
+ | ((input[2 + inpos]) << 4) | ((input[3 + inpos]) << 22);
1990
+ output[2 + outpos] = ((input[3 + inpos]) >>> (18 - 8))
1991
+ | ((input[4 + inpos]) << 8) | ((input[5 + inpos]) << 26);
1992
+ output[3 + outpos] = ((input[5 + inpos]) >>> (18 - 12))
1993
+ | ((input[6 + inpos]) << 12) | ((input[7 + inpos]) << 30);
1994
+ output[4 + outpos] = ((input[7 + inpos]) >>> (18 - 16))
1995
+ | ((input[8 + inpos]) << 16);
1996
+ output[5 + outpos] = ((input[8 + inpos]) >>> (18 - 2))
1997
+ | ((input[9 + inpos]) << 2) | ((input[10 + inpos]) << 20);
1998
+ output[6 + outpos] = ((input[10 + inpos]) >>> (18 - 6))
1999
+ | ((input[11 + inpos]) << 6) | ((input[12 + inpos]) << 24);
2000
+ output[7 + outpos] = ((input[12 + inpos]) >>> (18 - 10))
2001
+ | ((input[13 + inpos]) << 10) | ((input[14 + inpos]) << 28);
2002
+ output[8 + outpos] = ((input[14 + inpos]) >>> (18 - 14))
2003
+ | ((input[15 + inpos]) << 14);
2004
+ output[9 + outpos] = input[16 + inpos] | ((input[17 + inpos]) << 18);
2005
+ output[10 + outpos] = ((input[17 + inpos]) >>> (18 - 4))
2006
+ | ((input[18 + inpos]) << 4) | ((input[19 + inpos]) << 22);
2007
+ output[11 + outpos] = ((input[19 + inpos]) >>> (18 - 8))
2008
+ | ((input[20 + inpos]) << 8) | ((input[21 + inpos]) << 26);
2009
+ output[12 + outpos] = ((input[21 + inpos]) >>> (18 - 12))
2010
+ | ((input[22 + inpos]) << 12) | ((input[23 + inpos]) << 30);
2011
+ output[13 + outpos] = ((input[23 + inpos]) >>> (18 - 16))
2012
+ | ((input[24 + inpos]) << 16);
2013
+ output[14 + outpos] = ((input[24 + inpos]) >>> (18 - 2))
2014
+ | ((input[25 + inpos]) << 2) | ((input[26 + inpos]) << 20);
2015
+ output[15 + outpos] = ((input[26 + inpos]) >>> (18 - 6))
2016
+ | ((input[27 + inpos]) << 6) | ((input[28 + inpos]) << 24);
2017
+ output[16 + outpos] = ((input[28 + inpos]) >>> (18 - 10))
2018
+ | ((input[29 + inpos]) << 10) | ((input[30 + inpos]) << 28);
2019
+ output[17 + outpos] = ((input[30 + inpos]) >>> (18 - 14))
2020
+ | ((input[31 + inpos]) << 14);
2021
+ }
2022
+ function fastpackwithoutmask19(input, inpos, output, outpos) {
2023
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 19);
2024
+ output[1 + outpos] = ((input[1 + inpos]) >>> (19 - 6))
2025
+ | ((input[2 + inpos]) << 6) | ((input[3 + inpos]) << 25);
2026
+ output[2 + outpos] = ((input[3 + inpos]) >>> (19 - 12))
2027
+ | ((input[4 + inpos]) << 12) | ((input[5 + inpos]) << 31);
2028
+ output[3 + outpos] = ((input[5 + inpos]) >>> (19 - 18))
2029
+ | ((input[6 + inpos]) << 18);
2030
+ output[4 + outpos] = ((input[6 + inpos]) >>> (19 - 5))
2031
+ | ((input[7 + inpos]) << 5) | ((input[8 + inpos]) << 24);
2032
+ output[5 + outpos] = ((input[8 + inpos]) >>> (19 - 11))
2033
+ | ((input[9 + inpos]) << 11) | ((input[10 + inpos]) << 30);
2034
+ output[6 + outpos] = ((input[10 + inpos]) >>> (19 - 17))
2035
+ | ((input[11 + inpos]) << 17);
2036
+ output[7 + outpos] = ((input[11 + inpos]) >>> (19 - 4))
2037
+ | ((input[12 + inpos]) << 4) | ((input[13 + inpos]) << 23);
2038
+ output[8 + outpos] = ((input[13 + inpos]) >>> (19 - 10))
2039
+ | ((input[14 + inpos]) << 10) | ((input[15 + inpos]) << 29);
2040
+ output[9 + outpos] = ((input[15 + inpos]) >>> (19 - 16))
2041
+ | ((input[16 + inpos]) << 16);
2042
+ output[10 + outpos] = ((input[16 + inpos]) >>> (19 - 3))
2043
+ | ((input[17 + inpos]) << 3) | ((input[18 + inpos]) << 22);
2044
+ output[11 + outpos] = ((input[18 + inpos]) >>> (19 - 9))
2045
+ | ((input[19 + inpos]) << 9) | ((input[20 + inpos]) << 28);
2046
+ output[12 + outpos] = ((input[20 + inpos]) >>> (19 - 15))
2047
+ | ((input[21 + inpos]) << 15);
2048
+ output[13 + outpos] = ((input[21 + inpos]) >>> (19 - 2))
2049
+ | ((input[22 + inpos]) << 2) | ((input[23 + inpos]) << 21);
2050
+ output[14 + outpos] = ((input[23 + inpos]) >>> (19 - 8))
2051
+ | ((input[24 + inpos]) << 8) | ((input[25 + inpos]) << 27);
2052
+ output[15 + outpos] = ((input[25 + inpos]) >>> (19 - 14))
2053
+ | ((input[26 + inpos]) << 14);
2054
+ output[16 + outpos] = ((input[26 + inpos]) >>> (19 - 1))
2055
+ | ((input[27 + inpos]) << 1) | ((input[28 + inpos]) << 20);
2056
+ output[17 + outpos] = ((input[28 + inpos]) >>> (19 - 7))
2057
+ | ((input[29 + inpos]) << 7) | ((input[30 + inpos]) << 26);
2058
+ output[18 + outpos] = ((input[30 + inpos]) >>> (19 - 13))
2059
+ | ((input[31 + inpos]) << 13);
2060
+ }
2061
+ function fastpackwithoutmask2(input, inpos, output, outpos) {
2062
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 2)
2063
+ | ((input[2 + inpos]) << 4) | ((input[3 + inpos]) << 6)
2064
+ | ((input[4 + inpos]) << 8) | ((input[5 + inpos]) << 10)
2065
+ | ((input[6 + inpos]) << 12) | ((input[7 + inpos]) << 14)
2066
+ | ((input[8 + inpos]) << 16) | ((input[9 + inpos]) << 18)
2067
+ | ((input[10 + inpos]) << 20) | ((input[11 + inpos]) << 22)
2068
+ | ((input[12 + inpos]) << 24) | ((input[13 + inpos]) << 26)
2069
+ | ((input[14 + inpos]) << 28) | ((input[15 + inpos]) << 30);
2070
+ output[1 + outpos] = input[16 + inpos] | ((input[17 + inpos]) << 2)
2071
+ | ((input[18 + inpos]) << 4) | ((input[19 + inpos]) << 6)
2072
+ | ((input[20 + inpos]) << 8) | ((input[21 + inpos]) << 10)
2073
+ | ((input[22 + inpos]) << 12) | ((input[23 + inpos]) << 14)
2074
+ | ((input[24 + inpos]) << 16) | ((input[25 + inpos]) << 18)
2075
+ | ((input[26 + inpos]) << 20) | ((input[27 + inpos]) << 22)
2076
+ | ((input[28 + inpos]) << 24) | ((input[29 + inpos]) << 26)
2077
+ | ((input[30 + inpos]) << 28) | ((input[31 + inpos]) << 30);
2078
+ }
2079
+ function fastpackwithoutmask20(input, inpos, output, outpos) {
2080
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 20);
2081
+ output[1 + outpos] = ((input[1 + inpos]) >>> (20 - 8))
2082
+ | ((input[2 + inpos]) << 8) | ((input[3 + inpos]) << 28);
2083
+ output[2 + outpos] = ((input[3 + inpos]) >>> (20 - 16))
2084
+ | ((input[4 + inpos]) << 16);
2085
+ output[3 + outpos] = ((input[4 + inpos]) >>> (20 - 4))
2086
+ | ((input[5 + inpos]) << 4) | ((input[6 + inpos]) << 24);
2087
+ output[4 + outpos] = ((input[6 + inpos]) >>> (20 - 12))
2088
+ | ((input[7 + inpos]) << 12);
2089
+ output[5 + outpos] = input[8 + inpos] | ((input[9 + inpos]) << 20);
2090
+ output[6 + outpos] = ((input[9 + inpos]) >>> (20 - 8))
2091
+ | ((input[10 + inpos]) << 8) | ((input[11 + inpos]) << 28);
2092
+ output[7 + outpos] = ((input[11 + inpos]) >>> (20 - 16))
2093
+ | ((input[12 + inpos]) << 16);
2094
+ output[8 + outpos] = ((input[12 + inpos]) >>> (20 - 4))
2095
+ | ((input[13 + inpos]) << 4) | ((input[14 + inpos]) << 24);
2096
+ output[9 + outpos] = ((input[14 + inpos]) >>> (20 - 12))
2097
+ | ((input[15 + inpos]) << 12);
2098
+ output[10 + outpos] = input[16 + inpos] | ((input[17 + inpos]) << 20);
2099
+ output[11 + outpos] = ((input[17 + inpos]) >>> (20 - 8))
2100
+ | ((input[18 + inpos]) << 8) | ((input[19 + inpos]) << 28);
2101
+ output[12 + outpos] = ((input[19 + inpos]) >>> (20 - 16))
2102
+ | ((input[20 + inpos]) << 16);
2103
+ output[13 + outpos] = ((input[20 + inpos]) >>> (20 - 4))
2104
+ | ((input[21 + inpos]) << 4) | ((input[22 + inpos]) << 24);
2105
+ output[14 + outpos] = ((input[22 + inpos]) >>> (20 - 12))
2106
+ | ((input[23 + inpos]) << 12);
2107
+ output[15 + outpos] = input[24 + inpos] | ((input[25 + inpos]) << 20);
2108
+ output[16 + outpos] = ((input[25 + inpos]) >>> (20 - 8))
2109
+ | ((input[26 + inpos]) << 8) | ((input[27 + inpos]) << 28);
2110
+ output[17 + outpos] = ((input[27 + inpos]) >>> (20 - 16))
2111
+ | ((input[28 + inpos]) << 16);
2112
+ output[18 + outpos] = ((input[28 + inpos]) >>> (20 - 4))
2113
+ | ((input[29 + inpos]) << 4) | ((input[30 + inpos]) << 24);
2114
+ output[19 + outpos] = ((input[30 + inpos]) >>> (20 - 12))
2115
+ | ((input[31 + inpos]) << 12);
2116
+ }
2117
+ function fastpackwithoutmask21(input, inpos, output, outpos) {
2118
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 21);
2119
+ output[1 + outpos] = ((input[1 + inpos]) >>> (21 - 10))
2120
+ | ((input[2 + inpos]) << 10) | ((input[3 + inpos]) << 31);
2121
+ output[2 + outpos] = ((input[3 + inpos]) >>> (21 - 20))
2122
+ | ((input[4 + inpos]) << 20);
2123
+ output[3 + outpos] = ((input[4 + inpos]) >>> (21 - 9))
2124
+ | ((input[5 + inpos]) << 9) | ((input[6 + inpos]) << 30);
2125
+ output[4 + outpos] = ((input[6 + inpos]) >>> (21 - 19))
2126
+ | ((input[7 + inpos]) << 19);
2127
+ output[5 + outpos] = ((input[7 + inpos]) >>> (21 - 8))
2128
+ | ((input[8 + inpos]) << 8) | ((input[9 + inpos]) << 29);
2129
+ output[6 + outpos] = ((input[9 + inpos]) >>> (21 - 18))
2130
+ | ((input[10 + inpos]) << 18);
2131
+ output[7 + outpos] = ((input[10 + inpos]) >>> (21 - 7))
2132
+ | ((input[11 + inpos]) << 7) | ((input[12 + inpos]) << 28);
2133
+ output[8 + outpos] = ((input[12 + inpos]) >>> (21 - 17))
2134
+ | ((input[13 + inpos]) << 17);
2135
+ output[9 + outpos] = ((input[13 + inpos]) >>> (21 - 6))
2136
+ | ((input[14 + inpos]) << 6) | ((input[15 + inpos]) << 27);
2137
+ output[10 + outpos] = ((input[15 + inpos]) >>> (21 - 16))
2138
+ | ((input[16 + inpos]) << 16);
2139
+ output[11 + outpos] = ((input[16 + inpos]) >>> (21 - 5))
2140
+ | ((input[17 + inpos]) << 5) | ((input[18 + inpos]) << 26);
2141
+ output[12 + outpos] = ((input[18 + inpos]) >>> (21 - 15))
2142
+ | ((input[19 + inpos]) << 15);
2143
+ output[13 + outpos] = ((input[19 + inpos]) >>> (21 - 4))
2144
+ | ((input[20 + inpos]) << 4) | ((input[21 + inpos]) << 25);
2145
+ output[14 + outpos] = ((input[21 + inpos]) >>> (21 - 14))
2146
+ | ((input[22 + inpos]) << 14);
2147
+ output[15 + outpos] = ((input[22 + inpos]) >>> (21 - 3))
2148
+ | ((input[23 + inpos]) << 3) | ((input[24 + inpos]) << 24);
2149
+ output[16 + outpos] = ((input[24 + inpos]) >>> (21 - 13))
2150
+ | ((input[25 + inpos]) << 13);
2151
+ output[17 + outpos] = ((input[25 + inpos]) >>> (21 - 2))
2152
+ | ((input[26 + inpos]) << 2) | ((input[27 + inpos]) << 23);
2153
+ output[18 + outpos] = ((input[27 + inpos]) >>> (21 - 12))
2154
+ | ((input[28 + inpos]) << 12);
2155
+ output[19 + outpos] = ((input[28 + inpos]) >>> (21 - 1))
2156
+ | ((input[29 + inpos]) << 1) | ((input[30 + inpos]) << 22);
2157
+ output[20 + outpos] = ((input[30 + inpos]) >>> (21 - 11))
2158
+ | ((input[31 + inpos]) << 11);
2159
+ }
2160
+ function fastpackwithoutmask22(input, inpos, output, outpos) {
2161
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 22);
2162
+ output[1 + outpos] = ((input[1 + inpos]) >>> (22 - 12))
2163
+ | ((input[2 + inpos]) << 12);
2164
+ output[2 + outpos] = ((input[2 + inpos]) >>> (22 - 2))
2165
+ | ((input[3 + inpos]) << 2) | ((input[4 + inpos]) << 24);
2166
+ output[3 + outpos] = ((input[4 + inpos]) >>> (22 - 14))
2167
+ | ((input[5 + inpos]) << 14);
2168
+ output[4 + outpos] = ((input[5 + inpos]) >>> (22 - 4))
2169
+ | ((input[6 + inpos]) << 4) | ((input[7 + inpos]) << 26);
2170
+ output[5 + outpos] = ((input[7 + inpos]) >>> (22 - 16))
2171
+ | ((input[8 + inpos]) << 16);
2172
+ output[6 + outpos] = ((input[8 + inpos]) >>> (22 - 6))
2173
+ | ((input[9 + inpos]) << 6) | ((input[10 + inpos]) << 28);
2174
+ output[7 + outpos] = ((input[10 + inpos]) >>> (22 - 18))
2175
+ | ((input[11 + inpos]) << 18);
2176
+ output[8 + outpos] = ((input[11 + inpos]) >>> (22 - 8))
2177
+ | ((input[12 + inpos]) << 8) | ((input[13 + inpos]) << 30);
2178
+ output[9 + outpos] = ((input[13 + inpos]) >>> (22 - 20))
2179
+ | ((input[14 + inpos]) << 20);
2180
+ output[10 + outpos] = ((input[14 + inpos]) >>> (22 - 10))
2181
+ | ((input[15 + inpos]) << 10);
2182
+ output[11 + outpos] = input[16 + inpos] | ((input[17 + inpos]) << 22);
2183
+ output[12 + outpos] = ((input[17 + inpos]) >>> (22 - 12))
2184
+ | ((input[18 + inpos]) << 12);
2185
+ output[13 + outpos] = ((input[18 + inpos]) >>> (22 - 2))
2186
+ | ((input[19 + inpos]) << 2) | ((input[20 + inpos]) << 24);
2187
+ output[14 + outpos] = ((input[20 + inpos]) >>> (22 - 14))
2188
+ | ((input[21 + inpos]) << 14);
2189
+ output[15 + outpos] = ((input[21 + inpos]) >>> (22 - 4))
2190
+ | ((input[22 + inpos]) << 4) | ((input[23 + inpos]) << 26);
2191
+ output[16 + outpos] = ((input[23 + inpos]) >>> (22 - 16))
2192
+ | ((input[24 + inpos]) << 16);
2193
+ output[17 + outpos] = ((input[24 + inpos]) >>> (22 - 6))
2194
+ | ((input[25 + inpos]) << 6) | ((input[26 + inpos]) << 28);
2195
+ output[18 + outpos] = ((input[26 + inpos]) >>> (22 - 18))
2196
+ | ((input[27 + inpos]) << 18);
2197
+ output[19 + outpos] = ((input[27 + inpos]) >>> (22 - 8))
2198
+ | ((input[28 + inpos]) << 8) | ((input[29 + inpos]) << 30);
2199
+ output[20 + outpos] = ((input[29 + inpos]) >>> (22 - 20))
2200
+ | ((input[30 + inpos]) << 20);
2201
+ output[21 + outpos] = ((input[30 + inpos]) >>> (22 - 10))
2202
+ | ((input[31 + inpos]) << 10);
2203
+ }
2204
+ function fastpackwithoutmask23(input, inpos, output, outpos) {
2205
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 23);
2206
+ output[1 + outpos] = ((input[1 + inpos]) >>> (23 - 14))
2207
+ | ((input[2 + inpos]) << 14);
2208
+ output[2 + outpos] = ((input[2 + inpos]) >>> (23 - 5))
2209
+ | ((input[3 + inpos]) << 5) | ((input[4 + inpos]) << 28);
2210
+ output[3 + outpos] = ((input[4 + inpos]) >>> (23 - 19))
2211
+ | ((input[5 + inpos]) << 19);
2212
+ output[4 + outpos] = ((input[5 + inpos]) >>> (23 - 10))
2213
+ | ((input[6 + inpos]) << 10);
2214
+ output[5 + outpos] = ((input[6 + inpos]) >>> (23 - 1))
2215
+ | ((input[7 + inpos]) << 1) | ((input[8 + inpos]) << 24);
2216
+ output[6 + outpos] = ((input[8 + inpos]) >>> (23 - 15))
2217
+ | ((input[9 + inpos]) << 15);
2218
+ output[7 + outpos] = ((input[9 + inpos]) >>> (23 - 6))
2219
+ | ((input[10 + inpos]) << 6) | ((input[11 + inpos]) << 29);
2220
+ output[8 + outpos] = ((input[11 + inpos]) >>> (23 - 20))
2221
+ | ((input[12 + inpos]) << 20);
2222
+ output[9 + outpos] = ((input[12 + inpos]) >>> (23 - 11))
2223
+ | ((input[13 + inpos]) << 11);
2224
+ output[10 + outpos] = ((input[13 + inpos]) >>> (23 - 2))
2225
+ | ((input[14 + inpos]) << 2) | ((input[15 + inpos]) << 25);
2226
+ output[11 + outpos] = ((input[15 + inpos]) >>> (23 - 16))
2227
+ | ((input[16 + inpos]) << 16);
2228
+ output[12 + outpos] = ((input[16 + inpos]) >>> (23 - 7))
2229
+ | ((input[17 + inpos]) << 7) | ((input[18 + inpos]) << 30);
2230
+ output[13 + outpos] = ((input[18 + inpos]) >>> (23 - 21))
2231
+ | ((input[19 + inpos]) << 21);
2232
+ output[14 + outpos] = ((input[19 + inpos]) >>> (23 - 12))
2233
+ | ((input[20 + inpos]) << 12);
2234
+ output[15 + outpos] = ((input[20 + inpos]) >>> (23 - 3))
2235
+ | ((input[21 + inpos]) << 3) | ((input[22 + inpos]) << 26);
2236
+ output[16 + outpos] = ((input[22 + inpos]) >>> (23 - 17))
2237
+ | ((input[23 + inpos]) << 17);
2238
+ output[17 + outpos] = ((input[23 + inpos]) >>> (23 - 8))
2239
+ | ((input[24 + inpos]) << 8) | ((input[25 + inpos]) << 31);
2240
+ output[18 + outpos] = ((input[25 + inpos]) >>> (23 - 22))
2241
+ | ((input[26 + inpos]) << 22);
2242
+ output[19 + outpos] = ((input[26 + inpos]) >>> (23 - 13))
2243
+ | ((input[27 + inpos]) << 13);
2244
+ output[20 + outpos] = ((input[27 + inpos]) >>> (23 - 4))
2245
+ | ((input[28 + inpos]) << 4) | ((input[29 + inpos]) << 27);
2246
+ output[21 + outpos] = ((input[29 + inpos]) >>> (23 - 18))
2247
+ | ((input[30 + inpos]) << 18);
2248
+ output[22 + outpos] = ((input[30 + inpos]) >>> (23 - 9))
2249
+ | ((input[31 + inpos]) << 9);
2250
+ }
2251
+ function fastpackwithoutmask24(input, inpos, output, outpos) {
2252
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 24);
2253
+ output[1 + outpos] = ((input[1 + inpos]) >>> (24 - 16))
2254
+ | ((input[2 + inpos]) << 16);
2255
+ output[2 + outpos] = ((input[2 + inpos]) >>> (24 - 8))
2256
+ | ((input[3 + inpos]) << 8);
2257
+ output[3 + outpos] = input[4 + inpos] | ((input[5 + inpos]) << 24);
2258
+ output[4 + outpos] = ((input[5 + inpos]) >>> (24 - 16))
2259
+ | ((input[6 + inpos]) << 16);
2260
+ output[5 + outpos] = ((input[6 + inpos]) >>> (24 - 8))
2261
+ | ((input[7 + inpos]) << 8);
2262
+ output[6 + outpos] = input[8 + inpos] | ((input[9 + inpos]) << 24);
2263
+ output[7 + outpos] = ((input[9 + inpos]) >>> (24 - 16))
2264
+ | ((input[10 + inpos]) << 16);
2265
+ output[8 + outpos] = ((input[10 + inpos]) >>> (24 - 8))
2266
+ | ((input[11 + inpos]) << 8);
2267
+ output[9 + outpos] = input[12 + inpos] | ((input[13 + inpos]) << 24);
2268
+ output[10 + outpos] = ((input[13 + inpos]) >>> (24 - 16))
2269
+ | ((input[14 + inpos]) << 16);
2270
+ output[11 + outpos] = ((input[14 + inpos]) >>> (24 - 8))
2271
+ | ((input[15 + inpos]) << 8);
2272
+ output[12 + outpos] = input[16 + inpos] | ((input[17 + inpos]) << 24);
2273
+ output[13 + outpos] = ((input[17 + inpos]) >>> (24 - 16))
2274
+ | ((input[18 + inpos]) << 16);
2275
+ output[14 + outpos] = ((input[18 + inpos]) >>> (24 - 8))
2276
+ | ((input[19 + inpos]) << 8);
2277
+ output[15 + outpos] = input[20 + inpos] | ((input[21 + inpos]) << 24);
2278
+ output[16 + outpos] = ((input[21 + inpos]) >>> (24 - 16))
2279
+ | ((input[22 + inpos]) << 16);
2280
+ output[17 + outpos] = ((input[22 + inpos]) >>> (24 - 8))
2281
+ | ((input[23 + inpos]) << 8);
2282
+ output[18 + outpos] = input[24 + inpos] | ((input[25 + inpos]) << 24);
2283
+ output[19 + outpos] = ((input[25 + inpos]) >>> (24 - 16))
2284
+ | ((input[26 + inpos]) << 16);
2285
+ output[20 + outpos] = ((input[26 + inpos]) >>> (24 - 8))
2286
+ | ((input[27 + inpos]) << 8);
2287
+ output[21 + outpos] = input[28 + inpos] | ((input[29 + inpos]) << 24);
2288
+ output[22 + outpos] = ((input[29 + inpos]) >>> (24 - 16))
2289
+ | ((input[30 + inpos]) << 16);
2290
+ output[23 + outpos] = ((input[30 + inpos]) >>> (24 - 8))
2291
+ | ((input[31 + inpos]) << 8);
2292
+ }
2293
+ function fastpackwithoutmask25(input, inpos, output, outpos) {
2294
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 25);
2295
+ output[1 + outpos] = ((input[1 + inpos]) >>> (25 - 18))
2296
+ | ((input[2 + inpos]) << 18);
2297
+ output[2 + outpos] = ((input[2 + inpos]) >>> (25 - 11))
2298
+ | ((input[3 + inpos]) << 11);
2299
+ output[3 + outpos] = ((input[3 + inpos]) >>> (25 - 4))
2300
+ | ((input[4 + inpos]) << 4) | ((input[5 + inpos]) << 29);
2301
+ output[4 + outpos] = ((input[5 + inpos]) >>> (25 - 22))
2302
+ | ((input[6 + inpos]) << 22);
2303
+ output[5 + outpos] = ((input[6 + inpos]) >>> (25 - 15))
2304
+ | ((input[7 + inpos]) << 15);
2305
+ output[6 + outpos] = ((input[7 + inpos]) >>> (25 - 8))
2306
+ | ((input[8 + inpos]) << 8);
2307
+ output[7 + outpos] = ((input[8 + inpos]) >>> (25 - 1))
2308
+ | ((input[9 + inpos]) << 1) | ((input[10 + inpos]) << 26);
2309
+ output[8 + outpos] = ((input[10 + inpos]) >>> (25 - 19))
2310
+ | ((input[11 + inpos]) << 19);
2311
+ output[9 + outpos] = ((input[11 + inpos]) >>> (25 - 12))
2312
+ | ((input[12 + inpos]) << 12);
2313
+ output[10 + outpos] = ((input[12 + inpos]) >>> (25 - 5))
2314
+ | ((input[13 + inpos]) << 5) | ((input[14 + inpos]) << 30);
2315
+ output[11 + outpos] = ((input[14 + inpos]) >>> (25 - 23))
2316
+ | ((input[15 + inpos]) << 23);
2317
+ output[12 + outpos] = ((input[15 + inpos]) >>> (25 - 16))
2318
+ | ((input[16 + inpos]) << 16);
2319
+ output[13 + outpos] = ((input[16 + inpos]) >>> (25 - 9))
2320
+ | ((input[17 + inpos]) << 9);
2321
+ output[14 + outpos] = ((input[17 + inpos]) >>> (25 - 2))
2322
+ | ((input[18 + inpos]) << 2) | ((input[19 + inpos]) << 27);
2323
+ output[15 + outpos] = ((input[19 + inpos]) >>> (25 - 20))
2324
+ | ((input[20 + inpos]) << 20);
2325
+ output[16 + outpos] = ((input[20 + inpos]) >>> (25 - 13))
2326
+ | ((input[21 + inpos]) << 13);
2327
+ output[17 + outpos] = ((input[21 + inpos]) >>> (25 - 6))
2328
+ | ((input[22 + inpos]) << 6) | ((input[23 + inpos]) << 31);
2329
+ output[18 + outpos] = ((input[23 + inpos]) >>> (25 - 24))
2330
+ | ((input[24 + inpos]) << 24);
2331
+ output[19 + outpos] = ((input[24 + inpos]) >>> (25 - 17))
2332
+ | ((input[25 + inpos]) << 17);
2333
+ output[20 + outpos] = ((input[25 + inpos]) >>> (25 - 10))
2334
+ | ((input[26 + inpos]) << 10);
2335
+ output[21 + outpos] = ((input[26 + inpos]) >>> (25 - 3))
2336
+ | ((input[27 + inpos]) << 3) | ((input[28 + inpos]) << 28);
2337
+ output[22 + outpos] = ((input[28 + inpos]) >>> (25 - 21))
2338
+ | ((input[29 + inpos]) << 21);
2339
+ output[23 + outpos] = ((input[29 + inpos]) >>> (25 - 14))
2340
+ | ((input[30 + inpos]) << 14);
2341
+ output[24 + outpos] = ((input[30 + inpos]) >>> (25 - 7))
2342
+ | ((input[31 + inpos]) << 7);
2343
+ }
2344
+ function fastpackwithoutmask26(input, inpos, output, outpos) {
2345
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 26);
2346
+ output[1 + outpos] = ((input[1 + inpos]) >>> (26 - 20))
2347
+ | ((input[2 + inpos]) << 20);
2348
+ output[2 + outpos] = ((input[2 + inpos]) >>> (26 - 14))
2349
+ | ((input[3 + inpos]) << 14);
2350
+ output[3 + outpos] = ((input[3 + inpos]) >>> (26 - 8))
2351
+ | ((input[4 + inpos]) << 8);
2352
+ output[4 + outpos] = ((input[4 + inpos]) >>> (26 - 2))
2353
+ | ((input[5 + inpos]) << 2) | ((input[6 + inpos]) << 28);
2354
+ output[5 + outpos] = ((input[6 + inpos]) >>> (26 - 22))
2355
+ | ((input[7 + inpos]) << 22);
2356
+ output[6 + outpos] = ((input[7 + inpos]) >>> (26 - 16))
2357
+ | ((input[8 + inpos]) << 16);
2358
+ output[7 + outpos] = ((input[8 + inpos]) >>> (26 - 10))
2359
+ | ((input[9 + inpos]) << 10);
2360
+ output[8 + outpos] = ((input[9 + inpos]) >>> (26 - 4))
2361
+ | ((input[10 + inpos]) << 4) | ((input[11 + inpos]) << 30);
2362
+ output[9 + outpos] = ((input[11 + inpos]) >>> (26 - 24))
2363
+ | ((input[12 + inpos]) << 24);
2364
+ output[10 + outpos] = ((input[12 + inpos]) >>> (26 - 18))
2365
+ | ((input[13 + inpos]) << 18);
2366
+ output[11 + outpos] = ((input[13 + inpos]) >>> (26 - 12))
2367
+ | ((input[14 + inpos]) << 12);
2368
+ output[12 + outpos] = ((input[14 + inpos]) >>> (26 - 6))
2369
+ | ((input[15 + inpos]) << 6);
2370
+ output[13 + outpos] = input[16 + inpos] | ((input[17 + inpos]) << 26);
2371
+ output[14 + outpos] = ((input[17 + inpos]) >>> (26 - 20))
2372
+ | ((input[18 + inpos]) << 20);
2373
+ output[15 + outpos] = ((input[18 + inpos]) >>> (26 - 14))
2374
+ | ((input[19 + inpos]) << 14);
2375
+ output[16 + outpos] = ((input[19 + inpos]) >>> (26 - 8))
2376
+ | ((input[20 + inpos]) << 8);
2377
+ output[17 + outpos] = ((input[20 + inpos]) >>> (26 - 2))
2378
+ | ((input[21 + inpos]) << 2) | ((input[22 + inpos]) << 28);
2379
+ output[18 + outpos] = ((input[22 + inpos]) >>> (26 - 22))
2380
+ | ((input[23 + inpos]) << 22);
2381
+ output[19 + outpos] = ((input[23 + inpos]) >>> (26 - 16))
2382
+ | ((input[24 + inpos]) << 16);
2383
+ output[20 + outpos] = ((input[24 + inpos]) >>> (26 - 10))
2384
+ | ((input[25 + inpos]) << 10);
2385
+ output[21 + outpos] = ((input[25 + inpos]) >>> (26 - 4))
2386
+ | ((input[26 + inpos]) << 4) | ((input[27 + inpos]) << 30);
2387
+ output[22 + outpos] = ((input[27 + inpos]) >>> (26 - 24))
2388
+ | ((input[28 + inpos]) << 24);
2389
+ output[23 + outpos] = ((input[28 + inpos]) >>> (26 - 18))
2390
+ | ((input[29 + inpos]) << 18);
2391
+ output[24 + outpos] = ((input[29 + inpos]) >>> (26 - 12))
2392
+ | ((input[30 + inpos]) << 12);
2393
+ output[25 + outpos] = ((input[30 + inpos]) >>> (26 - 6))
2394
+ | ((input[31 + inpos]) << 6);
2395
+ }
2396
+ function fastpackwithoutmask27(input, inpos, output, outpos) {
2397
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 27);
2398
+ output[1 + outpos] = ((input[1 + inpos]) >>> (27 - 22))
2399
+ | ((input[2 + inpos]) << 22);
2400
+ output[2 + outpos] = ((input[2 + inpos]) >>> (27 - 17))
2401
+ | ((input[3 + inpos]) << 17);
2402
+ output[3 + outpos] = ((input[3 + inpos]) >>> (27 - 12))
2403
+ | ((input[4 + inpos]) << 12);
2404
+ output[4 + outpos] = ((input[4 + inpos]) >>> (27 - 7))
2405
+ | ((input[5 + inpos]) << 7);
2406
+ output[5 + outpos] = ((input[5 + inpos]) >>> (27 - 2))
2407
+ | ((input[6 + inpos]) << 2) | ((input[7 + inpos]) << 29);
2408
+ output[6 + outpos] = ((input[7 + inpos]) >>> (27 - 24))
2409
+ | ((input[8 + inpos]) << 24);
2410
+ output[7 + outpos] = ((input[8 + inpos]) >>> (27 - 19))
2411
+ | ((input[9 + inpos]) << 19);
2412
+ output[8 + outpos] = ((input[9 + inpos]) >>> (27 - 14))
2413
+ | ((input[10 + inpos]) << 14);
2414
+ output[9 + outpos] = ((input[10 + inpos]) >>> (27 - 9))
2415
+ | ((input[11 + inpos]) << 9);
2416
+ output[10 + outpos] = ((input[11 + inpos]) >>> (27 - 4))
2417
+ | ((input[12 + inpos]) << 4) | ((input[13 + inpos]) << 31);
2418
+ output[11 + outpos] = ((input[13 + inpos]) >>> (27 - 26))
2419
+ | ((input[14 + inpos]) << 26);
2420
+ output[12 + outpos] = ((input[14 + inpos]) >>> (27 - 21))
2421
+ | ((input[15 + inpos]) << 21);
2422
+ output[13 + outpos] = ((input[15 + inpos]) >>> (27 - 16))
2423
+ | ((input[16 + inpos]) << 16);
2424
+ output[14 + outpos] = ((input[16 + inpos]) >>> (27 - 11))
2425
+ | ((input[17 + inpos]) << 11);
2426
+ output[15 + outpos] = ((input[17 + inpos]) >>> (27 - 6))
2427
+ | ((input[18 + inpos]) << 6);
2428
+ output[16 + outpos] = ((input[18 + inpos]) >>> (27 - 1))
2429
+ | ((input[19 + inpos]) << 1) | ((input[20 + inpos]) << 28);
2430
+ output[17 + outpos] = ((input[20 + inpos]) >>> (27 - 23))
2431
+ | ((input[21 + inpos]) << 23);
2432
+ output[18 + outpos] = ((input[21 + inpos]) >>> (27 - 18))
2433
+ | ((input[22 + inpos]) << 18);
2434
+ output[19 + outpos] = ((input[22 + inpos]) >>> (27 - 13))
2435
+ | ((input[23 + inpos]) << 13);
2436
+ output[20 + outpos] = ((input[23 + inpos]) >>> (27 - 8))
2437
+ | ((input[24 + inpos]) << 8);
2438
+ output[21 + outpos] = ((input[24 + inpos]) >>> (27 - 3))
2439
+ | ((input[25 + inpos]) << 3) | ((input[26 + inpos]) << 30);
2440
+ output[22 + outpos] = ((input[26 + inpos]) >>> (27 - 25))
2441
+ | ((input[27 + inpos]) << 25);
2442
+ output[23 + outpos] = ((input[27 + inpos]) >>> (27 - 20))
2443
+ | ((input[28 + inpos]) << 20);
2444
+ output[24 + outpos] = ((input[28 + inpos]) >>> (27 - 15))
2445
+ | ((input[29 + inpos]) << 15);
2446
+ output[25 + outpos] = ((input[29 + inpos]) >>> (27 - 10))
2447
+ | ((input[30 + inpos]) << 10);
2448
+ output[26 + outpos] = ((input[30 + inpos]) >>> (27 - 5))
2449
+ | ((input[31 + inpos]) << 5);
2450
+ }
2451
+ function fastpackwithoutmask28(input, inpos, output, outpos) {
2452
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 28);
2453
+ output[1 + outpos] = ((input[1 + inpos]) >>> (28 - 24))
2454
+ | ((input[2 + inpos]) << 24);
2455
+ output[2 + outpos] = ((input[2 + inpos]) >>> (28 - 20))
2456
+ | ((input[3 + inpos]) << 20);
2457
+ output[3 + outpos] = ((input[3 + inpos]) >>> (28 - 16))
2458
+ | ((input[4 + inpos]) << 16);
2459
+ output[4 + outpos] = ((input[4 + inpos]) >>> (28 - 12))
2460
+ | ((input[5 + inpos]) << 12);
2461
+ output[5 + outpos] = ((input[5 + inpos]) >>> (28 - 8))
2462
+ | ((input[6 + inpos]) << 8);
2463
+ output[6 + outpos] = ((input[6 + inpos]) >>> (28 - 4))
2464
+ | ((input[7 + inpos]) << 4);
2465
+ output[7 + outpos] = input[8 + inpos] | ((input[9 + inpos]) << 28);
2466
+ output[8 + outpos] = ((input[9 + inpos]) >>> (28 - 24))
2467
+ | ((input[10 + inpos]) << 24);
2468
+ output[9 + outpos] = ((input[10 + inpos]) >>> (28 - 20))
2469
+ | ((input[11 + inpos]) << 20);
2470
+ output[10 + outpos] = ((input[11 + inpos]) >>> (28 - 16))
2471
+ | ((input[12 + inpos]) << 16);
2472
+ output[11 + outpos] = ((input[12 + inpos]) >>> (28 - 12))
2473
+ | ((input[13 + inpos]) << 12);
2474
+ output[12 + outpos] = ((input[13 + inpos]) >>> (28 - 8))
2475
+ | ((input[14 + inpos]) << 8);
2476
+ output[13 + outpos] = ((input[14 + inpos]) >>> (28 - 4))
2477
+ | ((input[15 + inpos]) << 4);
2478
+ output[14 + outpos] = input[16 + inpos] | ((input[17 + inpos]) << 28);
2479
+ output[15 + outpos] = ((input[17 + inpos]) >>> (28 - 24))
2480
+ | ((input[18 + inpos]) << 24);
2481
+ output[16 + outpos] = ((input[18 + inpos]) >>> (28 - 20))
2482
+ | ((input[19 + inpos]) << 20);
2483
+ output[17 + outpos] = ((input[19 + inpos]) >>> (28 - 16))
2484
+ | ((input[20 + inpos]) << 16);
2485
+ output[18 + outpos] = ((input[20 + inpos]) >>> (28 - 12))
2486
+ | ((input[21 + inpos]) << 12);
2487
+ output[19 + outpos] = ((input[21 + inpos]) >>> (28 - 8))
2488
+ | ((input[22 + inpos]) << 8);
2489
+ output[20 + outpos] = ((input[22 + inpos]) >>> (28 - 4))
2490
+ | ((input[23 + inpos]) << 4);
2491
+ output[21 + outpos] = input[24 + inpos] | ((input[25 + inpos]) << 28);
2492
+ output[22 + outpos] = ((input[25 + inpos]) >>> (28 - 24))
2493
+ | ((input[26 + inpos]) << 24);
2494
+ output[23 + outpos] = ((input[26 + inpos]) >>> (28 - 20))
2495
+ | ((input[27 + inpos]) << 20);
2496
+ output[24 + outpos] = ((input[27 + inpos]) >>> (28 - 16))
2497
+ | ((input[28 + inpos]) << 16);
2498
+ output[25 + outpos] = ((input[28 + inpos]) >>> (28 - 12))
2499
+ | ((input[29 + inpos]) << 12);
2500
+ output[26 + outpos] = ((input[29 + inpos]) >>> (28 - 8))
2501
+ | ((input[30 + inpos]) << 8);
2502
+ output[27 + outpos] = ((input[30 + inpos]) >>> (28 - 4))
2503
+ | ((input[31 + inpos]) << 4);
2504
+ }
2505
+ function fastpackwithoutmask29(input, inpos, output, outpos) {
2506
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 29);
2507
+ output[1 + outpos] = ((input[1 + inpos]) >>> (29 - 26))
2508
+ | ((input[2 + inpos]) << 26);
2509
+ output[2 + outpos] = ((input[2 + inpos]) >>> (29 - 23))
2510
+ | ((input[3 + inpos]) << 23);
2511
+ output[3 + outpos] = ((input[3 + inpos]) >>> (29 - 20))
2512
+ | ((input[4 + inpos]) << 20);
2513
+ output[4 + outpos] = ((input[4 + inpos]) >>> (29 - 17))
2514
+ | ((input[5 + inpos]) << 17);
2515
+ output[5 + outpos] = ((input[5 + inpos]) >>> (29 - 14))
2516
+ | ((input[6 + inpos]) << 14);
2517
+ output[6 + outpos] = ((input[6 + inpos]) >>> (29 - 11))
2518
+ | ((input[7 + inpos]) << 11);
2519
+ output[7 + outpos] = ((input[7 + inpos]) >>> (29 - 8))
2520
+ | ((input[8 + inpos]) << 8);
2521
+ output[8 + outpos] = ((input[8 + inpos]) >>> (29 - 5))
2522
+ | ((input[9 + inpos]) << 5);
2523
+ output[9 + outpos] = ((input[9 + inpos]) >>> (29 - 2))
2524
+ | ((input[10 + inpos]) << 2) | ((input[11 + inpos]) << 31);
2525
+ output[10 + outpos] = ((input[11 + inpos]) >>> (29 - 28))
2526
+ | ((input[12 + inpos]) << 28);
2527
+ output[11 + outpos] = ((input[12 + inpos]) >>> (29 - 25))
2528
+ | ((input[13 + inpos]) << 25);
2529
+ output[12 + outpos] = ((input[13 + inpos]) >>> (29 - 22))
2530
+ | ((input[14 + inpos]) << 22);
2531
+ output[13 + outpos] = ((input[14 + inpos]) >>> (29 - 19))
2532
+ | ((input[15 + inpos]) << 19);
2533
+ output[14 + outpos] = ((input[15 + inpos]) >>> (29 - 16))
2534
+ | ((input[16 + inpos]) << 16);
2535
+ output[15 + outpos] = ((input[16 + inpos]) >>> (29 - 13))
2536
+ | ((input[17 + inpos]) << 13);
2537
+ output[16 + outpos] = ((input[17 + inpos]) >>> (29 - 10))
2538
+ | ((input[18 + inpos]) << 10);
2539
+ output[17 + outpos] = ((input[18 + inpos]) >>> (29 - 7))
2540
+ | ((input[19 + inpos]) << 7);
2541
+ output[18 + outpos] = ((input[19 + inpos]) >>> (29 - 4))
2542
+ | ((input[20 + inpos]) << 4);
2543
+ output[19 + outpos] = ((input[20 + inpos]) >>> (29 - 1))
2544
+ | ((input[21 + inpos]) << 1) | ((input[22 + inpos]) << 30);
2545
+ output[20 + outpos] = ((input[22 + inpos]) >>> (29 - 27))
2546
+ | ((input[23 + inpos]) << 27);
2547
+ output[21 + outpos] = ((input[23 + inpos]) >>> (29 - 24))
2548
+ | ((input[24 + inpos]) << 24);
2549
+ output[22 + outpos] = ((input[24 + inpos]) >>> (29 - 21))
2550
+ | ((input[25 + inpos]) << 21);
2551
+ output[23 + outpos] = ((input[25 + inpos]) >>> (29 - 18))
2552
+ | ((input[26 + inpos]) << 18);
2553
+ output[24 + outpos] = ((input[26 + inpos]) >>> (29 - 15))
2554
+ | ((input[27 + inpos]) << 15);
2555
+ output[25 + outpos] = ((input[27 + inpos]) >>> (29 - 12))
2556
+ | ((input[28 + inpos]) << 12);
2557
+ output[26 + outpos] = ((input[28 + inpos]) >>> (29 - 9))
2558
+ | ((input[29 + inpos]) << 9);
2559
+ output[27 + outpos] = ((input[29 + inpos]) >>> (29 - 6))
2560
+ | ((input[30 + inpos]) << 6);
2561
+ output[28 + outpos] = ((input[30 + inpos]) >>> (29 - 3))
2562
+ | ((input[31 + inpos]) << 3);
2563
+ }
2564
+ function fastpackwithoutmask3(input, inpos, output, outpos) {
2565
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 3)
2566
+ | ((input[2 + inpos]) << 6) | ((input[3 + inpos]) << 9)
2567
+ | ((input[4 + inpos]) << 12) | ((input[5 + inpos]) << 15)
2568
+ | ((input[6 + inpos]) << 18) | ((input[7 + inpos]) << 21)
2569
+ | ((input[8 + inpos]) << 24) | ((input[9 + inpos]) << 27)
2570
+ | ((input[10 + inpos]) << 30);
2571
+ output[1 + outpos] = ((input[10 + inpos]) >>> (3 - 1))
2572
+ | ((input[11 + inpos]) << 1) | ((input[12 + inpos]) << 4)
2573
+ | ((input[13 + inpos]) << 7) | ((input[14 + inpos]) << 10)
2574
+ | ((input[15 + inpos]) << 13) | ((input[16 + inpos]) << 16)
2575
+ | ((input[17 + inpos]) << 19) | ((input[18 + inpos]) << 22)
2576
+ | ((input[19 + inpos]) << 25) | ((input[20 + inpos]) << 28)
2577
+ | ((input[21 + inpos]) << 31);
2578
+ output[2 + outpos] = ((input[21 + inpos]) >>> (3 - 2))
2579
+ | ((input[22 + inpos]) << 2) | ((input[23 + inpos]) << 5)
2580
+ | ((input[24 + inpos]) << 8) | ((input[25 + inpos]) << 11)
2581
+ | ((input[26 + inpos]) << 14) | ((input[27 + inpos]) << 17)
2582
+ | ((input[28 + inpos]) << 20) | ((input[29 + inpos]) << 23)
2583
+ | ((input[30 + inpos]) << 26) | ((input[31 + inpos]) << 29);
2584
+ }
2585
+ function fastpackwithoutmask30(input, inpos, output, outpos) {
2586
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 30);
2587
+ output[1 + outpos] = ((input[1 + inpos]) >>> (30 - 28))
2588
+ | ((input[2 + inpos]) << 28);
2589
+ output[2 + outpos] = ((input[2 + inpos]) >>> (30 - 26))
2590
+ | ((input[3 + inpos]) << 26);
2591
+ output[3 + outpos] = ((input[3 + inpos]) >>> (30 - 24))
2592
+ | ((input[4 + inpos]) << 24);
2593
+ output[4 + outpos] = ((input[4 + inpos]) >>> (30 - 22))
2594
+ | ((input[5 + inpos]) << 22);
2595
+ output[5 + outpos] = ((input[5 + inpos]) >>> (30 - 20))
2596
+ | ((input[6 + inpos]) << 20);
2597
+ output[6 + outpos] = ((input[6 + inpos]) >>> (30 - 18))
2598
+ | ((input[7 + inpos]) << 18);
2599
+ output[7 + outpos] = ((input[7 + inpos]) >>> (30 - 16))
2600
+ | ((input[8 + inpos]) << 16);
2601
+ output[8 + outpos] = ((input[8 + inpos]) >>> (30 - 14))
2602
+ | ((input[9 + inpos]) << 14);
2603
+ output[9 + outpos] = ((input[9 + inpos]) >>> (30 - 12))
2604
+ | ((input[10 + inpos]) << 12);
2605
+ output[10 + outpos] = ((input[10 + inpos]) >>> (30 - 10))
2606
+ | ((input[11 + inpos]) << 10);
2607
+ output[11 + outpos] = ((input[11 + inpos]) >>> (30 - 8))
2608
+ | ((input[12 + inpos]) << 8);
2609
+ output[12 + outpos] = ((input[12 + inpos]) >>> (30 - 6))
2610
+ | ((input[13 + inpos]) << 6);
2611
+ output[13 + outpos] = ((input[13 + inpos]) >>> (30 - 4))
2612
+ | ((input[14 + inpos]) << 4);
2613
+ output[14 + outpos] = ((input[14 + inpos]) >>> (30 - 2))
2614
+ | ((input[15 + inpos]) << 2);
2615
+ output[15 + outpos] = input[16 + inpos] | ((input[17 + inpos]) << 30);
2616
+ output[16 + outpos] = ((input[17 + inpos]) >>> (30 - 28))
2617
+ | ((input[18 + inpos]) << 28);
2618
+ output[17 + outpos] = ((input[18 + inpos]) >>> (30 - 26))
2619
+ | ((input[19 + inpos]) << 26);
2620
+ output[18 + outpos] = ((input[19 + inpos]) >>> (30 - 24))
2621
+ | ((input[20 + inpos]) << 24);
2622
+ output[19 + outpos] = ((input[20 + inpos]) >>> (30 - 22))
2623
+ | ((input[21 + inpos]) << 22);
2624
+ output[20 + outpos] = ((input[21 + inpos]) >>> (30 - 20))
2625
+ | ((input[22 + inpos]) << 20);
2626
+ output[21 + outpos] = ((input[22 + inpos]) >>> (30 - 18))
2627
+ | ((input[23 + inpos]) << 18);
2628
+ output[22 + outpos] = ((input[23 + inpos]) >>> (30 - 16))
2629
+ | ((input[24 + inpos]) << 16);
2630
+ output[23 + outpos] = ((input[24 + inpos]) >>> (30 - 14))
2631
+ | ((input[25 + inpos]) << 14);
2632
+ output[24 + outpos] = ((input[25 + inpos]) >>> (30 - 12))
2633
+ | ((input[26 + inpos]) << 12);
2634
+ output[25 + outpos] = ((input[26 + inpos]) >>> (30 - 10))
2635
+ | ((input[27 + inpos]) << 10);
2636
+ output[26 + outpos] = ((input[27 + inpos]) >>> (30 - 8))
2637
+ | ((input[28 + inpos]) << 8);
2638
+ output[27 + outpos] = ((input[28 + inpos]) >>> (30 - 6))
2639
+ | ((input[29 + inpos]) << 6);
2640
+ output[28 + outpos] = ((input[29 + inpos]) >>> (30 - 4))
2641
+ | ((input[30 + inpos]) << 4);
2642
+ output[29 + outpos] = ((input[30 + inpos]) >>> (30 - 2))
2643
+ | ((input[31 + inpos]) << 2);
2644
+ }
2645
+ function fastpackwithoutmask31(input, inpos, output, outpos) {
2646
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 31);
2647
+ output[1 + outpos] = ((input[1 + inpos]) >>> (31 - 30))
2648
+ | ((input[2 + inpos]) << 30);
2649
+ output[2 + outpos] = ((input[2 + inpos]) >>> (31 - 29))
2650
+ | ((input[3 + inpos]) << 29);
2651
+ output[3 + outpos] = ((input[3 + inpos]) >>> (31 - 28))
2652
+ | ((input[4 + inpos]) << 28);
2653
+ output[4 + outpos] = ((input[4 + inpos]) >>> (31 - 27))
2654
+ | ((input[5 + inpos]) << 27);
2655
+ output[5 + outpos] = ((input[5 + inpos]) >>> (31 - 26))
2656
+ | ((input[6 + inpos]) << 26);
2657
+ output[6 + outpos] = ((input[6 + inpos]) >>> (31 - 25))
2658
+ | ((input[7 + inpos]) << 25);
2659
+ output[7 + outpos] = ((input[7 + inpos]) >>> (31 - 24))
2660
+ | ((input[8 + inpos]) << 24);
2661
+ output[8 + outpos] = ((input[8 + inpos]) >>> (31 - 23))
2662
+ | ((input[9 + inpos]) << 23);
2663
+ output[9 + outpos] = ((input[9 + inpos]) >>> (31 - 22))
2664
+ | ((input[10 + inpos]) << 22);
2665
+ output[10 + outpos] = ((input[10 + inpos]) >>> (31 - 21))
2666
+ | ((input[11 + inpos]) << 21);
2667
+ output[11 + outpos] = ((input[11 + inpos]) >>> (31 - 20))
2668
+ | ((input[12 + inpos]) << 20);
2669
+ output[12 + outpos] = ((input[12 + inpos]) >>> (31 - 19))
2670
+ | ((input[13 + inpos]) << 19);
2671
+ output[13 + outpos] = ((input[13 + inpos]) >>> (31 - 18))
2672
+ | ((input[14 + inpos]) << 18);
2673
+ output[14 + outpos] = ((input[14 + inpos]) >>> (31 - 17))
2674
+ | ((input[15 + inpos]) << 17);
2675
+ output[15 + outpos] = ((input[15 + inpos]) >>> (31 - 16))
2676
+ | ((input[16 + inpos]) << 16);
2677
+ output[16 + outpos] = ((input[16 + inpos]) >>> (31 - 15))
2678
+ | ((input[17 + inpos]) << 15);
2679
+ output[17 + outpos] = ((input[17 + inpos]) >>> (31 - 14))
2680
+ | ((input[18 + inpos]) << 14);
2681
+ output[18 + outpos] = ((input[18 + inpos]) >>> (31 - 13))
2682
+ | ((input[19 + inpos]) << 13);
2683
+ output[19 + outpos] = ((input[19 + inpos]) >>> (31 - 12))
2684
+ | ((input[20 + inpos]) << 12);
2685
+ output[20 + outpos] = ((input[20 + inpos]) >>> (31 - 11))
2686
+ | ((input[21 + inpos]) << 11);
2687
+ output[21 + outpos] = ((input[21 + inpos]) >>> (31 - 10))
2688
+ | ((input[22 + inpos]) << 10);
2689
+ output[22 + outpos] = ((input[22 + inpos]) >>> (31 - 9))
2690
+ | ((input[23 + inpos]) << 9);
2691
+ output[23 + outpos] = ((input[23 + inpos]) >>> (31 - 8))
2692
+ | ((input[24 + inpos]) << 8);
2693
+ output[24 + outpos] = ((input[24 + inpos]) >>> (31 - 7))
2694
+ | ((input[25 + inpos]) << 7);
2695
+ output[25 + outpos] = ((input[25 + inpos]) >>> (31 - 6))
2696
+ | ((input[26 + inpos]) << 6);
2697
+ output[26 + outpos] = ((input[26 + inpos]) >>> (31 - 5))
2698
+ | ((input[27 + inpos]) << 5);
2699
+ output[27 + outpos] = ((input[27 + inpos]) >>> (31 - 4))
2700
+ | ((input[28 + inpos]) << 4);
2701
+ output[28 + outpos] = ((input[28 + inpos]) >>> (31 - 3))
2702
+ | ((input[29 + inpos]) << 3);
2703
+ output[29 + outpos] = ((input[29 + inpos]) >>> (31 - 2))
2704
+ | ((input[30 + inpos]) << 2);
2705
+ output[30 + outpos] = ((input[30 + inpos]) >>> (31 - 1))
2706
+ | ((input[31 + inpos]) << 1);
2707
+ }
2708
+ function fastpackwithoutmask32(input, inpos, output, outpos) {
2709
+ (0, util_1.arraycopy)(input, inpos, output, outpos, 32);
2710
+ }
2711
+ function fastpackwithoutmask4(input, inpos, output, outpos) {
2712
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 4)
2713
+ | ((input[2 + inpos]) << 8) | ((input[3 + inpos]) << 12)
2714
+ | ((input[4 + inpos]) << 16) | ((input[5 + inpos]) << 20)
2715
+ | ((input[6 + inpos]) << 24) | ((input[7 + inpos]) << 28);
2716
+ output[1 + outpos] = input[8 + inpos] | ((input[9 + inpos]) << 4)
2717
+ | ((input[10 + inpos]) << 8) | ((input[11 + inpos]) << 12)
2718
+ | ((input[12 + inpos]) << 16) | ((input[13 + inpos]) << 20)
2719
+ | ((input[14 + inpos]) << 24) | ((input[15 + inpos]) << 28);
2720
+ output[2 + outpos] = input[16 + inpos] | ((input[17 + inpos]) << 4)
2721
+ | ((input[18 + inpos]) << 8) | ((input[19 + inpos]) << 12)
2722
+ | ((input[20 + inpos]) << 16) | ((input[21 + inpos]) << 20)
2723
+ | ((input[22 + inpos]) << 24) | ((input[23 + inpos]) << 28);
2724
+ output[3 + outpos] = input[24 + inpos] | ((input[25 + inpos]) << 4)
2725
+ | ((input[26 + inpos]) << 8) | ((input[27 + inpos]) << 12)
2726
+ | ((input[28 + inpos]) << 16) | ((input[29 + inpos]) << 20)
2727
+ | ((input[30 + inpos]) << 24) | ((input[31 + inpos]) << 28);
2728
+ }
2729
+ function fastpackwithoutmask5(input, inpos, output, outpos) {
2730
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 5)
2731
+ | ((input[2 + inpos]) << 10) | ((input[3 + inpos]) << 15)
2732
+ | ((input[4 + inpos]) << 20) | ((input[5 + inpos]) << 25)
2733
+ | ((input[6 + inpos]) << 30);
2734
+ output[1 + outpos] = ((input[6 + inpos]) >>> (5 - 3))
2735
+ | ((input[7 + inpos]) << 3) | ((input[8 + inpos]) << 8)
2736
+ | ((input[9 + inpos]) << 13) | ((input[10 + inpos]) << 18)
2737
+ | ((input[11 + inpos]) << 23) | ((input[12 + inpos]) << 28);
2738
+ output[2 + outpos] = ((input[12 + inpos]) >>> (5 - 1))
2739
+ | ((input[13 + inpos]) << 1) | ((input[14 + inpos]) << 6)
2740
+ | ((input[15 + inpos]) << 11) | ((input[16 + inpos]) << 16)
2741
+ | ((input[17 + inpos]) << 21) | ((input[18 + inpos]) << 26)
2742
+ | ((input[19 + inpos]) << 31);
2743
+ output[3 + outpos] = ((input[19 + inpos]) >>> (5 - 4))
2744
+ | ((input[20 + inpos]) << 4) | ((input[21 + inpos]) << 9)
2745
+ | ((input[22 + inpos]) << 14) | ((input[23 + inpos]) << 19)
2746
+ | ((input[24 + inpos]) << 24) | ((input[25 + inpos]) << 29);
2747
+ output[4 + outpos] = ((input[25 + inpos]) >>> (5 - 2))
2748
+ | ((input[26 + inpos]) << 2) | ((input[27 + inpos]) << 7)
2749
+ | ((input[28 + inpos]) << 12) | ((input[29 + inpos]) << 17)
2750
+ | ((input[30 + inpos]) << 22) | ((input[31 + inpos]) << 27);
2751
+ }
2752
+ function fastpackwithoutmask6(input, inpos, output, outpos) {
2753
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 6)
2754
+ | ((input[2 + inpos]) << 12) | ((input[3 + inpos]) << 18)
2755
+ | ((input[4 + inpos]) << 24) | ((input[5 + inpos]) << 30);
2756
+ output[1 + outpos] = ((input[5 + inpos]) >>> (6 - 4))
2757
+ | ((input[6 + inpos]) << 4) | ((input[7 + inpos]) << 10)
2758
+ | ((input[8 + inpos]) << 16) | ((input[9 + inpos]) << 22)
2759
+ | ((input[10 + inpos]) << 28);
2760
+ output[2 + outpos] = ((input[10 + inpos]) >>> (6 - 2))
2761
+ | ((input[11 + inpos]) << 2) | ((input[12 + inpos]) << 8)
2762
+ | ((input[13 + inpos]) << 14) | ((input[14 + inpos]) << 20)
2763
+ | ((input[15 + inpos]) << 26);
2764
+ output[3 + outpos] = input[16 + inpos] | ((input[17 + inpos]) << 6)
2765
+ | ((input[18 + inpos]) << 12) | ((input[19 + inpos]) << 18)
2766
+ | ((input[20 + inpos]) << 24) | ((input[21 + inpos]) << 30);
2767
+ output[4 + outpos] = ((input[21 + inpos]) >>> (6 - 4))
2768
+ | ((input[22 + inpos]) << 4) | ((input[23 + inpos]) << 10)
2769
+ | ((input[24 + inpos]) << 16) | ((input[25 + inpos]) << 22)
2770
+ | ((input[26 + inpos]) << 28);
2771
+ output[5 + outpos] = ((input[26 + inpos]) >>> (6 - 2))
2772
+ | ((input[27 + inpos]) << 2) | ((input[28 + inpos]) << 8)
2773
+ | ((input[29 + inpos]) << 14) | ((input[30 + inpos]) << 20)
2774
+ | ((input[31 + inpos]) << 26);
2775
+ }
2776
+ function fastpackwithoutmask7(input, inpos, output, outpos) {
2777
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 7)
2778
+ | ((input[2 + inpos]) << 14) | ((input[3 + inpos]) << 21)
2779
+ | ((input[4 + inpos]) << 28);
2780
+ output[1 + outpos] = ((input[4 + inpos]) >>> (7 - 3))
2781
+ | ((input[5 + inpos]) << 3) | ((input[6 + inpos]) << 10)
2782
+ | ((input[7 + inpos]) << 17) | ((input[8 + inpos]) << 24)
2783
+ | ((input[9 + inpos]) << 31);
2784
+ output[2 + outpos] = ((input[9 + inpos]) >>> (7 - 6))
2785
+ | ((input[10 + inpos]) << 6) | ((input[11 + inpos]) << 13)
2786
+ | ((input[12 + inpos]) << 20) | ((input[13 + inpos]) << 27);
2787
+ output[3 + outpos] = ((input[13 + inpos]) >>> (7 - 2))
2788
+ | ((input[14 + inpos]) << 2) | ((input[15 + inpos]) << 9)
2789
+ | ((input[16 + inpos]) << 16) | ((input[17 + inpos]) << 23)
2790
+ | ((input[18 + inpos]) << 30);
2791
+ output[4 + outpos] = ((input[18 + inpos]) >>> (7 - 5))
2792
+ | ((input[19 + inpos]) << 5) | ((input[20 + inpos]) << 12)
2793
+ | ((input[21 + inpos]) << 19) | ((input[22 + inpos]) << 26);
2794
+ output[5 + outpos] = ((input[22 + inpos]) >>> (7 - 1))
2795
+ | ((input[23 + inpos]) << 1) | ((input[24 + inpos]) << 8)
2796
+ | ((input[25 + inpos]) << 15) | ((input[26 + inpos]) << 22)
2797
+ | ((input[27 + inpos]) << 29);
2798
+ output[6 + outpos] = ((input[27 + inpos]) >>> (7 - 4))
2799
+ | ((input[28 + inpos]) << 4) | ((input[29 + inpos]) << 11)
2800
+ | ((input[30 + inpos]) << 18) | ((input[31 + inpos]) << 25);
2801
+ }
2802
+ function fastpackwithoutmask8(input, inpos, output, outpos) {
2803
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 8)
2804
+ | ((input[2 + inpos]) << 16) | ((input[3 + inpos]) << 24);
2805
+ output[1 + outpos] = input[4 + inpos] | ((input[5 + inpos]) << 8)
2806
+ | ((input[6 + inpos]) << 16) | ((input[7 + inpos]) << 24);
2807
+ output[2 + outpos] = input[8 + inpos] | ((input[9 + inpos]) << 8)
2808
+ | ((input[10 + inpos]) << 16) | ((input[11 + inpos]) << 24);
2809
+ output[3 + outpos] = input[12 + inpos] | ((input[13 + inpos]) << 8)
2810
+ | ((input[14 + inpos]) << 16) | ((input[15 + inpos]) << 24);
2811
+ output[4 + outpos] = input[16 + inpos] | ((input[17 + inpos]) << 8)
2812
+ | ((input[18 + inpos]) << 16) | ((input[19 + inpos]) << 24);
2813
+ output[5 + outpos] = input[20 + inpos] | ((input[21 + inpos]) << 8)
2814
+ | ((input[22 + inpos]) << 16) | ((input[23 + inpos]) << 24);
2815
+ output[6 + outpos] = input[24 + inpos] | ((input[25 + inpos]) << 8)
2816
+ | ((input[26 + inpos]) << 16) | ((input[27 + inpos]) << 24);
2817
+ output[7 + outpos] = input[28 + inpos] | ((input[29 + inpos]) << 8)
2818
+ | ((input[30 + inpos]) << 16) | ((input[31 + inpos]) << 24);
2819
+ }
2820
+ function fastpackwithoutmask9(input, inpos, output, outpos) {
2821
+ output[outpos] = input[inpos] | ((input[1 + inpos]) << 9)
2822
+ | ((input[2 + inpos]) << 18) | ((input[3 + inpos]) << 27);
2823
+ output[1 + outpos] = ((input[3 + inpos]) >>> (9 - 4))
2824
+ | ((input[4 + inpos]) << 4) | ((input[5 + inpos]) << 13)
2825
+ | ((input[6 + inpos]) << 22) | ((input[7 + inpos]) << 31);
2826
+ output[2 + outpos] = ((input[7 + inpos]) >>> (9 - 8))
2827
+ | ((input[8 + inpos]) << 8) | ((input[9 + inpos]) << 17)
2828
+ | ((input[10 + inpos]) << 26);
2829
+ output[3 + outpos] = ((input[10 + inpos]) >>> (9 - 3))
2830
+ | ((input[11 + inpos]) << 3) | ((input[12 + inpos]) << 12)
2831
+ | ((input[13 + inpos]) << 21) | ((input[14 + inpos]) << 30);
2832
+ output[4 + outpos] = ((input[14 + inpos]) >>> (9 - 7))
2833
+ | ((input[15 + inpos]) << 7) | ((input[16 + inpos]) << 16)
2834
+ | ((input[17 + inpos]) << 25);
2835
+ output[5 + outpos] = ((input[17 + inpos]) >>> (9 - 2))
2836
+ | ((input[18 + inpos]) << 2) | ((input[19 + inpos]) << 11)
2837
+ | ((input[20 + inpos]) << 20) | ((input[21 + inpos]) << 29);
2838
+ output[6 + outpos] = ((input[21 + inpos]) >>> (9 - 6))
2839
+ | ((input[22 + inpos]) << 6) | ((input[23 + inpos]) << 15)
2840
+ | ((input[24 + inpos]) << 24);
2841
+ output[7 + outpos] = ((input[24 + inpos]) >>> (9 - 1))
2842
+ | ((input[25 + inpos]) << 1) | ((input[26 + inpos]) << 10)
2843
+ | ((input[27 + inpos]) << 19) | ((input[28 + inpos]) << 28);
2844
+ output[8 + outpos] = ((input[28 + inpos]) >>> (9 - 5))
2845
+ | ((input[29 + inpos]) << 5) | ((input[30 + inpos]) << 14)
2846
+ | ((input[31 + inpos]) << 23);
2847
+ }
2848
+ /**
2849
+ * Pack the 32 numberegers
2850
+ *
2851
+ * @param input
2852
+ * source array
2853
+ * @param inpos
2854
+ * starting ponumber in the source array
2855
+ * @param output
2856
+ * output array
2857
+ * @param outpos
2858
+ * starting ponumber in the output array
2859
+ * @param bit
2860
+ * how many bits to use per numbereger
2861
+ */
2862
+ function fastunpack(model) {
2863
+ switch (model.bit) {
2864
+ case 0:
2865
+ fastunpack0(model);
2866
+ break;
2867
+ case 1:
2868
+ fastunpack1(model);
2869
+ break;
2870
+ case 2:
2871
+ fastunpack2(model);
2872
+ break;
2873
+ case 3:
2874
+ fastunpack3(model);
2875
+ break;
2876
+ case 4:
2877
+ fastunpack4(model);
2878
+ break;
2879
+ case 5:
2880
+ fastunpack5(model);
2881
+ break;
2882
+ case 6:
2883
+ fastunpack6(model);
2884
+ break;
2885
+ case 7:
2886
+ fastunpack7(model);
2887
+ break;
2888
+ case 8:
2889
+ fastunpack8(model);
2890
+ break;
2891
+ case 9:
2892
+ fastunpack9(model);
2893
+ break;
2894
+ case 10:
2895
+ fastunpack10(model);
2896
+ break;
2897
+ case 11:
2898
+ fastunpack11(model);
2899
+ break;
2900
+ case 12:
2901
+ fastunpack12(model);
2902
+ break;
2903
+ case 13:
2904
+ fastunpack13(model);
2905
+ break;
2906
+ case 14:
2907
+ fastunpack14(model);
2908
+ break;
2909
+ case 15:
2910
+ fastunpack15(model);
2911
+ break;
2912
+ case 16:
2913
+ fastunpack16(model);
2914
+ break;
2915
+ case 17:
2916
+ fastunpack17(model);
2917
+ break;
2918
+ case 18:
2919
+ fastunpack18(model);
2920
+ break;
2921
+ case 19:
2922
+ fastunpack19(model);
2923
+ break;
2924
+ case 20:
2925
+ fastunpack20(model);
2926
+ break;
2927
+ case 21:
2928
+ fastunpack21(model);
2929
+ break;
2930
+ case 22:
2931
+ fastunpack22(model);
2932
+ break;
2933
+ case 23:
2934
+ fastunpack23(model);
2935
+ break;
2936
+ case 24:
2937
+ fastunpack24(model);
2938
+ break;
2939
+ case 25:
2940
+ fastunpack25(model);
2941
+ break;
2942
+ case 26:
2943
+ fastunpack26(model);
2944
+ break;
2945
+ case 27:
2946
+ fastunpack27(model);
2947
+ break;
2948
+ case 28:
2949
+ fastunpack28(model);
2950
+ break;
2951
+ case 29:
2952
+ fastunpack29(model);
2953
+ break;
2954
+ case 30:
2955
+ fastunpack30(model);
2956
+ break;
2957
+ case 31:
2958
+ fastunpack31(model);
2959
+ break;
2960
+ case 32:
2961
+ fastunpack32(model);
2962
+ break;
2963
+ default:
2964
+ throw new Error("Unsupported bit width.");
2965
+ }
2966
+ }
2967
+ function fastunpack0(model) {
2968
+ model.output.fill(0, model.outpos, model.outpos + 32);
2969
+ }
2970
+ function fastunpack1(model) {
2971
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 1);
2972
+ model.output[1 + model.outpos] = ((model.input[model.inpos] >>> 1) & 1);
2973
+ model.output[2 + model.outpos] = ((model.input[model.inpos] >>> 2) & 1);
2974
+ model.output[3 + model.outpos] = ((model.input[model.inpos] >>> 3) & 1);
2975
+ model.output[4 + model.outpos] = ((model.input[model.inpos] >>> 4) & 1);
2976
+ model.output[5 + model.outpos] = ((model.input[model.inpos] >>> 5) & 1);
2977
+ model.output[6 + model.outpos] = ((model.input[model.inpos] >>> 6) & 1);
2978
+ model.output[7 + model.outpos] = ((model.input[model.inpos] >>> 7) & 1);
2979
+ model.output[8 + model.outpos] = ((model.input[model.inpos] >>> 8) & 1);
2980
+ model.output[9 + model.outpos] = ((model.input[model.inpos] >>> 9) & 1);
2981
+ model.output[10 + model.outpos] = ((model.input[model.inpos] >>> 10) & 1);
2982
+ model.output[11 + model.outpos] = ((model.input[model.inpos] >>> 11) & 1);
2983
+ model.output[12 + model.outpos] = ((model.input[model.inpos] >>> 12) & 1);
2984
+ model.output[13 + model.outpos] = ((model.input[model.inpos] >>> 13) & 1);
2985
+ model.output[14 + model.outpos] = ((model.input[model.inpos] >>> 14) & 1);
2986
+ model.output[15 + model.outpos] = ((model.input[model.inpos] >>> 15) & 1);
2987
+ model.output[16 + model.outpos] = ((model.input[model.inpos] >>> 16) & 1);
2988
+ model.output[17 + model.outpos] = ((model.input[model.inpos] >>> 17) & 1);
2989
+ model.output[18 + model.outpos] = ((model.input[model.inpos] >>> 18) & 1);
2990
+ model.output[19 + model.outpos] = ((model.input[model.inpos] >>> 19) & 1);
2991
+ model.output[20 + model.outpos] = ((model.input[model.inpos] >>> 20) & 1);
2992
+ model.output[21 + model.outpos] = ((model.input[model.inpos] >>> 21) & 1);
2993
+ model.output[22 + model.outpos] = ((model.input[model.inpos] >>> 22) & 1);
2994
+ model.output[23 + model.outpos] = ((model.input[model.inpos] >>> 23) & 1);
2995
+ model.output[24 + model.outpos] = ((model.input[model.inpos] >>> 24) & 1);
2996
+ model.output[25 + model.outpos] = ((model.input[model.inpos] >>> 25) & 1);
2997
+ model.output[26 + model.outpos] = ((model.input[model.inpos] >>> 26) & 1);
2998
+ model.output[27 + model.outpos] = ((model.input[model.inpos] >>> 27) & 1);
2999
+ model.output[28 + model.outpos] = ((model.input[model.inpos] >>> 28) & 1);
3000
+ model.output[29 + model.outpos] = ((model.input[model.inpos] >>> 29) & 1);
3001
+ model.output[30 + model.outpos] = ((model.input[model.inpos] >>> 30) & 1);
3002
+ model.output[31 + model.outpos] = (model.input[model.inpos] >>> 31);
3003
+ }
3004
+ function fastunpack10(model) {
3005
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 1023);
3006
+ model.output[1 + model.outpos] = ((model.input[model.inpos] >>> 10) & 1023);
3007
+ model.output[2 + model.outpos] = ((model.input[model.inpos] >>> 20) & 1023);
3008
+ model.output[3 + model.outpos] = (model.input[model.inpos] >>> 30)
3009
+ | ((model.input[1 + model.inpos] & 255) << (10 - 8));
3010
+ model.output[4 + model.outpos] = ((model.input[1 + model.inpos] >>> 8) & 1023);
3011
+ model.output[5 + model.outpos] = ((model.input[1 + model.inpos] >>> 18) & 1023);
3012
+ model.output[6 + model.outpos] = (model.input[1 + model.inpos] >>> 28)
3013
+ | ((model.input[2 + model.inpos] & 63) << (10 - 6));
3014
+ model.output[7 + model.outpos] = ((model.input[2 + model.inpos] >>> 6) & 1023);
3015
+ model.output[8 + model.outpos] = ((model.input[2 + model.inpos] >>> 16) & 1023);
3016
+ model.output[9 + model.outpos] = (model.input[2 + model.inpos] >>> 26)
3017
+ | ((model.input[3 + model.inpos] & 15) << (10 - 4));
3018
+ model.output[10 + model.outpos] = ((model.input[3 + model.inpos] >>> 4) & 1023);
3019
+ model.output[11 + model.outpos] = ((model.input[3 + model.inpos] >>> 14) & 1023);
3020
+ model.output[12 + model.outpos] = (model.input[3 + model.inpos] >>> 24)
3021
+ | ((model.input[4 + model.inpos] & 3) << (10 - 2));
3022
+ model.output[13 + model.outpos] = ((model.input[4 + model.inpos] >>> 2) & 1023);
3023
+ model.output[14 + model.outpos] = ((model.input[4 + model.inpos] >>> 12) & 1023);
3024
+ model.output[15 + model.outpos] = (model.input[4 + model.inpos] >>> 22);
3025
+ model.output[16 + model.outpos] = ((model.input[5 + model.inpos] >>> 0) & 1023);
3026
+ model.output[17 + model.outpos] = ((model.input[5 + model.inpos] >>> 10) & 1023);
3027
+ model.output[18 + model.outpos] = ((model.input[5 + model.inpos] >>> 20) & 1023);
3028
+ model.output[19 + model.outpos] = (model.input[5 + model.inpos] >>> 30)
3029
+ | ((model.input[6 + model.inpos] & 255) << (10 - 8));
3030
+ model.output[20 + model.outpos] = ((model.input[6 + model.inpos] >>> 8) & 1023);
3031
+ model.output[21 + model.outpos] = ((model.input[6 + model.inpos] >>> 18) & 1023);
3032
+ model.output[22 + model.outpos] = (model.input[6 + model.inpos] >>> 28)
3033
+ | ((model.input[7 + model.inpos] & 63) << (10 - 6));
3034
+ model.output[23 + model.outpos] = ((model.input[7 + model.inpos] >>> 6) & 1023);
3035
+ model.output[24 + model.outpos] = ((model.input[7 + model.inpos] >>> 16) & 1023);
3036
+ model.output[25 + model.outpos] = (model.input[7 + model.inpos] >>> 26)
3037
+ | ((model.input[8 + model.inpos] & 15) << (10 - 4));
3038
+ model.output[26 + model.outpos] = ((model.input[8 + model.inpos] >>> 4) & 1023);
3039
+ model.output[27 + model.outpos] = ((model.input[8 + model.inpos] >>> 14) & 1023);
3040
+ model.output[28 + model.outpos] = (model.input[8 + model.inpos] >>> 24)
3041
+ | ((model.input[9 + model.inpos] & 3) << (10 - 2));
3042
+ model.output[29 + model.outpos] = ((model.input[9 + model.inpos] >>> 2) & 1023);
3043
+ model.output[30 + model.outpos] = ((model.input[9 + model.inpos] >>> 12) & 1023);
3044
+ model.output[31 + model.outpos] = (model.input[9 + model.inpos] >>> 22);
3045
+ }
3046
+ function fastunpack11(model) {
3047
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 2047);
3048
+ model.output[1 + model.outpos] = ((model.input[model.inpos] >>> 11) & 2047);
3049
+ model.output[2 + model.outpos] = (model.input[model.inpos] >>> 22)
3050
+ | ((model.input[1 + model.inpos] & 1) << (11 - 1));
3051
+ model.output[3 + model.outpos] = ((model.input[1 + model.inpos] >>> 1) & 2047);
3052
+ model.output[4 + model.outpos] = ((model.input[1 + model.inpos] >>> 12) & 2047);
3053
+ model.output[5 + model.outpos] = (model.input[1 + model.inpos] >>> 23)
3054
+ | ((model.input[2 + model.inpos] & 3) << (11 - 2));
3055
+ model.output[6 + model.outpos] = ((model.input[2 + model.inpos] >>> 2) & 2047);
3056
+ model.output[7 + model.outpos] = ((model.input[2 + model.inpos] >>> 13) & 2047);
3057
+ model.output[8 + model.outpos] = (model.input[2 + model.inpos] >>> 24)
3058
+ | ((model.input[3 + model.inpos] & 7) << (11 - 3));
3059
+ model.output[9 + model.outpos] = ((model.input[3 + model.inpos] >>> 3) & 2047);
3060
+ model.output[10 + model.outpos] = ((model.input[3 + model.inpos] >>> 14) & 2047);
3061
+ model.output[11 + model.outpos] = (model.input[3 + model.inpos] >>> 25)
3062
+ | ((model.input[4 + model.inpos] & 15) << (11 - 4));
3063
+ model.output[12 + model.outpos] = ((model.input[4 + model.inpos] >>> 4) & 2047);
3064
+ model.output[13 + model.outpos] = ((model.input[4 + model.inpos] >>> 15) & 2047);
3065
+ model.output[14 + model.outpos] = (model.input[4 + model.inpos] >>> 26)
3066
+ | ((model.input[5 + model.inpos] & 31) << (11 - 5));
3067
+ model.output[15 + model.outpos] = ((model.input[5 + model.inpos] >>> 5) & 2047);
3068
+ model.output[16 + model.outpos] = ((model.input[5 + model.inpos] >>> 16) & 2047);
3069
+ model.output[17 + model.outpos] = (model.input[5 + model.inpos] >>> 27)
3070
+ | ((model.input[6 + model.inpos] & 63) << (11 - 6));
3071
+ model.output[18 + model.outpos] = ((model.input[6 + model.inpos] >>> 6) & 2047);
3072
+ model.output[19 + model.outpos] = ((model.input[6 + model.inpos] >>> 17) & 2047);
3073
+ model.output[20 + model.outpos] = (model.input[6 + model.inpos] >>> 28)
3074
+ | ((model.input[7 + model.inpos] & 127) << (11 - 7));
3075
+ model.output[21 + model.outpos] = ((model.input[7 + model.inpos] >>> 7) & 2047);
3076
+ model.output[22 + model.outpos] = ((model.input[7 + model.inpos] >>> 18) & 2047);
3077
+ model.output[23 + model.outpos] = (model.input[7 + model.inpos] >>> 29)
3078
+ | ((model.input[8 + model.inpos] & 255) << (11 - 8));
3079
+ model.output[24 + model.outpos] = ((model.input[8 + model.inpos] >>> 8) & 2047);
3080
+ model.output[25 + model.outpos] = ((model.input[8 + model.inpos] >>> 19) & 2047);
3081
+ model.output[26 + model.outpos] = (model.input[8 + model.inpos] >>> 30)
3082
+ | ((model.input[9 + model.inpos] & 511) << (11 - 9));
3083
+ model.output[27 + model.outpos] = ((model.input[9 + model.inpos] >>> 9) & 2047);
3084
+ model.output[28 + model.outpos] = ((model.input[9 + model.inpos] >>> 20) & 2047);
3085
+ model.output[29 + model.outpos] = (model.input[9 + model.inpos] >>> 31)
3086
+ | ((model.input[10 + model.inpos] & 1023) << (11 - 10));
3087
+ model.output[30 + model.outpos] = ((model.input[10 + model.inpos] >>> 10) & 2047);
3088
+ model.output[31 + model.outpos] = (model.input[10 + model.inpos] >>> 21);
3089
+ }
3090
+ function fastunpack12(model) {
3091
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 4095);
3092
+ model.output[1 + model.outpos] = ((model.input[model.inpos] >>> 12) & 4095);
3093
+ model.output[2 + model.outpos] = (model.input[model.inpos] >>> 24)
3094
+ | ((model.input[1 + model.inpos] & 15) << (12 - 4));
3095
+ model.output[3 + model.outpos] = ((model.input[1 + model.inpos] >>> 4) & 4095);
3096
+ model.output[4 + model.outpos] = ((model.input[1 + model.inpos] >>> 16) & 4095);
3097
+ model.output[5 + model.outpos] = (model.input[1 + model.inpos] >>> 28)
3098
+ | ((model.input[2 + model.inpos] & 255) << (12 - 8));
3099
+ model.output[6 + model.outpos] = ((model.input[2 + model.inpos] >>> 8) & 4095);
3100
+ model.output[7 + model.outpos] = (model.input[2 + model.inpos] >>> 20);
3101
+ model.output[8 + model.outpos] = ((model.input[3 + model.inpos] >>> 0) & 4095);
3102
+ model.output[9 + model.outpos] = ((model.input[3 + model.inpos] >>> 12) & 4095);
3103
+ model.output[10 + model.outpos] = (model.input[3 + model.inpos] >>> 24)
3104
+ | ((model.input[4 + model.inpos] & 15) << (12 - 4));
3105
+ model.output[11 + model.outpos] = ((model.input[4 + model.inpos] >>> 4) & 4095);
3106
+ model.output[12 + model.outpos] = ((model.input[4 + model.inpos] >>> 16) & 4095);
3107
+ model.output[13 + model.outpos] = (model.input[4 + model.inpos] >>> 28)
3108
+ | ((model.input[5 + model.inpos] & 255) << (12 - 8));
3109
+ model.output[14 + model.outpos] = ((model.input[5 + model.inpos] >>> 8) & 4095);
3110
+ model.output[15 + model.outpos] = (model.input[5 + model.inpos] >>> 20);
3111
+ model.output[16 + model.outpos] = ((model.input[6 + model.inpos] >>> 0) & 4095);
3112
+ model.output[17 + model.outpos] = ((model.input[6 + model.inpos] >>> 12) & 4095);
3113
+ model.output[18 + model.outpos] = (model.input[6 + model.inpos] >>> 24)
3114
+ | ((model.input[7 + model.inpos] & 15) << (12 - 4));
3115
+ model.output[19 + model.outpos] = ((model.input[7 + model.inpos] >>> 4) & 4095);
3116
+ model.output[20 + model.outpos] = ((model.input[7 + model.inpos] >>> 16) & 4095);
3117
+ model.output[21 + model.outpos] = (model.input[7 + model.inpos] >>> 28)
3118
+ | ((model.input[8 + model.inpos] & 255) << (12 - 8));
3119
+ model.output[22 + model.outpos] = ((model.input[8 + model.inpos] >>> 8) & 4095);
3120
+ model.output[23 + model.outpos] = (model.input[8 + model.inpos] >>> 20);
3121
+ model.output[24 + model.outpos] = ((model.input[9 + model.inpos] >>> 0) & 4095);
3122
+ model.output[25 + model.outpos] = ((model.input[9 + model.inpos] >>> 12) & 4095);
3123
+ model.output[26 + model.outpos] = (model.input[9 + model.inpos] >>> 24)
3124
+ | ((model.input[10 + model.inpos] & 15) << (12 - 4));
3125
+ model.output[27 + model.outpos] = ((model.input[10 + model.inpos] >>> 4) & 4095);
3126
+ model.output[28 + model.outpos] = ((model.input[10 + model.inpos] >>> 16) & 4095);
3127
+ model.output[29 + model.outpos] = (model.input[10 + model.inpos] >>> 28)
3128
+ | ((model.input[11 + model.inpos] & 255) << (12 - 8));
3129
+ model.output[30 + model.outpos] = ((model.input[11 + model.inpos] >>> 8) & 4095);
3130
+ model.output[31 + model.outpos] = (model.input[11 + model.inpos] >>> 20);
3131
+ }
3132
+ function fastunpack13(model) {
3133
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 8191);
3134
+ model.output[1 + model.outpos] = ((model.input[model.inpos] >>> 13) & 8191);
3135
+ model.output[2 + model.outpos] = (model.input[model.inpos] >>> 26)
3136
+ | ((model.input[1 + model.inpos] & 127) << (13 - 7));
3137
+ model.output[3 + model.outpos] = ((model.input[1 + model.inpos] >>> 7) & 8191);
3138
+ model.output[4 + model.outpos] = (model.input[1 + model.inpos] >>> 20)
3139
+ | ((model.input[2 + model.inpos] & 1) << (13 - 1));
3140
+ model.output[5 + model.outpos] = ((model.input[2 + model.inpos] >>> 1) & 8191);
3141
+ model.output[6 + model.outpos] = ((model.input[2 + model.inpos] >>> 14) & 8191);
3142
+ model.output[7 + model.outpos] = (model.input[2 + model.inpos] >>> 27)
3143
+ | ((model.input[3 + model.inpos] & 255) << (13 - 8));
3144
+ model.output[8 + model.outpos] = ((model.input[3 + model.inpos] >>> 8) & 8191);
3145
+ model.output[9 + model.outpos] = (model.input[3 + model.inpos] >>> 21)
3146
+ | ((model.input[4 + model.inpos] & 3) << (13 - 2));
3147
+ model.output[10 + model.outpos] = ((model.input[4 + model.inpos] >>> 2) & 8191);
3148
+ model.output[11 + model.outpos] = ((model.input[4 + model.inpos] >>> 15) & 8191);
3149
+ model.output[12 + model.outpos] = (model.input[4 + model.inpos] >>> 28)
3150
+ | ((model.input[5 + model.inpos] & 511) << (13 - 9));
3151
+ model.output[13 + model.outpos] = ((model.input[5 + model.inpos] >>> 9) & 8191);
3152
+ model.output[14 + model.outpos] = (model.input[5 + model.inpos] >>> 22)
3153
+ | ((model.input[6 + model.inpos] & 7) << (13 - 3));
3154
+ model.output[15 + model.outpos] = ((model.input[6 + model.inpos] >>> 3) & 8191);
3155
+ model.output[16 + model.outpos] = ((model.input[6 + model.inpos] >>> 16) & 8191);
3156
+ model.output[17 + model.outpos] = (model.input[6 + model.inpos] >>> 29)
3157
+ | ((model.input[7 + model.inpos] & 1023) << (13 - 10));
3158
+ model.output[18 + model.outpos] = ((model.input[7 + model.inpos] >>> 10) & 8191);
3159
+ model.output[19 + model.outpos] = (model.input[7 + model.inpos] >>> 23)
3160
+ | ((model.input[8 + model.inpos] & 15) << (13 - 4));
3161
+ model.output[20 + model.outpos] = ((model.input[8 + model.inpos] >>> 4) & 8191);
3162
+ model.output[21 + model.outpos] = ((model.input[8 + model.inpos] >>> 17) & 8191);
3163
+ model.output[22 + model.outpos] = (model.input[8 + model.inpos] >>> 30)
3164
+ | ((model.input[9 + model.inpos] & 2047) << (13 - 11));
3165
+ model.output[23 + model.outpos] = ((model.input[9 + model.inpos] >>> 11) & 8191);
3166
+ model.output[24 + model.outpos] = (model.input[9 + model.inpos] >>> 24)
3167
+ | ((model.input[10 + model.inpos] & 31) << (13 - 5));
3168
+ model.output[25 + model.outpos] = ((model.input[10 + model.inpos] >>> 5) & 8191);
3169
+ model.output[26 + model.outpos] = ((model.input[10 + model.inpos] >>> 18) & 8191);
3170
+ model.output[27 + model.outpos] = (model.input[10 + model.inpos] >>> 31)
3171
+ | ((model.input[11 + model.inpos] & 4095) << (13 - 12));
3172
+ model.output[28 + model.outpos] = ((model.input[11 + model.inpos] >>> 12) & 8191);
3173
+ model.output[29 + model.outpos] = (model.input[11 + model.inpos] >>> 25)
3174
+ | ((model.input[12 + model.inpos] & 63) << (13 - 6));
3175
+ model.output[30 + model.outpos] = ((model.input[12 + model.inpos] >>> 6) & 8191);
3176
+ model.output[31 + model.outpos] = (model.input[12 + model.inpos] >>> 19);
3177
+ }
3178
+ function fastunpack14(model) {
3179
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 16383);
3180
+ model.output[1 + model.outpos] = ((model.input[model.inpos] >>> 14) & 16383);
3181
+ model.output[2 + model.outpos] = (model.input[model.inpos] >>> 28)
3182
+ | ((model.input[1 + model.inpos] & 1023) << (14 - 10));
3183
+ model.output[3 + model.outpos] = ((model.input[1 + model.inpos] >>> 10) & 16383);
3184
+ model.output[4 + model.outpos] = (model.input[1 + model.inpos] >>> 24)
3185
+ | ((model.input[2 + model.inpos] & 63) << (14 - 6));
3186
+ model.output[5 + model.outpos] = ((model.input[2 + model.inpos] >>> 6) & 16383);
3187
+ model.output[6 + model.outpos] = (model.input[2 + model.inpos] >>> 20)
3188
+ | ((model.input[3 + model.inpos] & 3) << (14 - 2));
3189
+ model.output[7 + model.outpos] = ((model.input[3 + model.inpos] >>> 2) & 16383);
3190
+ model.output[8 + model.outpos] = ((model.input[3 + model.inpos] >>> 16) & 16383);
3191
+ model.output[9 + model.outpos] = (model.input[3 + model.inpos] >>> 30)
3192
+ | ((model.input[4 + model.inpos] & 4095) << (14 - 12));
3193
+ model.output[10 + model.outpos] = ((model.input[4 + model.inpos] >>> 12) & 16383);
3194
+ model.output[11 + model.outpos] = (model.input[4 + model.inpos] >>> 26)
3195
+ | ((model.input[5 + model.inpos] & 255) << (14 - 8));
3196
+ model.output[12 + model.outpos] = ((model.input[5 + model.inpos] >>> 8) & 16383);
3197
+ model.output[13 + model.outpos] = (model.input[5 + model.inpos] >>> 22)
3198
+ | ((model.input[6 + model.inpos] & 15) << (14 - 4));
3199
+ model.output[14 + model.outpos] = ((model.input[6 + model.inpos] >>> 4) & 16383);
3200
+ model.output[15 + model.outpos] = (model.input[6 + model.inpos] >>> 18);
3201
+ model.output[16 + model.outpos] = ((model.input[7 + model.inpos] >>> 0) & 16383);
3202
+ model.output[17 + model.outpos] = ((model.input[7 + model.inpos] >>> 14) & 16383);
3203
+ model.output[18 + model.outpos] = (model.input[7 + model.inpos] >>> 28)
3204
+ | ((model.input[8 + model.inpos] & 1023) << (14 - 10));
3205
+ model.output[19 + model.outpos] = ((model.input[8 + model.inpos] >>> 10) & 16383);
3206
+ model.output[20 + model.outpos] = (model.input[8 + model.inpos] >>> 24)
3207
+ | ((model.input[9 + model.inpos] & 63) << (14 - 6));
3208
+ model.output[21 + model.outpos] = ((model.input[9 + model.inpos] >>> 6) & 16383);
3209
+ model.output[22 + model.outpos] = (model.input[9 + model.inpos] >>> 20)
3210
+ | ((model.input[10 + model.inpos] & 3) << (14 - 2));
3211
+ model.output[23 + model.outpos] = ((model.input[10 + model.inpos] >>> 2) & 16383);
3212
+ model.output[24 + model.outpos] = ((model.input[10 + model.inpos] >>> 16) & 16383);
3213
+ model.output[25 + model.outpos] = (model.input[10 + model.inpos] >>> 30)
3214
+ | ((model.input[11 + model.inpos] & 4095) << (14 - 12));
3215
+ model.output[26 + model.outpos] = ((model.input[11 + model.inpos] >>> 12) & 16383);
3216
+ model.output[27 + model.outpos] = (model.input[11 + model.inpos] >>> 26)
3217
+ | ((model.input[12 + model.inpos] & 255) << (14 - 8));
3218
+ model.output[28 + model.outpos] = ((model.input[12 + model.inpos] >>> 8) & 16383);
3219
+ model.output[29 + model.outpos] = (model.input[12 + model.inpos] >>> 22)
3220
+ | ((model.input[13 + model.inpos] & 15) << (14 - 4));
3221
+ model.output[30 + model.outpos] = ((model.input[13 + model.inpos] >>> 4) & 16383);
3222
+ model.output[31 + model.outpos] = (model.input[13 + model.inpos] >>> 18);
3223
+ }
3224
+ function fastunpack15(model) {
3225
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 32767);
3226
+ model.output[1 + model.outpos] = ((model.input[model.inpos] >>> 15) & 32767);
3227
+ model.output[2 + model.outpos] = (model.input[model.inpos] >>> 30)
3228
+ | ((model.input[1 + model.inpos] & 8191) << (15 - 13));
3229
+ model.output[3 + model.outpos] = ((model.input[1 + model.inpos] >>> 13) & 32767);
3230
+ model.output[4 + model.outpos] = (model.input[1 + model.inpos] >>> 28)
3231
+ | ((model.input[2 + model.inpos] & 2047) << (15 - 11));
3232
+ model.output[5 + model.outpos] = ((model.input[2 + model.inpos] >>> 11) & 32767);
3233
+ model.output[6 + model.outpos] = (model.input[2 + model.inpos] >>> 26)
3234
+ | ((model.input[3 + model.inpos] & 511) << (15 - 9));
3235
+ model.output[7 + model.outpos] = ((model.input[3 + model.inpos] >>> 9) & 32767);
3236
+ model.output[8 + model.outpos] = (model.input[3 + model.inpos] >>> 24)
3237
+ | ((model.input[4 + model.inpos] & 127) << (15 - 7));
3238
+ model.output[9 + model.outpos] = ((model.input[4 + model.inpos] >>> 7) & 32767);
3239
+ model.output[10 + model.outpos] = (model.input[4 + model.inpos] >>> 22)
3240
+ | ((model.input[5 + model.inpos] & 31) << (15 - 5));
3241
+ model.output[11 + model.outpos] = ((model.input[5 + model.inpos] >>> 5) & 32767);
3242
+ model.output[12 + model.outpos] = (model.input[5 + model.inpos] >>> 20)
3243
+ | ((model.input[6 + model.inpos] & 7) << (15 - 3));
3244
+ model.output[13 + model.outpos] = ((model.input[6 + model.inpos] >>> 3) & 32767);
3245
+ model.output[14 + model.outpos] = (model.input[6 + model.inpos] >>> 18)
3246
+ | ((model.input[7 + model.inpos] & 1) << (15 - 1));
3247
+ model.output[15 + model.outpos] = ((model.input[7 + model.inpos] >>> 1) & 32767);
3248
+ model.output[16 + model.outpos] = ((model.input[7 + model.inpos] >>> 16) & 32767);
3249
+ model.output[17 + model.outpos] = (model.input[7 + model.inpos] >>> 31)
3250
+ | ((model.input[8 + model.inpos] & 16383) << (15 - 14));
3251
+ model.output[18 + model.outpos] = ((model.input[8 + model.inpos] >>> 14) & 32767);
3252
+ model.output[19 + model.outpos] = (model.input[8 + model.inpos] >>> 29)
3253
+ | ((model.input[9 + model.inpos] & 4095) << (15 - 12));
3254
+ model.output[20 + model.outpos] = ((model.input[9 + model.inpos] >>> 12) & 32767);
3255
+ model.output[21 + model.outpos] = (model.input[9 + model.inpos] >>> 27)
3256
+ | ((model.input[10 + model.inpos] & 1023) << (15 - 10));
3257
+ model.output[22 + model.outpos] = ((model.input[10 + model.inpos] >>> 10) & 32767);
3258
+ model.output[23 + model.outpos] = (model.input[10 + model.inpos] >>> 25)
3259
+ | ((model.input[11 + model.inpos] & 255) << (15 - 8));
3260
+ model.output[24 + model.outpos] = ((model.input[11 + model.inpos] >>> 8) & 32767);
3261
+ model.output[25 + model.outpos] = (model.input[11 + model.inpos] >>> 23)
3262
+ | ((model.input[12 + model.inpos] & 63) << (15 - 6));
3263
+ model.output[26 + model.outpos] = ((model.input[12 + model.inpos] >>> 6) & 32767);
3264
+ model.output[27 + model.outpos] = (model.input[12 + model.inpos] >>> 21)
3265
+ | ((model.input[13 + model.inpos] & 15) << (15 - 4));
3266
+ model.output[28 + model.outpos] = ((model.input[13 + model.inpos] >>> 4) & 32767);
3267
+ model.output[29 + model.outpos] = (model.input[13 + model.inpos] >>> 19)
3268
+ | ((model.input[14 + model.inpos] & 3) << (15 - 2));
3269
+ model.output[30 + model.outpos] = ((model.input[14 + model.inpos] >>> 2) & 32767);
3270
+ model.output[31 + model.outpos] = (model.input[14 + model.inpos] >>> 17);
3271
+ }
3272
+ function fastunpack16(model) {
3273
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 65535);
3274
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 16);
3275
+ model.output[2 + model.outpos] = ((model.input[1 + model.inpos] >>> 0) & 65535);
3276
+ model.output[3 + model.outpos] = (model.input[1 + model.inpos] >>> 16);
3277
+ model.output[4 + model.outpos] = ((model.input[2 + model.inpos] >>> 0) & 65535);
3278
+ model.output[5 + model.outpos] = (model.input[2 + model.inpos] >>> 16);
3279
+ model.output[6 + model.outpos] = ((model.input[3 + model.inpos] >>> 0) & 65535);
3280
+ model.output[7 + model.outpos] = (model.input[3 + model.inpos] >>> 16);
3281
+ model.output[8 + model.outpos] = ((model.input[4 + model.inpos] >>> 0) & 65535);
3282
+ model.output[9 + model.outpos] = (model.input[4 + model.inpos] >>> 16);
3283
+ model.output[10 + model.outpos] = ((model.input[5 + model.inpos] >>> 0) & 65535);
3284
+ model.output[11 + model.outpos] = (model.input[5 + model.inpos] >>> 16);
3285
+ model.output[12 + model.outpos] = ((model.input[6 + model.inpos] >>> 0) & 65535);
3286
+ model.output[13 + model.outpos] = (model.input[6 + model.inpos] >>> 16);
3287
+ model.output[14 + model.outpos] = ((model.input[7 + model.inpos] >>> 0) & 65535);
3288
+ model.output[15 + model.outpos] = (model.input[7 + model.inpos] >>> 16);
3289
+ model.output[16 + model.outpos] = ((model.input[8 + model.inpos] >>> 0) & 65535);
3290
+ model.output[17 + model.outpos] = (model.input[8 + model.inpos] >>> 16);
3291
+ model.output[18 + model.outpos] = ((model.input[9 + model.inpos] >>> 0) & 65535);
3292
+ model.output[19 + model.outpos] = (model.input[9 + model.inpos] >>> 16);
3293
+ model.output[20 + model.outpos] = ((model.input[10 + model.inpos] >>> 0) & 65535);
3294
+ model.output[21 + model.outpos] = (model.input[10 + model.inpos] >>> 16);
3295
+ model.output[22 + model.outpos] = ((model.input[11 + model.inpos] >>> 0) & 65535);
3296
+ model.output[23 + model.outpos] = (model.input[11 + model.inpos] >>> 16);
3297
+ model.output[24 + model.outpos] = ((model.input[12 + model.inpos] >>> 0) & 65535);
3298
+ model.output[25 + model.outpos] = (model.input[12 + model.inpos] >>> 16);
3299
+ model.output[26 + model.outpos] = ((model.input[13 + model.inpos] >>> 0) & 65535);
3300
+ model.output[27 + model.outpos] = (model.input[13 + model.inpos] >>> 16);
3301
+ model.output[28 + model.outpos] = ((model.input[14 + model.inpos] >>> 0) & 65535);
3302
+ model.output[29 + model.outpos] = (model.input[14 + model.inpos] >>> 16);
3303
+ model.output[30 + model.outpos] = ((model.input[15 + model.inpos] >>> 0) & 65535);
3304
+ model.output[31 + model.outpos] = (model.input[15 + model.inpos] >>> 16);
3305
+ }
3306
+ function fastunpack17(model) {
3307
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 131071);
3308
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 17)
3309
+ | ((model.input[1 + model.inpos] & 3) << (17 - 2));
3310
+ model.output[2 + model.outpos] = ((model.input[1 + model.inpos] >>> 2) & 131071);
3311
+ model.output[3 + model.outpos] = (model.input[1 + model.inpos] >>> 19)
3312
+ | ((model.input[2 + model.inpos] & 15) << (17 - 4));
3313
+ model.output[4 + model.outpos] = ((model.input[2 + model.inpos] >>> 4) & 131071);
3314
+ model.output[5 + model.outpos] = (model.input[2 + model.inpos] >>> 21)
3315
+ | ((model.input[3 + model.inpos] & 63) << (17 - 6));
3316
+ model.output[6 + model.outpos] = ((model.input[3 + model.inpos] >>> 6) & 131071);
3317
+ model.output[7 + model.outpos] = (model.input[3 + model.inpos] >>> 23)
3318
+ | ((model.input[4 + model.inpos] & 255) << (17 - 8));
3319
+ model.output[8 + model.outpos] = ((model.input[4 + model.inpos] >>> 8) & 131071);
3320
+ model.output[9 + model.outpos] = (model.input[4 + model.inpos] >>> 25)
3321
+ | ((model.input[5 + model.inpos] & 1023) << (17 - 10));
3322
+ model.output[10 + model.outpos] = ((model.input[5 + model.inpos] >>> 10) & 131071);
3323
+ model.output[11 + model.outpos] = (model.input[5 + model.inpos] >>> 27)
3324
+ | ((model.input[6 + model.inpos] & 4095) << (17 - 12));
3325
+ model.output[12 + model.outpos] = ((model.input[6 + model.inpos] >>> 12) & 131071);
3326
+ model.output[13 + model.outpos] = (model.input[6 + model.inpos] >>> 29)
3327
+ | ((model.input[7 + model.inpos] & 16383) << (17 - 14));
3328
+ model.output[14 + model.outpos] = ((model.input[7 + model.inpos] >>> 14) & 131071);
3329
+ model.output[15 + model.outpos] = (model.input[7 + model.inpos] >>> 31)
3330
+ | ((model.input[8 + model.inpos] & 65535) << (17 - 16));
3331
+ model.output[16 + model.outpos] = (model.input[8 + model.inpos] >>> 16)
3332
+ | ((model.input[9 + model.inpos] & 1) << (17 - 1));
3333
+ model.output[17 + model.outpos] = ((model.input[9 + model.inpos] >>> 1) & 131071);
3334
+ model.output[18 + model.outpos] = (model.input[9 + model.inpos] >>> 18)
3335
+ | ((model.input[10 + model.inpos] & 7) << (17 - 3));
3336
+ model.output[19 + model.outpos] = ((model.input[10 + model.inpos] >>> 3) & 131071);
3337
+ model.output[20 + model.outpos] = (model.input[10 + model.inpos] >>> 20)
3338
+ | ((model.input[11 + model.inpos] & 31) << (17 - 5));
3339
+ model.output[21 + model.outpos] = ((model.input[11 + model.inpos] >>> 5) & 131071);
3340
+ model.output[22 + model.outpos] = (model.input[11 + model.inpos] >>> 22)
3341
+ | ((model.input[12 + model.inpos] & 127) << (17 - 7));
3342
+ model.output[23 + model.outpos] = ((model.input[12 + model.inpos] >>> 7) & 131071);
3343
+ model.output[24 + model.outpos] = (model.input[12 + model.inpos] >>> 24)
3344
+ | ((model.input[13 + model.inpos] & 511) << (17 - 9));
3345
+ model.output[25 + model.outpos] = ((model.input[13 + model.inpos] >>> 9) & 131071);
3346
+ model.output[26 + model.outpos] = (model.input[13 + model.inpos] >>> 26)
3347
+ | ((model.input[14 + model.inpos] & 2047) << (17 - 11));
3348
+ model.output[27 + model.outpos] = ((model.input[14 + model.inpos] >>> 11) & 131071);
3349
+ model.output[28 + model.outpos] = (model.input[14 + model.inpos] >>> 28)
3350
+ | ((model.input[15 + model.inpos] & 8191) << (17 - 13));
3351
+ model.output[29 + model.outpos] = ((model.input[15 + model.inpos] >>> 13) & 131071);
3352
+ model.output[30 + model.outpos] = (model.input[15 + model.inpos] >>> 30)
3353
+ | ((model.input[16 + model.inpos] & 32767) << (17 - 15));
3354
+ model.output[31 + model.outpos] = (model.input[16 + model.inpos] >>> 15);
3355
+ }
3356
+ function fastunpack18(model) {
3357
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 262143);
3358
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 18)
3359
+ | ((model.input[1 + model.inpos] & 15) << (18 - 4));
3360
+ model.output[2 + model.outpos] = ((model.input[1 + model.inpos] >>> 4) & 262143);
3361
+ model.output[3 + model.outpos] = (model.input[1 + model.inpos] >>> 22)
3362
+ | ((model.input[2 + model.inpos] & 255) << (18 - 8));
3363
+ model.output[4 + model.outpos] = ((model.input[2 + model.inpos] >>> 8) & 262143);
3364
+ model.output[5 + model.outpos] = (model.input[2 + model.inpos] >>> 26)
3365
+ | ((model.input[3 + model.inpos] & 4095) << (18 - 12));
3366
+ model.output[6 + model.outpos] = ((model.input[3 + model.inpos] >>> 12) & 262143);
3367
+ model.output[7 + model.outpos] = (model.input[3 + model.inpos] >>> 30)
3368
+ | ((model.input[4 + model.inpos] & 65535) << (18 - 16));
3369
+ model.output[8 + model.outpos] = (model.input[4 + model.inpos] >>> 16)
3370
+ | ((model.input[5 + model.inpos] & 3) << (18 - 2));
3371
+ model.output[9 + model.outpos] = ((model.input[5 + model.inpos] >>> 2) & 262143);
3372
+ model.output[10 + model.outpos] = (model.input[5 + model.inpos] >>> 20)
3373
+ | ((model.input[6 + model.inpos] & 63) << (18 - 6));
3374
+ model.output[11 + model.outpos] = ((model.input[6 + model.inpos] >>> 6) & 262143);
3375
+ model.output[12 + model.outpos] = (model.input[6 + model.inpos] >>> 24)
3376
+ | ((model.input[7 + model.inpos] & 1023) << (18 - 10));
3377
+ model.output[13 + model.outpos] = ((model.input[7 + model.inpos] >>> 10) & 262143);
3378
+ model.output[14 + model.outpos] = (model.input[7 + model.inpos] >>> 28)
3379
+ | ((model.input[8 + model.inpos] & 16383) << (18 - 14));
3380
+ model.output[15 + model.outpos] = (model.input[8 + model.inpos] >>> 14);
3381
+ model.output[16 + model.outpos] = ((model.input[9 + model.inpos] >>> 0) & 262143);
3382
+ model.output[17 + model.outpos] = (model.input[9 + model.inpos] >>> 18)
3383
+ | ((model.input[10 + model.inpos] & 15) << (18 - 4));
3384
+ model.output[18 + model.outpos] = ((model.input[10 + model.inpos] >>> 4) & 262143);
3385
+ model.output[19 + model.outpos] = (model.input[10 + model.inpos] >>> 22)
3386
+ | ((model.input[11 + model.inpos] & 255) << (18 - 8));
3387
+ model.output[20 + model.outpos] = ((model.input[11 + model.inpos] >>> 8) & 262143);
3388
+ model.output[21 + model.outpos] = (model.input[11 + model.inpos] >>> 26)
3389
+ | ((model.input[12 + model.inpos] & 4095) << (18 - 12));
3390
+ model.output[22 + model.outpos] = ((model.input[12 + model.inpos] >>> 12) & 262143);
3391
+ model.output[23 + model.outpos] = (model.input[12 + model.inpos] >>> 30)
3392
+ | ((model.input[13 + model.inpos] & 65535) << (18 - 16));
3393
+ model.output[24 + model.outpos] = (model.input[13 + model.inpos] >>> 16)
3394
+ | ((model.input[14 + model.inpos] & 3) << (18 - 2));
3395
+ model.output[25 + model.outpos] = ((model.input[14 + model.inpos] >>> 2) & 262143);
3396
+ model.output[26 + model.outpos] = (model.input[14 + model.inpos] >>> 20)
3397
+ | ((model.input[15 + model.inpos] & 63) << (18 - 6));
3398
+ model.output[27 + model.outpos] = ((model.input[15 + model.inpos] >>> 6) & 262143);
3399
+ model.output[28 + model.outpos] = (model.input[15 + model.inpos] >>> 24)
3400
+ | ((model.input[16 + model.inpos] & 1023) << (18 - 10));
3401
+ model.output[29 + model.outpos] = ((model.input[16 + model.inpos] >>> 10) & 262143);
3402
+ model.output[30 + model.outpos] = (model.input[16 + model.inpos] >>> 28)
3403
+ | ((model.input[17 + model.inpos] & 16383) << (18 - 14));
3404
+ model.output[31 + model.outpos] = (model.input[17 + model.inpos] >>> 14);
3405
+ }
3406
+ function fastunpack19(model) {
3407
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 524287);
3408
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 19)
3409
+ | ((model.input[1 + model.inpos] & 63) << (19 - 6));
3410
+ model.output[2 + model.outpos] = ((model.input[1 + model.inpos] >>> 6) & 524287);
3411
+ model.output[3 + model.outpos] = (model.input[1 + model.inpos] >>> 25)
3412
+ | ((model.input[2 + model.inpos] & 4095) << (19 - 12));
3413
+ model.output[4 + model.outpos] = ((model.input[2 + model.inpos] >>> 12) & 524287);
3414
+ model.output[5 + model.outpos] = (model.input[2 + model.inpos] >>> 31)
3415
+ | ((model.input[3 + model.inpos] & 262143) << (19 - 18));
3416
+ model.output[6 + model.outpos] = (model.input[3 + model.inpos] >>> 18)
3417
+ | ((model.input[4 + model.inpos] & 31) << (19 - 5));
3418
+ model.output[7 + model.outpos] = ((model.input[4 + model.inpos] >>> 5) & 524287);
3419
+ model.output[8 + model.outpos] = (model.input[4 + model.inpos] >>> 24)
3420
+ | ((model.input[5 + model.inpos] & 2047) << (19 - 11));
3421
+ model.output[9 + model.outpos] = ((model.input[5 + model.inpos] >>> 11) & 524287);
3422
+ model.output[10 + model.outpos] = (model.input[5 + model.inpos] >>> 30)
3423
+ | ((model.input[6 + model.inpos] & 131071) << (19 - 17));
3424
+ model.output[11 + model.outpos] = (model.input[6 + model.inpos] >>> 17)
3425
+ | ((model.input[7 + model.inpos] & 15) << (19 - 4));
3426
+ model.output[12 + model.outpos] = ((model.input[7 + model.inpos] >>> 4) & 524287);
3427
+ model.output[13 + model.outpos] = (model.input[7 + model.inpos] >>> 23)
3428
+ | ((model.input[8 + model.inpos] & 1023) << (19 - 10));
3429
+ model.output[14 + model.outpos] = ((model.input[8 + model.inpos] >>> 10) & 524287);
3430
+ model.output[15 + model.outpos] = (model.input[8 + model.inpos] >>> 29)
3431
+ | ((model.input[9 + model.inpos] & 65535) << (19 - 16));
3432
+ model.output[16 + model.outpos] = (model.input[9 + model.inpos] >>> 16)
3433
+ | ((model.input[10 + model.inpos] & 7) << (19 - 3));
3434
+ model.output[17 + model.outpos] = ((model.input[10 + model.inpos] >>> 3) & 524287);
3435
+ model.output[18 + model.outpos] = (model.input[10 + model.inpos] >>> 22)
3436
+ | ((model.input[11 + model.inpos] & 511) << (19 - 9));
3437
+ model.output[19 + model.outpos] = ((model.input[11 + model.inpos] >>> 9) & 524287);
3438
+ model.output[20 + model.outpos] = (model.input[11 + model.inpos] >>> 28)
3439
+ | ((model.input[12 + model.inpos] & 32767) << (19 - 15));
3440
+ model.output[21 + model.outpos] = (model.input[12 + model.inpos] >>> 15)
3441
+ | ((model.input[13 + model.inpos] & 3) << (19 - 2));
3442
+ model.output[22 + model.outpos] = ((model.input[13 + model.inpos] >>> 2) & 524287);
3443
+ model.output[23 + model.outpos] = (model.input[13 + model.inpos] >>> 21)
3444
+ | ((model.input[14 + model.inpos] & 255) << (19 - 8));
3445
+ model.output[24 + model.outpos] = ((model.input[14 + model.inpos] >>> 8) & 524287);
3446
+ model.output[25 + model.outpos] = (model.input[14 + model.inpos] >>> 27)
3447
+ | ((model.input[15 + model.inpos] & 16383) << (19 - 14));
3448
+ model.output[26 + model.outpos] = (model.input[15 + model.inpos] >>> 14)
3449
+ | ((model.input[16 + model.inpos] & 1) << (19 - 1));
3450
+ model.output[27 + model.outpos] = ((model.input[16 + model.inpos] >>> 1) & 524287);
3451
+ model.output[28 + model.outpos] = (model.input[16 + model.inpos] >>> 20)
3452
+ | ((model.input[17 + model.inpos] & 127) << (19 - 7));
3453
+ model.output[29 + model.outpos] = ((model.input[17 + model.inpos] >>> 7) & 524287);
3454
+ model.output[30 + model.outpos] = (model.input[17 + model.inpos] >>> 26)
3455
+ | ((model.input[18 + model.inpos] & 8191) << (19 - 13));
3456
+ model.output[31 + model.outpos] = (model.input[18 + model.inpos] >>> 13);
3457
+ }
3458
+ function fastunpack2(model) {
3459
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 3);
3460
+ model.output[1 + model.outpos] = ((model.input[model.inpos] >>> 2) & 3);
3461
+ model.output[2 + model.outpos] = ((model.input[model.inpos] >>> 4) & 3);
3462
+ model.output[3 + model.outpos] = ((model.input[model.inpos] >>> 6) & 3);
3463
+ model.output[4 + model.outpos] = ((model.input[model.inpos] >>> 8) & 3);
3464
+ model.output[5 + model.outpos] = ((model.input[model.inpos] >>> 10) & 3);
3465
+ model.output[6 + model.outpos] = ((model.input[model.inpos] >>> 12) & 3);
3466
+ model.output[7 + model.outpos] = ((model.input[model.inpos] >>> 14) & 3);
3467
+ model.output[8 + model.outpos] = ((model.input[model.inpos] >>> 16) & 3);
3468
+ model.output[9 + model.outpos] = ((model.input[model.inpos] >>> 18) & 3);
3469
+ model.output[10 + model.outpos] = ((model.input[model.inpos] >>> 20) & 3);
3470
+ model.output[11 + model.outpos] = ((model.input[model.inpos] >>> 22) & 3);
3471
+ model.output[12 + model.outpos] = ((model.input[model.inpos] >>> 24) & 3);
3472
+ model.output[13 + model.outpos] = ((model.input[model.inpos] >>> 26) & 3);
3473
+ model.output[14 + model.outpos] = ((model.input[model.inpos] >>> 28) & 3);
3474
+ model.output[15 + model.outpos] = (model.input[model.inpos] >>> 30);
3475
+ model.output[16 + model.outpos] = ((model.input[1 + model.inpos] >>> 0) & 3);
3476
+ model.output[17 + model.outpos] = ((model.input[1 + model.inpos] >>> 2) & 3);
3477
+ model.output[18 + model.outpos] = ((model.input[1 + model.inpos] >>> 4) & 3);
3478
+ model.output[19 + model.outpos] = ((model.input[1 + model.inpos] >>> 6) & 3);
3479
+ model.output[20 + model.outpos] = ((model.input[1 + model.inpos] >>> 8) & 3);
3480
+ model.output[21 + model.outpos] = ((model.input[1 + model.inpos] >>> 10) & 3);
3481
+ model.output[22 + model.outpos] = ((model.input[1 + model.inpos] >>> 12) & 3);
3482
+ model.output[23 + model.outpos] = ((model.input[1 + model.inpos] >>> 14) & 3);
3483
+ model.output[24 + model.outpos] = ((model.input[1 + model.inpos] >>> 16) & 3);
3484
+ model.output[25 + model.outpos] = ((model.input[1 + model.inpos] >>> 18) & 3);
3485
+ model.output[26 + model.outpos] = ((model.input[1 + model.inpos] >>> 20) & 3);
3486
+ model.output[27 + model.outpos] = ((model.input[1 + model.inpos] >>> 22) & 3);
3487
+ model.output[28 + model.outpos] = ((model.input[1 + model.inpos] >>> 24) & 3);
3488
+ model.output[29 + model.outpos] = ((model.input[1 + model.inpos] >>> 26) & 3);
3489
+ model.output[30 + model.outpos] = ((model.input[1 + model.inpos] >>> 28) & 3);
3490
+ model.output[31 + model.outpos] = (model.input[1 + model.inpos] >>> 30);
3491
+ }
3492
+ function fastunpack20(model) {
3493
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 1048575);
3494
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 20)
3495
+ | ((model.input[1 + model.inpos] & 255) << (20 - 8));
3496
+ model.output[2 + model.outpos] = ((model.input[1 + model.inpos] >>> 8) & 1048575);
3497
+ model.output[3 + model.outpos] = (model.input[1 + model.inpos] >>> 28)
3498
+ | ((model.input[2 + model.inpos] & 65535) << (20 - 16));
3499
+ model.output[4 + model.outpos] = (model.input[2 + model.inpos] >>> 16)
3500
+ | ((model.input[3 + model.inpos] & 15) << (20 - 4));
3501
+ model.output[5 + model.outpos] = ((model.input[3 + model.inpos] >>> 4) & 1048575);
3502
+ model.output[6 + model.outpos] = (model.input[3 + model.inpos] >>> 24)
3503
+ | ((model.input[4 + model.inpos] & 4095) << (20 - 12));
3504
+ model.output[7 + model.outpos] = (model.input[4 + model.inpos] >>> 12);
3505
+ model.output[8 + model.outpos] = ((model.input[5 + model.inpos] >>> 0) & 1048575);
3506
+ model.output[9 + model.outpos] = (model.input[5 + model.inpos] >>> 20)
3507
+ | ((model.input[6 + model.inpos] & 255) << (20 - 8));
3508
+ model.output[10 + model.outpos] = ((model.input[6 + model.inpos] >>> 8) & 1048575);
3509
+ model.output[11 + model.outpos] = (model.input[6 + model.inpos] >>> 28)
3510
+ | ((model.input[7 + model.inpos] & 65535) << (20 - 16));
3511
+ model.output[12 + model.outpos] = (model.input[7 + model.inpos] >>> 16)
3512
+ | ((model.input[8 + model.inpos] & 15) << (20 - 4));
3513
+ model.output[13 + model.outpos] = ((model.input[8 + model.inpos] >>> 4) & 1048575);
3514
+ model.output[14 + model.outpos] = (model.input[8 + model.inpos] >>> 24)
3515
+ | ((model.input[9 + model.inpos] & 4095) << (20 - 12));
3516
+ model.output[15 + model.outpos] = (model.input[9 + model.inpos] >>> 12);
3517
+ model.output[16 + model.outpos] = ((model.input[10 + model.inpos] >>> 0) & 1048575);
3518
+ model.output[17 + model.outpos] = (model.input[10 + model.inpos] >>> 20)
3519
+ | ((model.input[11 + model.inpos] & 255) << (20 - 8));
3520
+ model.output[18 + model.outpos] = ((model.input[11 + model.inpos] >>> 8) & 1048575);
3521
+ model.output[19 + model.outpos] = (model.input[11 + model.inpos] >>> 28)
3522
+ | ((model.input[12 + model.inpos] & 65535) << (20 - 16));
3523
+ model.output[20 + model.outpos] = (model.input[12 + model.inpos] >>> 16)
3524
+ | ((model.input[13 + model.inpos] & 15) << (20 - 4));
3525
+ model.output[21 + model.outpos] = ((model.input[13 + model.inpos] >>> 4) & 1048575);
3526
+ model.output[22 + model.outpos] = (model.input[13 + model.inpos] >>> 24)
3527
+ | ((model.input[14 + model.inpos] & 4095) << (20 - 12));
3528
+ model.output[23 + model.outpos] = (model.input[14 + model.inpos] >>> 12);
3529
+ model.output[24 + model.outpos] = ((model.input[15 + model.inpos] >>> 0) & 1048575);
3530
+ model.output[25 + model.outpos] = (model.input[15 + model.inpos] >>> 20)
3531
+ | ((model.input[16 + model.inpos] & 255) << (20 - 8));
3532
+ model.output[26 + model.outpos] = ((model.input[16 + model.inpos] >>> 8) & 1048575);
3533
+ model.output[27 + model.outpos] = (model.input[16 + model.inpos] >>> 28)
3534
+ | ((model.input[17 + model.inpos] & 65535) << (20 - 16));
3535
+ model.output[28 + model.outpos] = (model.input[17 + model.inpos] >>> 16)
3536
+ | ((model.input[18 + model.inpos] & 15) << (20 - 4));
3537
+ model.output[29 + model.outpos] = ((model.input[18 + model.inpos] >>> 4) & 1048575);
3538
+ model.output[30 + model.outpos] = (model.input[18 + model.inpos] >>> 24)
3539
+ | ((model.input[19 + model.inpos] & 4095) << (20 - 12));
3540
+ model.output[31 + model.outpos] = (model.input[19 + model.inpos] >>> 12);
3541
+ }
3542
+ function fastunpack21(model) {
3543
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 2097151);
3544
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 21)
3545
+ | ((model.input[1 + model.inpos] & 1023) << (21 - 10));
3546
+ model.output[2 + model.outpos] = ((model.input[1 + model.inpos] >>> 10) & 2097151);
3547
+ model.output[3 + model.outpos] = (model.input[1 + model.inpos] >>> 31)
3548
+ | ((model.input[2 + model.inpos] & 1048575) << (21 - 20));
3549
+ model.output[4 + model.outpos] = (model.input[2 + model.inpos] >>> 20)
3550
+ | ((model.input[3 + model.inpos] & 511) << (21 - 9));
3551
+ model.output[5 + model.outpos] = ((model.input[3 + model.inpos] >>> 9) & 2097151);
3552
+ model.output[6 + model.outpos] = (model.input[3 + model.inpos] >>> 30)
3553
+ | ((model.input[4 + model.inpos] & 524287) << (21 - 19));
3554
+ model.output[7 + model.outpos] = (model.input[4 + model.inpos] >>> 19)
3555
+ | ((model.input[5 + model.inpos] & 255) << (21 - 8));
3556
+ model.output[8 + model.outpos] = ((model.input[5 + model.inpos] >>> 8) & 2097151);
3557
+ model.output[9 + model.outpos] = (model.input[5 + model.inpos] >>> 29)
3558
+ | ((model.input[6 + model.inpos] & 262143) << (21 - 18));
3559
+ model.output[10 + model.outpos] = (model.input[6 + model.inpos] >>> 18)
3560
+ | ((model.input[7 + model.inpos] & 127) << (21 - 7));
3561
+ model.output[11 + model.outpos] = ((model.input[7 + model.inpos] >>> 7) & 2097151);
3562
+ model.output[12 + model.outpos] = (model.input[7 + model.inpos] >>> 28)
3563
+ | ((model.input[8 + model.inpos] & 131071) << (21 - 17));
3564
+ model.output[13 + model.outpos] = (model.input[8 + model.inpos] >>> 17)
3565
+ | ((model.input[9 + model.inpos] & 63) << (21 - 6));
3566
+ model.output[14 + model.outpos] = ((model.input[9 + model.inpos] >>> 6) & 2097151);
3567
+ model.output[15 + model.outpos] = (model.input[9 + model.inpos] >>> 27)
3568
+ | ((model.input[10 + model.inpos] & 65535) << (21 - 16));
3569
+ model.output[16 + model.outpos] = (model.input[10 + model.inpos] >>> 16)
3570
+ | ((model.input[11 + model.inpos] & 31) << (21 - 5));
3571
+ model.output[17 + model.outpos] = ((model.input[11 + model.inpos] >>> 5) & 2097151);
3572
+ model.output[18 + model.outpos] = (model.input[11 + model.inpos] >>> 26)
3573
+ | ((model.input[12 + model.inpos] & 32767) << (21 - 15));
3574
+ model.output[19 + model.outpos] = (model.input[12 + model.inpos] >>> 15)
3575
+ | ((model.input[13 + model.inpos] & 15) << (21 - 4));
3576
+ model.output[20 + model.outpos] = ((model.input[13 + model.inpos] >>> 4) & 2097151);
3577
+ model.output[21 + model.outpos] = (model.input[13 + model.inpos] >>> 25)
3578
+ | ((model.input[14 + model.inpos] & 16383) << (21 - 14));
3579
+ model.output[22 + model.outpos] = (model.input[14 + model.inpos] >>> 14)
3580
+ | ((model.input[15 + model.inpos] & 7) << (21 - 3));
3581
+ model.output[23 + model.outpos] = ((model.input[15 + model.inpos] >>> 3) & 2097151);
3582
+ model.output[24 + model.outpos] = (model.input[15 + model.inpos] >>> 24)
3583
+ | ((model.input[16 + model.inpos] & 8191) << (21 - 13));
3584
+ model.output[25 + model.outpos] = (model.input[16 + model.inpos] >>> 13)
3585
+ | ((model.input[17 + model.inpos] & 3) << (21 - 2));
3586
+ model.output[26 + model.outpos] = ((model.input[17 + model.inpos] >>> 2) & 2097151);
3587
+ model.output[27 + model.outpos] = (model.input[17 + model.inpos] >>> 23)
3588
+ | ((model.input[18 + model.inpos] & 4095) << (21 - 12));
3589
+ model.output[28 + model.outpos] = (model.input[18 + model.inpos] >>> 12)
3590
+ | ((model.input[19 + model.inpos] & 1) << (21 - 1));
3591
+ model.output[29 + model.outpos] = ((model.input[19 + model.inpos] >>> 1) & 2097151);
3592
+ model.output[30 + model.outpos] = (model.input[19 + model.inpos] >>> 22)
3593
+ | ((model.input[20 + model.inpos] & 2047) << (21 - 11));
3594
+ model.output[31 + model.outpos] = (model.input[20 + model.inpos] >>> 11);
3595
+ }
3596
+ function fastunpack22(model) {
3597
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 4194303);
3598
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 22)
3599
+ | ((model.input[1 + model.inpos] & 4095) << (22 - 12));
3600
+ model.output[2 + model.outpos] = (model.input[1 + model.inpos] >>> 12)
3601
+ | ((model.input[2 + model.inpos] & 3) << (22 - 2));
3602
+ model.output[3 + model.outpos] = ((model.input[2 + model.inpos] >>> 2) & 4194303);
3603
+ model.output[4 + model.outpos] = (model.input[2 + model.inpos] >>> 24)
3604
+ | ((model.input[3 + model.inpos] & 16383) << (22 - 14));
3605
+ model.output[5 + model.outpos] = (model.input[3 + model.inpos] >>> 14)
3606
+ | ((model.input[4 + model.inpos] & 15) << (22 - 4));
3607
+ model.output[6 + model.outpos] = ((model.input[4 + model.inpos] >>> 4) & 4194303);
3608
+ model.output[7 + model.outpos] = (model.input[4 + model.inpos] >>> 26)
3609
+ | ((model.input[5 + model.inpos] & 65535) << (22 - 16));
3610
+ model.output[8 + model.outpos] = (model.input[5 + model.inpos] >>> 16)
3611
+ | ((model.input[6 + model.inpos] & 63) << (22 - 6));
3612
+ model.output[9 + model.outpos] = ((model.input[6 + model.inpos] >>> 6) & 4194303);
3613
+ model.output[10 + model.outpos] = (model.input[6 + model.inpos] >>> 28)
3614
+ | ((model.input[7 + model.inpos] & 262143) << (22 - 18));
3615
+ model.output[11 + model.outpos] = (model.input[7 + model.inpos] >>> 18)
3616
+ | ((model.input[8 + model.inpos] & 255) << (22 - 8));
3617
+ model.output[12 + model.outpos] = ((model.input[8 + model.inpos] >>> 8) & 4194303);
3618
+ model.output[13 + model.outpos] = (model.input[8 + model.inpos] >>> 30)
3619
+ | ((model.input[9 + model.inpos] & 1048575) << (22 - 20));
3620
+ model.output[14 + model.outpos] = (model.input[9 + model.inpos] >>> 20)
3621
+ | ((model.input[10 + model.inpos] & 1023) << (22 - 10));
3622
+ model.output[15 + model.outpos] = (model.input[10 + model.inpos] >>> 10);
3623
+ model.output[16 + model.outpos] = ((model.input[11 + model.inpos] >>> 0) & 4194303);
3624
+ model.output[17 + model.outpos] = (model.input[11 + model.inpos] >>> 22)
3625
+ | ((model.input[12 + model.inpos] & 4095) << (22 - 12));
3626
+ model.output[18 + model.outpos] = (model.input[12 + model.inpos] >>> 12)
3627
+ | ((model.input[13 + model.inpos] & 3) << (22 - 2));
3628
+ model.output[19 + model.outpos] = ((model.input[13 + model.inpos] >>> 2) & 4194303);
3629
+ model.output[20 + model.outpos] = (model.input[13 + model.inpos] >>> 24)
3630
+ | ((model.input[14 + model.inpos] & 16383) << (22 - 14));
3631
+ model.output[21 + model.outpos] = (model.input[14 + model.inpos] >>> 14)
3632
+ | ((model.input[15 + model.inpos] & 15) << (22 - 4));
3633
+ model.output[22 + model.outpos] = ((model.input[15 + model.inpos] >>> 4) & 4194303);
3634
+ model.output[23 + model.outpos] = (model.input[15 + model.inpos] >>> 26)
3635
+ | ((model.input[16 + model.inpos] & 65535) << (22 - 16));
3636
+ model.output[24 + model.outpos] = (model.input[16 + model.inpos] >>> 16)
3637
+ | ((model.input[17 + model.inpos] & 63) << (22 - 6));
3638
+ model.output[25 + model.outpos] = ((model.input[17 + model.inpos] >>> 6) & 4194303);
3639
+ model.output[26 + model.outpos] = (model.input[17 + model.inpos] >>> 28)
3640
+ | ((model.input[18 + model.inpos] & 262143) << (22 - 18));
3641
+ model.output[27 + model.outpos] = (model.input[18 + model.inpos] >>> 18)
3642
+ | ((model.input[19 + model.inpos] & 255) << (22 - 8));
3643
+ model.output[28 + model.outpos] = ((model.input[19 + model.inpos] >>> 8) & 4194303);
3644
+ model.output[29 + model.outpos] = (model.input[19 + model.inpos] >>> 30)
3645
+ | ((model.input[20 + model.inpos] & 1048575) << (22 - 20));
3646
+ model.output[30 + model.outpos] = (model.input[20 + model.inpos] >>> 20)
3647
+ | ((model.input[21 + model.inpos] & 1023) << (22 - 10));
3648
+ model.output[31 + model.outpos] = (model.input[21 + model.inpos] >>> 10);
3649
+ }
3650
+ function fastunpack23(model) {
3651
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 8388607);
3652
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 23)
3653
+ | ((model.input[1 + model.inpos] & 16383) << (23 - 14));
3654
+ model.output[2 + model.outpos] = (model.input[1 + model.inpos] >>> 14)
3655
+ | ((model.input[2 + model.inpos] & 31) << (23 - 5));
3656
+ model.output[3 + model.outpos] = ((model.input[2 + model.inpos] >>> 5) & 8388607);
3657
+ model.output[4 + model.outpos] = (model.input[2 + model.inpos] >>> 28)
3658
+ | ((model.input[3 + model.inpos] & 524287) << (23 - 19));
3659
+ model.output[5 + model.outpos] = (model.input[3 + model.inpos] >>> 19)
3660
+ | ((model.input[4 + model.inpos] & 1023) << (23 - 10));
3661
+ model.output[6 + model.outpos] = (model.input[4 + model.inpos] >>> 10)
3662
+ | ((model.input[5 + model.inpos] & 1) << (23 - 1));
3663
+ model.output[7 + model.outpos] = ((model.input[5 + model.inpos] >>> 1) & 8388607);
3664
+ model.output[8 + model.outpos] = (model.input[5 + model.inpos] >>> 24)
3665
+ | ((model.input[6 + model.inpos] & 32767) << (23 - 15));
3666
+ model.output[9 + model.outpos] = (model.input[6 + model.inpos] >>> 15)
3667
+ | ((model.input[7 + model.inpos] & 63) << (23 - 6));
3668
+ model.output[10 + model.outpos] = ((model.input[7 + model.inpos] >>> 6) & 8388607);
3669
+ model.output[11 + model.outpos] = (model.input[7 + model.inpos] >>> 29)
3670
+ | ((model.input[8 + model.inpos] & 1048575) << (23 - 20));
3671
+ model.output[12 + model.outpos] = (model.input[8 + model.inpos] >>> 20)
3672
+ | ((model.input[9 + model.inpos] & 2047) << (23 - 11));
3673
+ model.output[13 + model.outpos] = (model.input[9 + model.inpos] >>> 11)
3674
+ | ((model.input[10 + model.inpos] & 3) << (23 - 2));
3675
+ model.output[14 + model.outpos] = ((model.input[10 + model.inpos] >>> 2) & 8388607);
3676
+ model.output[15 + model.outpos] = (model.input[10 + model.inpos] >>> 25)
3677
+ | ((model.input[11 + model.inpos] & 65535) << (23 - 16));
3678
+ model.output[16 + model.outpos] = (model.input[11 + model.inpos] >>> 16)
3679
+ | ((model.input[12 + model.inpos] & 127) << (23 - 7));
3680
+ model.output[17 + model.outpos] = ((model.input[12 + model.inpos] >>> 7) & 8388607);
3681
+ model.output[18 + model.outpos] = (model.input[12 + model.inpos] >>> 30)
3682
+ | ((model.input[13 + model.inpos] & 2097151) << (23 - 21));
3683
+ model.output[19 + model.outpos] = (model.input[13 + model.inpos] >>> 21)
3684
+ | ((model.input[14 + model.inpos] & 4095) << (23 - 12));
3685
+ model.output[20 + model.outpos] = (model.input[14 + model.inpos] >>> 12)
3686
+ | ((model.input[15 + model.inpos] & 7) << (23 - 3));
3687
+ model.output[21 + model.outpos] = ((model.input[15 + model.inpos] >>> 3) & 8388607);
3688
+ model.output[22 + model.outpos] = (model.input[15 + model.inpos] >>> 26)
3689
+ | ((model.input[16 + model.inpos] & 131071) << (23 - 17));
3690
+ model.output[23 + model.outpos] = (model.input[16 + model.inpos] >>> 17)
3691
+ | ((model.input[17 + model.inpos] & 255) << (23 - 8));
3692
+ model.output[24 + model.outpos] = ((model.input[17 + model.inpos] >>> 8) & 8388607);
3693
+ model.output[25 + model.outpos] = (model.input[17 + model.inpos] >>> 31)
3694
+ | ((model.input[18 + model.inpos] & 4194303) << (23 - 22));
3695
+ model.output[26 + model.outpos] = (model.input[18 + model.inpos] >>> 22)
3696
+ | ((model.input[19 + model.inpos] & 8191) << (23 - 13));
3697
+ model.output[27 + model.outpos] = (model.input[19 + model.inpos] >>> 13)
3698
+ | ((model.input[20 + model.inpos] & 15) << (23 - 4));
3699
+ model.output[28 + model.outpos] = ((model.input[20 + model.inpos] >>> 4) & 8388607);
3700
+ model.output[29 + model.outpos] = (model.input[20 + model.inpos] >>> 27)
3701
+ | ((model.input[21 + model.inpos] & 262143) << (23 - 18));
3702
+ model.output[30 + model.outpos] = (model.input[21 + model.inpos] >>> 18)
3703
+ | ((model.input[22 + model.inpos] & 511) << (23 - 9));
3704
+ model.output[31 + model.outpos] = (model.input[22 + model.inpos] >>> 9);
3705
+ }
3706
+ function fastunpack24(model) {
3707
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 16777215);
3708
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 24)
3709
+ | ((model.input[1 + model.inpos] & 65535) << (24 - 16));
3710
+ model.output[2 + model.outpos] = (model.input[1 + model.inpos] >>> 16)
3711
+ | ((model.input[2 + model.inpos] & 255) << (24 - 8));
3712
+ model.output[3 + model.outpos] = (model.input[2 + model.inpos] >>> 8);
3713
+ model.output[4 + model.outpos] = ((model.input[3 + model.inpos] >>> 0) & 16777215);
3714
+ model.output[5 + model.outpos] = (model.input[3 + model.inpos] >>> 24)
3715
+ | ((model.input[4 + model.inpos] & 65535) << (24 - 16));
3716
+ model.output[6 + model.outpos] = (model.input[4 + model.inpos] >>> 16)
3717
+ | ((model.input[5 + model.inpos] & 255) << (24 - 8));
3718
+ model.output[7 + model.outpos] = (model.input[5 + model.inpos] >>> 8);
3719
+ model.output[8 + model.outpos] = ((model.input[6 + model.inpos] >>> 0) & 16777215);
3720
+ model.output[9 + model.outpos] = (model.input[6 + model.inpos] >>> 24)
3721
+ | ((model.input[7 + model.inpos] & 65535) << (24 - 16));
3722
+ model.output[10 + model.outpos] = (model.input[7 + model.inpos] >>> 16)
3723
+ | ((model.input[8 + model.inpos] & 255) << (24 - 8));
3724
+ model.output[11 + model.outpos] = (model.input[8 + model.inpos] >>> 8);
3725
+ model.output[12 + model.outpos] = ((model.input[9 + model.inpos] >>> 0) & 16777215);
3726
+ model.output[13 + model.outpos] = (model.input[9 + model.inpos] >>> 24)
3727
+ | ((model.input[10 + model.inpos] & 65535) << (24 - 16));
3728
+ model.output[14 + model.outpos] = (model.input[10 + model.inpos] >>> 16)
3729
+ | ((model.input[11 + model.inpos] & 255) << (24 - 8));
3730
+ model.output[15 + model.outpos] = (model.input[11 + model.inpos] >>> 8);
3731
+ model.output[16 + model.outpos] = ((model.input[12 + model.inpos] >>> 0) & 16777215);
3732
+ model.output[17 + model.outpos] = (model.input[12 + model.inpos] >>> 24)
3733
+ | ((model.input[13 + model.inpos] & 65535) << (24 - 16));
3734
+ model.output[18 + model.outpos] = (model.input[13 + model.inpos] >>> 16)
3735
+ | ((model.input[14 + model.inpos] & 255) << (24 - 8));
3736
+ model.output[19 + model.outpos] = (model.input[14 + model.inpos] >>> 8);
3737
+ model.output[20 + model.outpos] = ((model.input[15 + model.inpos] >>> 0) & 16777215);
3738
+ model.output[21 + model.outpos] = (model.input[15 + model.inpos] >>> 24)
3739
+ | ((model.input[16 + model.inpos] & 65535) << (24 - 16));
3740
+ model.output[22 + model.outpos] = (model.input[16 + model.inpos] >>> 16)
3741
+ | ((model.input[17 + model.inpos] & 255) << (24 - 8));
3742
+ model.output[23 + model.outpos] = (model.input[17 + model.inpos] >>> 8);
3743
+ model.output[24 + model.outpos] = ((model.input[18 + model.inpos] >>> 0) & 16777215);
3744
+ model.output[25 + model.outpos] = (model.input[18 + model.inpos] >>> 24)
3745
+ | ((model.input[19 + model.inpos] & 65535) << (24 - 16));
3746
+ model.output[26 + model.outpos] = (model.input[19 + model.inpos] >>> 16)
3747
+ | ((model.input[20 + model.inpos] & 255) << (24 - 8));
3748
+ model.output[27 + model.outpos] = (model.input[20 + model.inpos] >>> 8);
3749
+ model.output[28 + model.outpos] = ((model.input[21 + model.inpos] >>> 0) & 16777215);
3750
+ model.output[29 + model.outpos] = (model.input[21 + model.inpos] >>> 24)
3751
+ | ((model.input[22 + model.inpos] & 65535) << (24 - 16));
3752
+ model.output[30 + model.outpos] = (model.input[22 + model.inpos] >>> 16)
3753
+ | ((model.input[23 + model.inpos] & 255) << (24 - 8));
3754
+ model.output[31 + model.outpos] = (model.input[23 + model.inpos] >>> 8);
3755
+ }
3756
+ function fastunpack25(model) {
3757
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 33554431);
3758
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 25)
3759
+ | ((model.input[1 + model.inpos] & 262143) << (25 - 18));
3760
+ model.output[2 + model.outpos] = (model.input[1 + model.inpos] >>> 18)
3761
+ | ((model.input[2 + model.inpos] & 2047) << (25 - 11));
3762
+ model.output[3 + model.outpos] = (model.input[2 + model.inpos] >>> 11)
3763
+ | ((model.input[3 + model.inpos] & 15) << (25 - 4));
3764
+ model.output[4 + model.outpos] = ((model.input[3 + model.inpos] >>> 4) & 33554431);
3765
+ model.output[5 + model.outpos] = (model.input[3 + model.inpos] >>> 29)
3766
+ | ((model.input[4 + model.inpos] & 4194303) << (25 - 22));
3767
+ model.output[6 + model.outpos] = (model.input[4 + model.inpos] >>> 22)
3768
+ | ((model.input[5 + model.inpos] & 32767) << (25 - 15));
3769
+ model.output[7 + model.outpos] = (model.input[5 + model.inpos] >>> 15)
3770
+ | ((model.input[6 + model.inpos] & 255) << (25 - 8));
3771
+ model.output[8 + model.outpos] = (model.input[6 + model.inpos] >>> 8)
3772
+ | ((model.input[7 + model.inpos] & 1) << (25 - 1));
3773
+ model.output[9 + model.outpos] = ((model.input[7 + model.inpos] >>> 1) & 33554431);
3774
+ model.output[10 + model.outpos] = (model.input[7 + model.inpos] >>> 26)
3775
+ | ((model.input[8 + model.inpos] & 524287) << (25 - 19));
3776
+ model.output[11 + model.outpos] = (model.input[8 + model.inpos] >>> 19)
3777
+ | ((model.input[9 + model.inpos] & 4095) << (25 - 12));
3778
+ model.output[12 + model.outpos] = (model.input[9 + model.inpos] >>> 12)
3779
+ | ((model.input[10 + model.inpos] & 31) << (25 - 5));
3780
+ model.output[13 + model.outpos] = ((model.input[10 + model.inpos] >>> 5) & 33554431);
3781
+ model.output[14 + model.outpos] = (model.input[10 + model.inpos] >>> 30)
3782
+ | ((model.input[11 + model.inpos] & 8388607) << (25 - 23));
3783
+ model.output[15 + model.outpos] = (model.input[11 + model.inpos] >>> 23)
3784
+ | ((model.input[12 + model.inpos] & 65535) << (25 - 16));
3785
+ model.output[16 + model.outpos] = (model.input[12 + model.inpos] >>> 16)
3786
+ | ((model.input[13 + model.inpos] & 511) << (25 - 9));
3787
+ model.output[17 + model.outpos] = (model.input[13 + model.inpos] >>> 9)
3788
+ | ((model.input[14 + model.inpos] & 3) << (25 - 2));
3789
+ model.output[18 + model.outpos] = ((model.input[14 + model.inpos] >>> 2) & 33554431);
3790
+ model.output[19 + model.outpos] = (model.input[14 + model.inpos] >>> 27)
3791
+ | ((model.input[15 + model.inpos] & 1048575) << (25 - 20));
3792
+ model.output[20 + model.outpos] = (model.input[15 + model.inpos] >>> 20)
3793
+ | ((model.input[16 + model.inpos] & 8191) << (25 - 13));
3794
+ model.output[21 + model.outpos] = (model.input[16 + model.inpos] >>> 13)
3795
+ | ((model.input[17 + model.inpos] & 63) << (25 - 6));
3796
+ model.output[22 + model.outpos] = ((model.input[17 + model.inpos] >>> 6) & 33554431);
3797
+ model.output[23 + model.outpos] = (model.input[17 + model.inpos] >>> 31)
3798
+ | ((model.input[18 + model.inpos] & 16777215) << (25 - 24));
3799
+ model.output[24 + model.outpos] = (model.input[18 + model.inpos] >>> 24)
3800
+ | ((model.input[19 + model.inpos] & 131071) << (25 - 17));
3801
+ model.output[25 + model.outpos] = (model.input[19 + model.inpos] >>> 17)
3802
+ | ((model.input[20 + model.inpos] & 1023) << (25 - 10));
3803
+ model.output[26 + model.outpos] = (model.input[20 + model.inpos] >>> 10)
3804
+ | ((model.input[21 + model.inpos] & 7) << (25 - 3));
3805
+ model.output[27 + model.outpos] = ((model.input[21 + model.inpos] >>> 3) & 33554431);
3806
+ model.output[28 + model.outpos] = (model.input[21 + model.inpos] >>> 28)
3807
+ | ((model.input[22 + model.inpos] & 2097151) << (25 - 21));
3808
+ model.output[29 + model.outpos] = (model.input[22 + model.inpos] >>> 21)
3809
+ | ((model.input[23 + model.inpos] & 16383) << (25 - 14));
3810
+ model.output[30 + model.outpos] = (model.input[23 + model.inpos] >>> 14)
3811
+ | ((model.input[24 + model.inpos] & 127) << (25 - 7));
3812
+ model.output[31 + model.outpos] = (model.input[24 + model.inpos] >>> 7);
3813
+ }
3814
+ function fastunpack26(model) {
3815
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 67108863);
3816
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 26)
3817
+ | ((model.input[1 + model.inpos] & 1048575) << (26 - 20));
3818
+ model.output[2 + model.outpos] = (model.input[1 + model.inpos] >>> 20)
3819
+ | ((model.input[2 + model.inpos] & 16383) << (26 - 14));
3820
+ model.output[3 + model.outpos] = (model.input[2 + model.inpos] >>> 14)
3821
+ | ((model.input[3 + model.inpos] & 255) << (26 - 8));
3822
+ model.output[4 + model.outpos] = (model.input[3 + model.inpos] >>> 8)
3823
+ | ((model.input[4 + model.inpos] & 3) << (26 - 2));
3824
+ model.output[5 + model.outpos] = ((model.input[4 + model.inpos] >>> 2) & 67108863);
3825
+ model.output[6 + model.outpos] = (model.input[4 + model.inpos] >>> 28)
3826
+ | ((model.input[5 + model.inpos] & 4194303) << (26 - 22));
3827
+ model.output[7 + model.outpos] = (model.input[5 + model.inpos] >>> 22)
3828
+ | ((model.input[6 + model.inpos] & 65535) << (26 - 16));
3829
+ model.output[8 + model.outpos] = (model.input[6 + model.inpos] >>> 16)
3830
+ | ((model.input[7 + model.inpos] & 1023) << (26 - 10));
3831
+ model.output[9 + model.outpos] = (model.input[7 + model.inpos] >>> 10)
3832
+ | ((model.input[8 + model.inpos] & 15) << (26 - 4));
3833
+ model.output[10 + model.outpos] = ((model.input[8 + model.inpos] >>> 4) & 67108863);
3834
+ model.output[11 + model.outpos] = (model.input[8 + model.inpos] >>> 30)
3835
+ | ((model.input[9 + model.inpos] & 16777215) << (26 - 24));
3836
+ model.output[12 + model.outpos] = (model.input[9 + model.inpos] >>> 24)
3837
+ | ((model.input[10 + model.inpos] & 262143) << (26 - 18));
3838
+ model.output[13 + model.outpos] = (model.input[10 + model.inpos] >>> 18)
3839
+ | ((model.input[11 + model.inpos] & 4095) << (26 - 12));
3840
+ model.output[14 + model.outpos] = (model.input[11 + model.inpos] >>> 12)
3841
+ | ((model.input[12 + model.inpos] & 63) << (26 - 6));
3842
+ model.output[15 + model.outpos] = (model.input[12 + model.inpos] >>> 6);
3843
+ model.output[16 + model.outpos] = ((model.input[13 + model.inpos] >>> 0) & 67108863);
3844
+ model.output[17 + model.outpos] = (model.input[13 + model.inpos] >>> 26)
3845
+ | ((model.input[14 + model.inpos] & 1048575) << (26 - 20));
3846
+ model.output[18 + model.outpos] = (model.input[14 + model.inpos] >>> 20)
3847
+ | ((model.input[15 + model.inpos] & 16383) << (26 - 14));
3848
+ model.output[19 + model.outpos] = (model.input[15 + model.inpos] >>> 14)
3849
+ | ((model.input[16 + model.inpos] & 255) << (26 - 8));
3850
+ model.output[20 + model.outpos] = (model.input[16 + model.inpos] >>> 8)
3851
+ | ((model.input[17 + model.inpos] & 3) << (26 - 2));
3852
+ model.output[21 + model.outpos] = ((model.input[17 + model.inpos] >>> 2) & 67108863);
3853
+ model.output[22 + model.outpos] = (model.input[17 + model.inpos] >>> 28)
3854
+ | ((model.input[18 + model.inpos] & 4194303) << (26 - 22));
3855
+ model.output[23 + model.outpos] = (model.input[18 + model.inpos] >>> 22)
3856
+ | ((model.input[19 + model.inpos] & 65535) << (26 - 16));
3857
+ model.output[24 + model.outpos] = (model.input[19 + model.inpos] >>> 16)
3858
+ | ((model.input[20 + model.inpos] & 1023) << (26 - 10));
3859
+ model.output[25 + model.outpos] = (model.input[20 + model.inpos] >>> 10)
3860
+ | ((model.input[21 + model.inpos] & 15) << (26 - 4));
3861
+ model.output[26 + model.outpos] = ((model.input[21 + model.inpos] >>> 4) & 67108863);
3862
+ model.output[27 + model.outpos] = (model.input[21 + model.inpos] >>> 30)
3863
+ | ((model.input[22 + model.inpos] & 16777215) << (26 - 24));
3864
+ model.output[28 + model.outpos] = (model.input[22 + model.inpos] >>> 24)
3865
+ | ((model.input[23 + model.inpos] & 262143) << (26 - 18));
3866
+ model.output[29 + model.outpos] = (model.input[23 + model.inpos] >>> 18)
3867
+ | ((model.input[24 + model.inpos] & 4095) << (26 - 12));
3868
+ model.output[30 + model.outpos] = (model.input[24 + model.inpos] >>> 12)
3869
+ | ((model.input[25 + model.inpos] & 63) << (26 - 6));
3870
+ model.output[31 + model.outpos] = (model.input[25 + model.inpos] >>> 6);
3871
+ }
3872
+ function fastunpack27(model) {
3873
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 134217727);
3874
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 27)
3875
+ | ((model.input[1 + model.inpos] & 4194303) << (27 - 22));
3876
+ model.output[2 + model.outpos] = (model.input[1 + model.inpos] >>> 22)
3877
+ | ((model.input[2 + model.inpos] & 131071) << (27 - 17));
3878
+ model.output[3 + model.outpos] = (model.input[2 + model.inpos] >>> 17)
3879
+ | ((model.input[3 + model.inpos] & 4095) << (27 - 12));
3880
+ model.output[4 + model.outpos] = (model.input[3 + model.inpos] >>> 12)
3881
+ | ((model.input[4 + model.inpos] & 127) << (27 - 7));
3882
+ model.output[5 + model.outpos] = (model.input[4 + model.inpos] >>> 7)
3883
+ | ((model.input[5 + model.inpos] & 3) << (27 - 2));
3884
+ model.output[6 + model.outpos] = ((model.input[5 + model.inpos] >>> 2) & 134217727);
3885
+ model.output[7 + model.outpos] = (model.input[5 + model.inpos] >>> 29)
3886
+ | ((model.input[6 + model.inpos] & 16777215) << (27 - 24));
3887
+ model.output[8 + model.outpos] = (model.input[6 + model.inpos] >>> 24)
3888
+ | ((model.input[7 + model.inpos] & 524287) << (27 - 19));
3889
+ model.output[9 + model.outpos] = (model.input[7 + model.inpos] >>> 19)
3890
+ | ((model.input[8 + model.inpos] & 16383) << (27 - 14));
3891
+ model.output[10 + model.outpos] = (model.input[8 + model.inpos] >>> 14)
3892
+ | ((model.input[9 + model.inpos] & 511) << (27 - 9));
3893
+ model.output[11 + model.outpos] = (model.input[9 + model.inpos] >>> 9)
3894
+ | ((model.input[10 + model.inpos] & 15) << (27 - 4));
3895
+ model.output[12 + model.outpos] = ((model.input[10 + model.inpos] >>> 4) & 134217727);
3896
+ model.output[13 + model.outpos] = (model.input[10 + model.inpos] >>> 31)
3897
+ | ((model.input[11 + model.inpos] & 67108863) << (27 - 26));
3898
+ model.output[14 + model.outpos] = (model.input[11 + model.inpos] >>> 26)
3899
+ | ((model.input[12 + model.inpos] & 2097151) << (27 - 21));
3900
+ model.output[15 + model.outpos] = (model.input[12 + model.inpos] >>> 21)
3901
+ | ((model.input[13 + model.inpos] & 65535) << (27 - 16));
3902
+ model.output[16 + model.outpos] = (model.input[13 + model.inpos] >>> 16)
3903
+ | ((model.input[14 + model.inpos] & 2047) << (27 - 11));
3904
+ model.output[17 + model.outpos] = (model.input[14 + model.inpos] >>> 11)
3905
+ | ((model.input[15 + model.inpos] & 63) << (27 - 6));
3906
+ model.output[18 + model.outpos] = (model.input[15 + model.inpos] >>> 6)
3907
+ | ((model.input[16 + model.inpos] & 1) << (27 - 1));
3908
+ model.output[19 + model.outpos] = ((model.input[16 + model.inpos] >>> 1) & 134217727);
3909
+ model.output[20 + model.outpos] = (model.input[16 + model.inpos] >>> 28)
3910
+ | ((model.input[17 + model.inpos] & 8388607) << (27 - 23));
3911
+ model.output[21 + model.outpos] = (model.input[17 + model.inpos] >>> 23)
3912
+ | ((model.input[18 + model.inpos] & 262143) << (27 - 18));
3913
+ model.output[22 + model.outpos] = (model.input[18 + model.inpos] >>> 18)
3914
+ | ((model.input[19 + model.inpos] & 8191) << (27 - 13));
3915
+ model.output[23 + model.outpos] = (model.input[19 + model.inpos] >>> 13)
3916
+ | ((model.input[20 + model.inpos] & 255) << (27 - 8));
3917
+ model.output[24 + model.outpos] = (model.input[20 + model.inpos] >>> 8)
3918
+ | ((model.input[21 + model.inpos] & 7) << (27 - 3));
3919
+ model.output[25 + model.outpos] = ((model.input[21 + model.inpos] >>> 3) & 134217727);
3920
+ model.output[26 + model.outpos] = (model.input[21 + model.inpos] >>> 30)
3921
+ | ((model.input[22 + model.inpos] & 33554431) << (27 - 25));
3922
+ model.output[27 + model.outpos] = (model.input[22 + model.inpos] >>> 25)
3923
+ | ((model.input[23 + model.inpos] & 1048575) << (27 - 20));
3924
+ model.output[28 + model.outpos] = (model.input[23 + model.inpos] >>> 20)
3925
+ | ((model.input[24 + model.inpos] & 32767) << (27 - 15));
3926
+ model.output[29 + model.outpos] = (model.input[24 + model.inpos] >>> 15)
3927
+ | ((model.input[25 + model.inpos] & 1023) << (27 - 10));
3928
+ model.output[30 + model.outpos] = (model.input[25 + model.inpos] >>> 10)
3929
+ | ((model.input[26 + model.inpos] & 31) << (27 - 5));
3930
+ model.output[31 + model.outpos] = (model.input[26 + model.inpos] >>> 5);
3931
+ }
3932
+ function fastunpack28(model) {
3933
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 268435455);
3934
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 28)
3935
+ | ((model.input[1 + model.inpos] & 16777215) << (28 - 24));
3936
+ model.output[2 + model.outpos] = (model.input[1 + model.inpos] >>> 24)
3937
+ | ((model.input[2 + model.inpos] & 1048575) << (28 - 20));
3938
+ model.output[3 + model.outpos] = (model.input[2 + model.inpos] >>> 20)
3939
+ | ((model.input[3 + model.inpos] & 65535) << (28 - 16));
3940
+ model.output[4 + model.outpos] = (model.input[3 + model.inpos] >>> 16)
3941
+ | ((model.input[4 + model.inpos] & 4095) << (28 - 12));
3942
+ model.output[5 + model.outpos] = (model.input[4 + model.inpos] >>> 12)
3943
+ | ((model.input[5 + model.inpos] & 255) << (28 - 8));
3944
+ model.output[6 + model.outpos] = (model.input[5 + model.inpos] >>> 8)
3945
+ | ((model.input[6 + model.inpos] & 15) << (28 - 4));
3946
+ model.output[7 + model.outpos] = (model.input[6 + model.inpos] >>> 4);
3947
+ model.output[8 + model.outpos] = ((model.input[7 + model.inpos] >>> 0) & 268435455);
3948
+ model.output[9 + model.outpos] = (model.input[7 + model.inpos] >>> 28)
3949
+ | ((model.input[8 + model.inpos] & 16777215) << (28 - 24));
3950
+ model.output[10 + model.outpos] = (model.input[8 + model.inpos] >>> 24)
3951
+ | ((model.input[9 + model.inpos] & 1048575) << (28 - 20));
3952
+ model.output[11 + model.outpos] = (model.input[9 + model.inpos] >>> 20)
3953
+ | ((model.input[10 + model.inpos] & 65535) << (28 - 16));
3954
+ model.output[12 + model.outpos] = (model.input[10 + model.inpos] >>> 16)
3955
+ | ((model.input[11 + model.inpos] & 4095) << (28 - 12));
3956
+ model.output[13 + model.outpos] = (model.input[11 + model.inpos] >>> 12)
3957
+ | ((model.input[12 + model.inpos] & 255) << (28 - 8));
3958
+ model.output[14 + model.outpos] = (model.input[12 + model.inpos] >>> 8)
3959
+ | ((model.input[13 + model.inpos] & 15) << (28 - 4));
3960
+ model.output[15 + model.outpos] = (model.input[13 + model.inpos] >>> 4);
3961
+ model.output[16 + model.outpos] = ((model.input[14 + model.inpos] >>> 0) & 268435455);
3962
+ model.output[17 + model.outpos] = (model.input[14 + model.inpos] >>> 28)
3963
+ | ((model.input[15 + model.inpos] & 16777215) << (28 - 24));
3964
+ model.output[18 + model.outpos] = (model.input[15 + model.inpos] >>> 24)
3965
+ | ((model.input[16 + model.inpos] & 1048575) << (28 - 20));
3966
+ model.output[19 + model.outpos] = (model.input[16 + model.inpos] >>> 20)
3967
+ | ((model.input[17 + model.inpos] & 65535) << (28 - 16));
3968
+ model.output[20 + model.outpos] = (model.input[17 + model.inpos] >>> 16)
3969
+ | ((model.input[18 + model.inpos] & 4095) << (28 - 12));
3970
+ model.output[21 + model.outpos] = (model.input[18 + model.inpos] >>> 12)
3971
+ | ((model.input[19 + model.inpos] & 255) << (28 - 8));
3972
+ model.output[22 + model.outpos] = (model.input[19 + model.inpos] >>> 8)
3973
+ | ((model.input[20 + model.inpos] & 15) << (28 - 4));
3974
+ model.output[23 + model.outpos] = (model.input[20 + model.inpos] >>> 4);
3975
+ model.output[24 + model.outpos] = ((model.input[21 + model.inpos] >>> 0) & 268435455);
3976
+ model.output[25 + model.outpos] = (model.input[21 + model.inpos] >>> 28)
3977
+ | ((model.input[22 + model.inpos] & 16777215) << (28 - 24));
3978
+ model.output[26 + model.outpos] = (model.input[22 + model.inpos] >>> 24)
3979
+ | ((model.input[23 + model.inpos] & 1048575) << (28 - 20));
3980
+ model.output[27 + model.outpos] = (model.input[23 + model.inpos] >>> 20)
3981
+ | ((model.input[24 + model.inpos] & 65535) << (28 - 16));
3982
+ model.output[28 + model.outpos] = (model.input[24 + model.inpos] >>> 16)
3983
+ | ((model.input[25 + model.inpos] & 4095) << (28 - 12));
3984
+ model.output[29 + model.outpos] = (model.input[25 + model.inpos] >>> 12)
3985
+ | ((model.input[26 + model.inpos] & 255) << (28 - 8));
3986
+ model.output[30 + model.outpos] = (model.input[26 + model.inpos] >>> 8)
3987
+ | ((model.input[27 + model.inpos] & 15) << (28 - 4));
3988
+ model.output[31 + model.outpos] = (model.input[27 + model.inpos] >>> 4);
3989
+ }
3990
+ function fastunpack29(model) {
3991
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 536870911);
3992
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 29)
3993
+ | ((model.input[1 + model.inpos] & 67108863) << (29 - 26));
3994
+ model.output[2 + model.outpos] = (model.input[1 + model.inpos] >>> 26)
3995
+ | ((model.input[2 + model.inpos] & 8388607) << (29 - 23));
3996
+ model.output[3 + model.outpos] = (model.input[2 + model.inpos] >>> 23)
3997
+ | ((model.input[3 + model.inpos] & 1048575) << (29 - 20));
3998
+ model.output[4 + model.outpos] = (model.input[3 + model.inpos] >>> 20)
3999
+ | ((model.input[4 + model.inpos] & 131071) << (29 - 17));
4000
+ model.output[5 + model.outpos] = (model.input[4 + model.inpos] >>> 17)
4001
+ | ((model.input[5 + model.inpos] & 16383) << (29 - 14));
4002
+ model.output[6 + model.outpos] = (model.input[5 + model.inpos] >>> 14)
4003
+ | ((model.input[6 + model.inpos] & 2047) << (29 - 11));
4004
+ model.output[7 + model.outpos] = (model.input[6 + model.inpos] >>> 11)
4005
+ | ((model.input[7 + model.inpos] & 255) << (29 - 8));
4006
+ model.output[8 + model.outpos] = (model.input[7 + model.inpos] >>> 8)
4007
+ | ((model.input[8 + model.inpos] & 31) << (29 - 5));
4008
+ model.output[9 + model.outpos] = (model.input[8 + model.inpos] >>> 5)
4009
+ | ((model.input[9 + model.inpos] & 3) << (29 - 2));
4010
+ model.output[10 + model.outpos] = ((model.input[9 + model.inpos] >>> 2) & 536870911);
4011
+ model.output[11 + model.outpos] = (model.input[9 + model.inpos] >>> 31)
4012
+ | ((model.input[10 + model.inpos] & 268435455) << (29 - 28));
4013
+ model.output[12 + model.outpos] = (model.input[10 + model.inpos] >>> 28)
4014
+ | ((model.input[11 + model.inpos] & 33554431) << (29 - 25));
4015
+ model.output[13 + model.outpos] = (model.input[11 + model.inpos] >>> 25)
4016
+ | ((model.input[12 + model.inpos] & 4194303) << (29 - 22));
4017
+ model.output[14 + model.outpos] = (model.input[12 + model.inpos] >>> 22)
4018
+ | ((model.input[13 + model.inpos] & 524287) << (29 - 19));
4019
+ model.output[15 + model.outpos] = (model.input[13 + model.inpos] >>> 19)
4020
+ | ((model.input[14 + model.inpos] & 65535) << (29 - 16));
4021
+ model.output[16 + model.outpos] = (model.input[14 + model.inpos] >>> 16)
4022
+ | ((model.input[15 + model.inpos] & 8191) << (29 - 13));
4023
+ model.output[17 + model.outpos] = (model.input[15 + model.inpos] >>> 13)
4024
+ | ((model.input[16 + model.inpos] & 1023) << (29 - 10));
4025
+ model.output[18 + model.outpos] = (model.input[16 + model.inpos] >>> 10)
4026
+ | ((model.input[17 + model.inpos] & 127) << (29 - 7));
4027
+ model.output[19 + model.outpos] = (model.input[17 + model.inpos] >>> 7)
4028
+ | ((model.input[18 + model.inpos] & 15) << (29 - 4));
4029
+ model.output[20 + model.outpos] = (model.input[18 + model.inpos] >>> 4)
4030
+ | ((model.input[19 + model.inpos] & 1) << (29 - 1));
4031
+ model.output[21 + model.outpos] = ((model.input[19 + model.inpos] >>> 1) & 536870911);
4032
+ model.output[22 + model.outpos] = (model.input[19 + model.inpos] >>> 30)
4033
+ | ((model.input[20 + model.inpos] & 134217727) << (29 - 27));
4034
+ model.output[23 + model.outpos] = (model.input[20 + model.inpos] >>> 27)
4035
+ | ((model.input[21 + model.inpos] & 16777215) << (29 - 24));
4036
+ model.output[24 + model.outpos] = (model.input[21 + model.inpos] >>> 24)
4037
+ | ((model.input[22 + model.inpos] & 2097151) << (29 - 21));
4038
+ model.output[25 + model.outpos] = (model.input[22 + model.inpos] >>> 21)
4039
+ | ((model.input[23 + model.inpos] & 262143) << (29 - 18));
4040
+ model.output[26 + model.outpos] = (model.input[23 + model.inpos] >>> 18)
4041
+ | ((model.input[24 + model.inpos] & 32767) << (29 - 15));
4042
+ model.output[27 + model.outpos] = (model.input[24 + model.inpos] >>> 15)
4043
+ | ((model.input[25 + model.inpos] & 4095) << (29 - 12));
4044
+ model.output[28 + model.outpos] = (model.input[25 + model.inpos] >>> 12)
4045
+ | ((model.input[26 + model.inpos] & 511) << (29 - 9));
4046
+ model.output[29 + model.outpos] = (model.input[26 + model.inpos] >>> 9)
4047
+ | ((model.input[27 + model.inpos] & 63) << (29 - 6));
4048
+ model.output[30 + model.outpos] = (model.input[27 + model.inpos] >>> 6)
4049
+ | ((model.input[28 + model.inpos] & 7) << (29 - 3));
4050
+ model.output[31 + model.outpos] = (model.input[28 + model.inpos] >>> 3);
4051
+ }
4052
+ function fastunpack3(model) {
4053
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 7);
4054
+ model.output[1 + model.outpos] = ((model.input[model.inpos] >>> 3) & 7);
4055
+ model.output[2 + model.outpos] = ((model.input[model.inpos] >>> 6) & 7);
4056
+ model.output[3 + model.outpos] = ((model.input[model.inpos] >>> 9) & 7);
4057
+ model.output[4 + model.outpos] = ((model.input[model.inpos] >>> 12) & 7);
4058
+ model.output[5 + model.outpos] = ((model.input[model.inpos] >>> 15) & 7);
4059
+ model.output[6 + model.outpos] = ((model.input[model.inpos] >>> 18) & 7);
4060
+ model.output[7 + model.outpos] = ((model.input[model.inpos] >>> 21) & 7);
4061
+ model.output[8 + model.outpos] = ((model.input[model.inpos] >>> 24) & 7);
4062
+ model.output[9 + model.outpos] = ((model.input[model.inpos] >>> 27) & 7);
4063
+ model.output[10 + model.outpos] = (model.input[model.inpos] >>> 30)
4064
+ | ((model.input[1 + model.inpos] & 1) << (3 - 1));
4065
+ model.output[11 + model.outpos] = ((model.input[1 + model.inpos] >>> 1) & 7);
4066
+ model.output[12 + model.outpos] = ((model.input[1 + model.inpos] >>> 4) & 7);
4067
+ model.output[13 + model.outpos] = ((model.input[1 + model.inpos] >>> 7) & 7);
4068
+ model.output[14 + model.outpos] = ((model.input[1 + model.inpos] >>> 10) & 7);
4069
+ model.output[15 + model.outpos] = ((model.input[1 + model.inpos] >>> 13) & 7);
4070
+ model.output[16 + model.outpos] = ((model.input[1 + model.inpos] >>> 16) & 7);
4071
+ model.output[17 + model.outpos] = ((model.input[1 + model.inpos] >>> 19) & 7);
4072
+ model.output[18 + model.outpos] = ((model.input[1 + model.inpos] >>> 22) & 7);
4073
+ model.output[19 + model.outpos] = ((model.input[1 + model.inpos] >>> 25) & 7);
4074
+ model.output[20 + model.outpos] = ((model.input[1 + model.inpos] >>> 28) & 7);
4075
+ model.output[21 + model.outpos] = (model.input[1 + model.inpos] >>> 31)
4076
+ | ((model.input[2 + model.inpos] & 3) << (3 - 2));
4077
+ model.output[22 + model.outpos] = ((model.input[2 + model.inpos] >>> 2) & 7);
4078
+ model.output[23 + model.outpos] = ((model.input[2 + model.inpos] >>> 5) & 7);
4079
+ model.output[24 + model.outpos] = ((model.input[2 + model.inpos] >>> 8) & 7);
4080
+ model.output[25 + model.outpos] = ((model.input[2 + model.inpos] >>> 11) & 7);
4081
+ model.output[26 + model.outpos] = ((model.input[2 + model.inpos] >>> 14) & 7);
4082
+ model.output[27 + model.outpos] = ((model.input[2 + model.inpos] >>> 17) & 7);
4083
+ model.output[28 + model.outpos] = ((model.input[2 + model.inpos] >>> 20) & 7);
4084
+ model.output[29 + model.outpos] = ((model.input[2 + model.inpos] >>> 23) & 7);
4085
+ model.output[30 + model.outpos] = ((model.input[2 + model.inpos] >>> 26) & 7);
4086
+ model.output[31 + model.outpos] = (model.input[2 + model.inpos] >>> 29);
4087
+ }
4088
+ function fastunpack30(model) {
4089
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 1073741823);
4090
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 30)
4091
+ | ((model.input[1 + model.inpos] & 268435455) << (30 - 28));
4092
+ model.output[2 + model.outpos] = (model.input[1 + model.inpos] >>> 28)
4093
+ | ((model.input[2 + model.inpos] & 67108863) << (30 - 26));
4094
+ model.output[3 + model.outpos] = (model.input[2 + model.inpos] >>> 26)
4095
+ | ((model.input[3 + model.inpos] & 16777215) << (30 - 24));
4096
+ model.output[4 + model.outpos] = (model.input[3 + model.inpos] >>> 24)
4097
+ | ((model.input[4 + model.inpos] & 4194303) << (30 - 22));
4098
+ model.output[5 + model.outpos] = (model.input[4 + model.inpos] >>> 22)
4099
+ | ((model.input[5 + model.inpos] & 1048575) << (30 - 20));
4100
+ model.output[6 + model.outpos] = (model.input[5 + model.inpos] >>> 20)
4101
+ | ((model.input[6 + model.inpos] & 262143) << (30 - 18));
4102
+ model.output[7 + model.outpos] = (model.input[6 + model.inpos] >>> 18)
4103
+ | ((model.input[7 + model.inpos] & 65535) << (30 - 16));
4104
+ model.output[8 + model.outpos] = (model.input[7 + model.inpos] >>> 16)
4105
+ | ((model.input[8 + model.inpos] & 16383) << (30 - 14));
4106
+ model.output[9 + model.outpos] = (model.input[8 + model.inpos] >>> 14)
4107
+ | ((model.input[9 + model.inpos] & 4095) << (30 - 12));
4108
+ model.output[10 + model.outpos] = (model.input[9 + model.inpos] >>> 12)
4109
+ | ((model.input[10 + model.inpos] & 1023) << (30 - 10));
4110
+ model.output[11 + model.outpos] = (model.input[10 + model.inpos] >>> 10)
4111
+ | ((model.input[11 + model.inpos] & 255) << (30 - 8));
4112
+ model.output[12 + model.outpos] = (model.input[11 + model.inpos] >>> 8)
4113
+ | ((model.input[12 + model.inpos] & 63) << (30 - 6));
4114
+ model.output[13 + model.outpos] = (model.input[12 + model.inpos] >>> 6)
4115
+ | ((model.input[13 + model.inpos] & 15) << (30 - 4));
4116
+ model.output[14 + model.outpos] = (model.input[13 + model.inpos] >>> 4)
4117
+ | ((model.input[14 + model.inpos] & 3) << (30 - 2));
4118
+ model.output[15 + model.outpos] = (model.input[14 + model.inpos] >>> 2);
4119
+ model.output[16 + model.outpos] = ((model.input[15 + model.inpos] >>> 0) & 1073741823);
4120
+ model.output[17 + model.outpos] = (model.input[15 + model.inpos] >>> 30)
4121
+ | ((model.input[16 + model.inpos] & 268435455) << (30 - 28));
4122
+ model.output[18 + model.outpos] = (model.input[16 + model.inpos] >>> 28)
4123
+ | ((model.input[17 + model.inpos] & 67108863) << (30 - 26));
4124
+ model.output[19 + model.outpos] = (model.input[17 + model.inpos] >>> 26)
4125
+ | ((model.input[18 + model.inpos] & 16777215) << (30 - 24));
4126
+ model.output[20 + model.outpos] = (model.input[18 + model.inpos] >>> 24)
4127
+ | ((model.input[19 + model.inpos] & 4194303) << (30 - 22));
4128
+ model.output[21 + model.outpos] = (model.input[19 + model.inpos] >>> 22)
4129
+ | ((model.input[20 + model.inpos] & 1048575) << (30 - 20));
4130
+ model.output[22 + model.outpos] = (model.input[20 + model.inpos] >>> 20)
4131
+ | ((model.input[21 + model.inpos] & 262143) << (30 - 18));
4132
+ model.output[23 + model.outpos] = (model.input[21 + model.inpos] >>> 18)
4133
+ | ((model.input[22 + model.inpos] & 65535) << (30 - 16));
4134
+ model.output[24 + model.outpos] = (model.input[22 + model.inpos] >>> 16)
4135
+ | ((model.input[23 + model.inpos] & 16383) << (30 - 14));
4136
+ model.output[25 + model.outpos] = (model.input[23 + model.inpos] >>> 14)
4137
+ | ((model.input[24 + model.inpos] & 4095) << (30 - 12));
4138
+ model.output[26 + model.outpos] = (model.input[24 + model.inpos] >>> 12)
4139
+ | ((model.input[25 + model.inpos] & 1023) << (30 - 10));
4140
+ model.output[27 + model.outpos] = (model.input[25 + model.inpos] >>> 10)
4141
+ | ((model.input[26 + model.inpos] & 255) << (30 - 8));
4142
+ model.output[28 + model.outpos] = (model.input[26 + model.inpos] >>> 8)
4143
+ | ((model.input[27 + model.inpos] & 63) << (30 - 6));
4144
+ model.output[29 + model.outpos] = (model.input[27 + model.inpos] >>> 6)
4145
+ | ((model.input[28 + model.inpos] & 15) << (30 - 4));
4146
+ model.output[30 + model.outpos] = (model.input[28 + model.inpos] >>> 4)
4147
+ | ((model.input[29 + model.inpos] & 3) << (30 - 2));
4148
+ model.output[31 + model.outpos] = (model.input[29 + model.inpos] >>> 2);
4149
+ }
4150
+ function fastunpack31(model) {
4151
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 2147483647);
4152
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 31)
4153
+ | ((model.input[1 + model.inpos] & 1073741823) << (31 - 30));
4154
+ model.output[2 + model.outpos] = (model.input[1 + model.inpos] >>> 30)
4155
+ | ((model.input[2 + model.inpos] & 536870911) << (31 - 29));
4156
+ model.output[3 + model.outpos] = (model.input[2 + model.inpos] >>> 29)
4157
+ | ((model.input[3 + model.inpos] & 268435455) << (31 - 28));
4158
+ model.output[4 + model.outpos] = (model.input[3 + model.inpos] >>> 28)
4159
+ | ((model.input[4 + model.inpos] & 134217727) << (31 - 27));
4160
+ model.output[5 + model.outpos] = (model.input[4 + model.inpos] >>> 27)
4161
+ | ((model.input[5 + model.inpos] & 67108863) << (31 - 26));
4162
+ model.output[6 + model.outpos] = (model.input[5 + model.inpos] >>> 26)
4163
+ | ((model.input[6 + model.inpos] & 33554431) << (31 - 25));
4164
+ model.output[7 + model.outpos] = (model.input[6 + model.inpos] >>> 25)
4165
+ | ((model.input[7 + model.inpos] & 16777215) << (31 - 24));
4166
+ model.output[8 + model.outpos] = (model.input[7 + model.inpos] >>> 24)
4167
+ | ((model.input[8 + model.inpos] & 8388607) << (31 - 23));
4168
+ model.output[9 + model.outpos] = (model.input[8 + model.inpos] >>> 23)
4169
+ | ((model.input[9 + model.inpos] & 4194303) << (31 - 22));
4170
+ model.output[10 + model.outpos] = (model.input[9 + model.inpos] >>> 22)
4171
+ | ((model.input[10 + model.inpos] & 2097151) << (31 - 21));
4172
+ model.output[11 + model.outpos] = (model.input[10 + model.inpos] >>> 21)
4173
+ | ((model.input[11 + model.inpos] & 1048575) << (31 - 20));
4174
+ model.output[12 + model.outpos] = (model.input[11 + model.inpos] >>> 20)
4175
+ | ((model.input[12 + model.inpos] & 524287) << (31 - 19));
4176
+ model.output[13 + model.outpos] = (model.input[12 + model.inpos] >>> 19)
4177
+ | ((model.input[13 + model.inpos] & 262143) << (31 - 18));
4178
+ model.output[14 + model.outpos] = (model.input[13 + model.inpos] >>> 18)
4179
+ | ((model.input[14 + model.inpos] & 131071) << (31 - 17));
4180
+ model.output[15 + model.outpos] = (model.input[14 + model.inpos] >>> 17)
4181
+ | ((model.input[15 + model.inpos] & 65535) << (31 - 16));
4182
+ model.output[16 + model.outpos] = (model.input[15 + model.inpos] >>> 16)
4183
+ | ((model.input[16 + model.inpos] & 32767) << (31 - 15));
4184
+ model.output[17 + model.outpos] = (model.input[16 + model.inpos] >>> 15)
4185
+ | ((model.input[17 + model.inpos] & 16383) << (31 - 14));
4186
+ model.output[18 + model.outpos] = (model.input[17 + model.inpos] >>> 14)
4187
+ | ((model.input[18 + model.inpos] & 8191) << (31 - 13));
4188
+ model.output[19 + model.outpos] = (model.input[18 + model.inpos] >>> 13)
4189
+ | ((model.input[19 + model.inpos] & 4095) << (31 - 12));
4190
+ model.output[20 + model.outpos] = (model.input[19 + model.inpos] >>> 12)
4191
+ | ((model.input[20 + model.inpos] & 2047) << (31 - 11));
4192
+ model.output[21 + model.outpos] = (model.input[20 + model.inpos] >>> 11)
4193
+ | ((model.input[21 + model.inpos] & 1023) << (31 - 10));
4194
+ model.output[22 + model.outpos] = (model.input[21 + model.inpos] >>> 10)
4195
+ | ((model.input[22 + model.inpos] & 511) << (31 - 9));
4196
+ model.output[23 + model.outpos] = (model.input[22 + model.inpos] >>> 9)
4197
+ | ((model.input[23 + model.inpos] & 255) << (31 - 8));
4198
+ model.output[24 + model.outpos] = (model.input[23 + model.inpos] >>> 8)
4199
+ | ((model.input[24 + model.inpos] & 127) << (31 - 7));
4200
+ model.output[25 + model.outpos] = (model.input[24 + model.inpos] >>> 7)
4201
+ | ((model.input[25 + model.inpos] & 63) << (31 - 6));
4202
+ model.output[26 + model.outpos] = (model.input[25 + model.inpos] >>> 6)
4203
+ | ((model.input[26 + model.inpos] & 31) << (31 - 5));
4204
+ model.output[27 + model.outpos] = (model.input[26 + model.inpos] >>> 5)
4205
+ | ((model.input[27 + model.inpos] & 15) << (31 - 4));
4206
+ model.output[28 + model.outpos] = (model.input[27 + model.inpos] >>> 4)
4207
+ | ((model.input[28 + model.inpos] & 7) << (31 - 3));
4208
+ model.output[29 + model.outpos] = (model.input[28 + model.inpos] >>> 3)
4209
+ | ((model.input[29 + model.inpos] & 3) << (31 - 2));
4210
+ model.output[30 + model.outpos] = (model.input[29 + model.inpos] >>> 2)
4211
+ | ((model.input[30 + model.inpos] & 1) << (31 - 1));
4212
+ model.output[31 + model.outpos] = (model.input[30 + model.inpos] >>> 1);
4213
+ }
4214
+ function fastunpack32(model) {
4215
+ for (let i = 0; i < 32; i++)
4216
+ model.output[model.outpos + i] = model.input[model.inpos + i];
4217
+ }
4218
+ function fastunpack4(model) {
4219
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 15);
4220
+ model.output[1 + model.outpos] = ((model.input[model.inpos] >>> 4) & 15);
4221
+ model.output[2 + model.outpos] = ((model.input[model.inpos] >>> 8) & 15);
4222
+ model.output[3 + model.outpos] = ((model.input[model.inpos] >>> 12) & 15);
4223
+ model.output[4 + model.outpos] = ((model.input[model.inpos] >>> 16) & 15);
4224
+ model.output[5 + model.outpos] = ((model.input[model.inpos] >>> 20) & 15);
4225
+ model.output[6 + model.outpos] = ((model.input[model.inpos] >>> 24) & 15);
4226
+ model.output[7 + model.outpos] = (model.input[model.inpos] >>> 28);
4227
+ model.output[8 + model.outpos] = ((model.input[1 + model.inpos] >>> 0) & 15);
4228
+ model.output[9 + model.outpos] = ((model.input[1 + model.inpos] >>> 4) & 15);
4229
+ model.output[10 + model.outpos] = ((model.input[1 + model.inpos] >>> 8) & 15);
4230
+ model.output[11 + model.outpos] = ((model.input[1 + model.inpos] >>> 12) & 15);
4231
+ model.output[12 + model.outpos] = ((model.input[1 + model.inpos] >>> 16) & 15);
4232
+ model.output[13 + model.outpos] = ((model.input[1 + model.inpos] >>> 20) & 15);
4233
+ model.output[14 + model.outpos] = ((model.input[1 + model.inpos] >>> 24) & 15);
4234
+ model.output[15 + model.outpos] = (model.input[1 + model.inpos] >>> 28);
4235
+ model.output[16 + model.outpos] = ((model.input[2 + model.inpos] >>> 0) & 15);
4236
+ model.output[17 + model.outpos] = ((model.input[2 + model.inpos] >>> 4) & 15);
4237
+ model.output[18 + model.outpos] = ((model.input[2 + model.inpos] >>> 8) & 15);
4238
+ model.output[19 + model.outpos] = ((model.input[2 + model.inpos] >>> 12) & 15);
4239
+ model.output[20 + model.outpos] = ((model.input[2 + model.inpos] >>> 16) & 15);
4240
+ model.output[21 + model.outpos] = ((model.input[2 + model.inpos] >>> 20) & 15);
4241
+ model.output[22 + model.outpos] = ((model.input[2 + model.inpos] >>> 24) & 15);
4242
+ model.output[23 + model.outpos] = (model.input[2 + model.inpos] >>> 28);
4243
+ model.output[24 + model.outpos] = ((model.input[3 + model.inpos] >>> 0) & 15);
4244
+ model.output[25 + model.outpos] = ((model.input[3 + model.inpos] >>> 4) & 15);
4245
+ model.output[26 + model.outpos] = ((model.input[3 + model.inpos] >>> 8) & 15);
4246
+ model.output[27 + model.outpos] = ((model.input[3 + model.inpos] >>> 12) & 15);
4247
+ model.output[28 + model.outpos] = ((model.input[3 + model.inpos] >>> 16) & 15);
4248
+ model.output[29 + model.outpos] = ((model.input[3 + model.inpos] >>> 20) & 15);
4249
+ model.output[30 + model.outpos] = ((model.input[3 + model.inpos] >>> 24) & 15);
4250
+ model.output[31 + model.outpos] = (model.input[3 + model.inpos] >>> 28);
4251
+ }
4252
+ function fastunpack5(model) {
4253
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 31);
4254
+ model.output[1 + model.outpos] = ((model.input[model.inpos] >>> 5) & 31);
4255
+ model.output[2 + model.outpos] = ((model.input[model.inpos] >>> 10) & 31);
4256
+ model.output[3 + model.outpos] = ((model.input[model.inpos] >>> 15) & 31);
4257
+ model.output[4 + model.outpos] = ((model.input[model.inpos] >>> 20) & 31);
4258
+ model.output[5 + model.outpos] = ((model.input[model.inpos] >>> 25) & 31);
4259
+ model.output[6 + model.outpos] = (model.input[model.inpos] >>> 30)
4260
+ | ((model.input[1 + model.inpos] & 7) << (5 - 3));
4261
+ model.output[7 + model.outpos] = ((model.input[1 + model.inpos] >>> 3) & 31);
4262
+ model.output[8 + model.outpos] = ((model.input[1 + model.inpos] >>> 8) & 31);
4263
+ model.output[9 + model.outpos] = ((model.input[1 + model.inpos] >>> 13) & 31);
4264
+ model.output[10 + model.outpos] = ((model.input[1 + model.inpos] >>> 18) & 31);
4265
+ model.output[11 + model.outpos] = ((model.input[1 + model.inpos] >>> 23) & 31);
4266
+ model.output[12 + model.outpos] = (model.input[1 + model.inpos] >>> 28)
4267
+ | ((model.input[2 + model.inpos] & 1) << (5 - 1));
4268
+ model.output[13 + model.outpos] = ((model.input[2 + model.inpos] >>> 1) & 31);
4269
+ model.output[14 + model.outpos] = ((model.input[2 + model.inpos] >>> 6) & 31);
4270
+ model.output[15 + model.outpos] = ((model.input[2 + model.inpos] >>> 11) & 31);
4271
+ model.output[16 + model.outpos] = ((model.input[2 + model.inpos] >>> 16) & 31);
4272
+ model.output[17 + model.outpos] = ((model.input[2 + model.inpos] >>> 21) & 31);
4273
+ model.output[18 + model.outpos] = ((model.input[2 + model.inpos] >>> 26) & 31);
4274
+ model.output[19 + model.outpos] = (model.input[2 + model.inpos] >>> 31)
4275
+ | ((model.input[3 + model.inpos] & 15) << (5 - 4));
4276
+ model.output[20 + model.outpos] = ((model.input[3 + model.inpos] >>> 4) & 31);
4277
+ model.output[21 + model.outpos] = ((model.input[3 + model.inpos] >>> 9) & 31);
4278
+ model.output[22 + model.outpos] = ((model.input[3 + model.inpos] >>> 14) & 31);
4279
+ model.output[23 + model.outpos] = ((model.input[3 + model.inpos] >>> 19) & 31);
4280
+ model.output[24 + model.outpos] = ((model.input[3 + model.inpos] >>> 24) & 31);
4281
+ model.output[25 + model.outpos] = (model.input[3 + model.inpos] >>> 29)
4282
+ | ((model.input[4 + model.inpos] & 3) << (5 - 2));
4283
+ model.output[26 + model.outpos] = ((model.input[4 + model.inpos] >>> 2) & 31);
4284
+ model.output[27 + model.outpos] = ((model.input[4 + model.inpos] >>> 7) & 31);
4285
+ model.output[28 + model.outpos] = ((model.input[4 + model.inpos] >>> 12) & 31);
4286
+ model.output[29 + model.outpos] = ((model.input[4 + model.inpos] >>> 17) & 31);
4287
+ model.output[30 + model.outpos] = ((model.input[4 + model.inpos] >>> 22) & 31);
4288
+ model.output[31 + model.outpos] = (model.input[4 + model.inpos] >>> 27);
4289
+ }
4290
+ function fastunpack6(model) {
4291
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 63);
4292
+ model.output[1 + model.outpos] = ((model.input[model.inpos] >>> 6) & 63);
4293
+ model.output[2 + model.outpos] = ((model.input[model.inpos] >>> 12) & 63);
4294
+ model.output[3 + model.outpos] = ((model.input[model.inpos] >>> 18) & 63);
4295
+ model.output[4 + model.outpos] = ((model.input[model.inpos] >>> 24) & 63);
4296
+ model.output[5 + model.outpos] = (model.input[model.inpos] >>> 30)
4297
+ | ((model.input[1 + model.inpos] & 15) << (6 - 4));
4298
+ model.output[6 + model.outpos] = ((model.input[1 + model.inpos] >>> 4) & 63);
4299
+ model.output[7 + model.outpos] = ((model.input[1 + model.inpos] >>> 10) & 63);
4300
+ model.output[8 + model.outpos] = ((model.input[1 + model.inpos] >>> 16) & 63);
4301
+ model.output[9 + model.outpos] = ((model.input[1 + model.inpos] >>> 22) & 63);
4302
+ model.output[10 + model.outpos] = (model.input[1 + model.inpos] >>> 28)
4303
+ | ((model.input[2 + model.inpos] & 3) << (6 - 2));
4304
+ model.output[11 + model.outpos] = ((model.input[2 + model.inpos] >>> 2) & 63);
4305
+ model.output[12 + model.outpos] = ((model.input[2 + model.inpos] >>> 8) & 63);
4306
+ model.output[13 + model.outpos] = ((model.input[2 + model.inpos] >>> 14) & 63);
4307
+ model.output[14 + model.outpos] = ((model.input[2 + model.inpos] >>> 20) & 63);
4308
+ model.output[15 + model.outpos] = (model.input[2 + model.inpos] >>> 26);
4309
+ model.output[16 + model.outpos] = ((model.input[3 + model.inpos] >>> 0) & 63);
4310
+ model.output[17 + model.outpos] = ((model.input[3 + model.inpos] >>> 6) & 63);
4311
+ model.output[18 + model.outpos] = ((model.input[3 + model.inpos] >>> 12) & 63);
4312
+ model.output[19 + model.outpos] = ((model.input[3 + model.inpos] >>> 18) & 63);
4313
+ model.output[20 + model.outpos] = ((model.input[3 + model.inpos] >>> 24) & 63);
4314
+ model.output[21 + model.outpos] = (model.input[3 + model.inpos] >>> 30)
4315
+ | ((model.input[4 + model.inpos] & 15) << (6 - 4));
4316
+ model.output[22 + model.outpos] = ((model.input[4 + model.inpos] >>> 4) & 63);
4317
+ model.output[23 + model.outpos] = ((model.input[4 + model.inpos] >>> 10) & 63);
4318
+ model.output[24 + model.outpos] = ((model.input[4 + model.inpos] >>> 16) & 63);
4319
+ model.output[25 + model.outpos] = ((model.input[4 + model.inpos] >>> 22) & 63);
4320
+ model.output[26 + model.outpos] = (model.input[4 + model.inpos] >>> 28)
4321
+ | ((model.input[5 + model.inpos] & 3) << (6 - 2));
4322
+ model.output[27 + model.outpos] = ((model.input[5 + model.inpos] >>> 2) & 63);
4323
+ model.output[28 + model.outpos] = ((model.input[5 + model.inpos] >>> 8) & 63);
4324
+ model.output[29 + model.outpos] = ((model.input[5 + model.inpos] >>> 14) & 63);
4325
+ model.output[30 + model.outpos] = ((model.input[5 + model.inpos] >>> 20) & 63);
4326
+ model.output[31 + model.outpos] = (model.input[5 + model.inpos] >>> 26);
4327
+ }
4328
+ function fastunpack7(model) {
4329
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 127);
4330
+ model.output[1 + model.outpos] = ((model.input[model.inpos] >>> 7) & 127);
4331
+ model.output[2 + model.outpos] = ((model.input[model.inpos] >>> 14) & 127);
4332
+ model.output[3 + model.outpos] = ((model.input[model.inpos] >>> 21) & 127);
4333
+ model.output[4 + model.outpos] = (model.input[model.inpos] >>> 28)
4334
+ | ((model.input[1 + model.inpos] & 7) << (7 - 3));
4335
+ model.output[5 + model.outpos] = ((model.input[1 + model.inpos] >>> 3) & 127);
4336
+ model.output[6 + model.outpos] = ((model.input[1 + model.inpos] >>> 10) & 127);
4337
+ model.output[7 + model.outpos] = ((model.input[1 + model.inpos] >>> 17) & 127);
4338
+ model.output[8 + model.outpos] = ((model.input[1 + model.inpos] >>> 24) & 127);
4339
+ model.output[9 + model.outpos] = (model.input[1 + model.inpos] >>> 31)
4340
+ | ((model.input[2 + model.inpos] & 63) << (7 - 6));
4341
+ model.output[10 + model.outpos] = ((model.input[2 + model.inpos] >>> 6) & 127);
4342
+ model.output[11 + model.outpos] = ((model.input[2 + model.inpos] >>> 13) & 127);
4343
+ model.output[12 + model.outpos] = ((model.input[2 + model.inpos] >>> 20) & 127);
4344
+ model.output[13 + model.outpos] = (model.input[2 + model.inpos] >>> 27)
4345
+ | ((model.input[3 + model.inpos] & 3) << (7 - 2));
4346
+ model.output[14 + model.outpos] = ((model.input[3 + model.inpos] >>> 2) & 127);
4347
+ model.output[15 + model.outpos] = ((model.input[3 + model.inpos] >>> 9) & 127);
4348
+ model.output[16 + model.outpos] = ((model.input[3 + model.inpos] >>> 16) & 127);
4349
+ model.output[17 + model.outpos] = ((model.input[3 + model.inpos] >>> 23) & 127);
4350
+ model.output[18 + model.outpos] = (model.input[3 + model.inpos] >>> 30)
4351
+ | ((model.input[4 + model.inpos] & 31) << (7 - 5));
4352
+ model.output[19 + model.outpos] = ((model.input[4 + model.inpos] >>> 5) & 127);
4353
+ model.output[20 + model.outpos] = ((model.input[4 + model.inpos] >>> 12) & 127);
4354
+ model.output[21 + model.outpos] = ((model.input[4 + model.inpos] >>> 19) & 127);
4355
+ model.output[22 + model.outpos] = (model.input[4 + model.inpos] >>> 26)
4356
+ | ((model.input[5 + model.inpos] & 1) << (7 - 1));
4357
+ model.output[23 + model.outpos] = ((model.input[5 + model.inpos] >>> 1) & 127);
4358
+ model.output[24 + model.outpos] = ((model.input[5 + model.inpos] >>> 8) & 127);
4359
+ model.output[25 + model.outpos] = ((model.input[5 + model.inpos] >>> 15) & 127);
4360
+ model.output[26 + model.outpos] = ((model.input[5 + model.inpos] >>> 22) & 127);
4361
+ model.output[27 + model.outpos] = (model.input[5 + model.inpos] >>> 29)
4362
+ | ((model.input[6 + model.inpos] & 15) << (7 - 4));
4363
+ model.output[28 + model.outpos] = ((model.input[6 + model.inpos] >>> 4) & 127);
4364
+ model.output[29 + model.outpos] = ((model.input[6 + model.inpos] >>> 11) & 127);
4365
+ model.output[30 + model.outpos] = ((model.input[6 + model.inpos] >>> 18) & 127);
4366
+ model.output[31 + model.outpos] = (model.input[6 + model.inpos] >>> 25);
4367
+ }
4368
+ function fastunpack8(model) {
4369
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 255);
4370
+ model.output[1 + model.outpos] = ((model.input[model.inpos] >>> 8) & 255);
4371
+ model.output[2 + model.outpos] = ((model.input[model.inpos] >>> 16) & 255);
4372
+ model.output[3 + model.outpos] = (model.input[model.inpos] >>> 24);
4373
+ model.output[4 + model.outpos] = ((model.input[1 + model.inpos] >>> 0) & 255);
4374
+ model.output[5 + model.outpos] = ((model.input[1 + model.inpos] >>> 8) & 255);
4375
+ model.output[6 + model.outpos] = ((model.input[1 + model.inpos] >>> 16) & 255);
4376
+ model.output[7 + model.outpos] = (model.input[1 + model.inpos] >>> 24);
4377
+ model.output[8 + model.outpos] = ((model.input[2 + model.inpos] >>> 0) & 255);
4378
+ model.output[9 + model.outpos] = ((model.input[2 + model.inpos] >>> 8) & 255);
4379
+ model.output[10 + model.outpos] = ((model.input[2 + model.inpos] >>> 16) & 255);
4380
+ model.output[11 + model.outpos] = (model.input[2 + model.inpos] >>> 24);
4381
+ model.output[12 + model.outpos] = ((model.input[3 + model.inpos] >>> 0) & 255);
4382
+ model.output[13 + model.outpos] = ((model.input[3 + model.inpos] >>> 8) & 255);
4383
+ model.output[14 + model.outpos] = ((model.input[3 + model.inpos] >>> 16) & 255);
4384
+ model.output[15 + model.outpos] = (model.input[3 + model.inpos] >>> 24);
4385
+ model.output[16 + model.outpos] = ((model.input[4 + model.inpos] >>> 0) & 255);
4386
+ model.output[17 + model.outpos] = ((model.input[4 + model.inpos] >>> 8) & 255);
4387
+ model.output[18 + model.outpos] = ((model.input[4 + model.inpos] >>> 16) & 255);
4388
+ model.output[19 + model.outpos] = (model.input[4 + model.inpos] >>> 24);
4389
+ model.output[20 + model.outpos] = ((model.input[5 + model.inpos] >>> 0) & 255);
4390
+ model.output[21 + model.outpos] = ((model.input[5 + model.inpos] >>> 8) & 255);
4391
+ model.output[22 + model.outpos] = ((model.input[5 + model.inpos] >>> 16) & 255);
4392
+ model.output[23 + model.outpos] = (model.input[5 + model.inpos] >>> 24);
4393
+ model.output[24 + model.outpos] = ((model.input[6 + model.inpos] >>> 0) & 255);
4394
+ model.output[25 + model.outpos] = ((model.input[6 + model.inpos] >>> 8) & 255);
4395
+ model.output[26 + model.outpos] = ((model.input[6 + model.inpos] >>> 16) & 255);
4396
+ model.output[27 + model.outpos] = (model.input[6 + model.inpos] >>> 24);
4397
+ model.output[28 + model.outpos] = ((model.input[7 + model.inpos] >>> 0) & 255);
4398
+ model.output[29 + model.outpos] = ((model.input[7 + model.inpos] >>> 8) & 255);
4399
+ model.output[30 + model.outpos] = ((model.input[7 + model.inpos] >>> 16) & 255);
4400
+ model.output[31 + model.outpos] = (model.input[7 + model.inpos] >>> 24);
4401
+ }
4402
+ function fastunpack9(model) {
4403
+ model.output[model.outpos] = ((model.input[model.inpos] >>> 0) & 511);
4404
+ model.output[1 + model.outpos] = ((model.input[model.inpos] >>> 9) & 511);
4405
+ model.output[2 + model.outpos] = ((model.input[model.inpos] >>> 18) & 511);
4406
+ model.output[3 + model.outpos] = (model.input[model.inpos] >>> 27)
4407
+ | ((model.input[1 + model.inpos] & 15) << (9 - 4));
4408
+ model.output[4 + model.outpos] = ((model.input[1 + model.inpos] >>> 4) & 511);
4409
+ model.output[5 + model.outpos] = ((model.input[1 + model.inpos] >>> 13) & 511);
4410
+ model.output[6 + model.outpos] = ((model.input[1 + model.inpos] >>> 22) & 511);
4411
+ model.output[7 + model.outpos] = (model.input[1 + model.inpos] >>> 31)
4412
+ | ((model.input[2 + model.inpos] & 255) << (9 - 8));
4413
+ model.output[8 + model.outpos] = ((model.input[2 + model.inpos] >>> 8) & 511);
4414
+ model.output[9 + model.outpos] = ((model.input[2 + model.inpos] >>> 17) & 511);
4415
+ model.output[10 + model.outpos] = (model.input[2 + model.inpos] >>> 26)
4416
+ | ((model.input[3 + model.inpos] & 7) << (9 - 3));
4417
+ model.output[11 + model.outpos] = ((model.input[3 + model.inpos] >>> 3) & 511);
4418
+ model.output[12 + model.outpos] = ((model.input[3 + model.inpos] >>> 12) & 511);
4419
+ model.output[13 + model.outpos] = ((model.input[3 + model.inpos] >>> 21) & 511);
4420
+ model.output[14 + model.outpos] = (model.input[3 + model.inpos] >>> 30)
4421
+ | ((model.input[4 + model.inpos] & 127) << (9 - 7));
4422
+ model.output[15 + model.outpos] = ((model.input[4 + model.inpos] >>> 7) & 511);
4423
+ model.output[16 + model.outpos] = ((model.input[4 + model.inpos] >>> 16) & 511);
4424
+ model.output[17 + model.outpos] = (model.input[4 + model.inpos] >>> 25)
4425
+ | ((model.input[5 + model.inpos] & 3) << (9 - 2));
4426
+ model.output[18 + model.outpos] = ((model.input[5 + model.inpos] >>> 2) & 511);
4427
+ model.output[19 + model.outpos] = ((model.input[5 + model.inpos] >>> 11) & 511);
4428
+ model.output[20 + model.outpos] = ((model.input[5 + model.inpos] >>> 20) & 511);
4429
+ model.output[21 + model.outpos] = (model.input[5 + model.inpos] >>> 29)
4430
+ | ((model.input[6 + model.inpos] & 63) << (9 - 6));
4431
+ model.output[22 + model.outpos] = ((model.input[6 + model.inpos] >>> 6) & 511);
4432
+ model.output[23 + model.outpos] = ((model.input[6 + model.inpos] >>> 15) & 511);
4433
+ model.output[24 + model.outpos] = (model.input[6 + model.inpos] >>> 24)
4434
+ | ((model.input[7 + model.inpos] & 1) << (9 - 1));
4435
+ model.output[25 + model.outpos] = ((model.input[7 + model.inpos] >>> 1) & 511);
4436
+ model.output[26 + model.outpos] = ((model.input[7 + model.inpos] >>> 10) & 511);
4437
+ model.output[27 + model.outpos] = ((model.input[7 + model.inpos] >>> 19) & 511);
4438
+ model.output[28 + model.outpos] = (model.input[7 + model.inpos] >>> 28)
4439
+ | ((model.input[8 + model.inpos] & 31) << (9 - 5));
4440
+ model.output[29 + model.outpos] = ((model.input[8 + model.inpos] >>> 5) & 511);
4441
+ model.output[30 + model.outpos] = ((model.input[8 + model.inpos] >>> 14) & 511);
4442
+ model.output[31 + model.outpos] = (model.input[8 + model.inpos] >>> 23);
4443
+ }
4444
+ //# sourceMappingURL=bitpacking.js.map