@maplibre/mlt 0.0.1-alpha.10

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 (242) 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 +3930 -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 +148 -0
  16. package/dist/encodings/fastpfor/fastpfor.js.map +1 -0
  17. package/dist/encodings/fastpfor/fastpfor.spec.d.ts +1 -0
  18. package/dist/encodings/fastpfor/fastpfor.spec.js +160 -0
  19. package/dist/encodings/fastpfor/fastpfor.spec.js.map +1 -0
  20. package/dist/encodings/fastpfor/index.d.ts +20 -0
  21. package/dist/encodings/fastpfor/index.js +50 -0
  22. package/dist/encodings/fastpfor/index.js.map +1 -0
  23. package/dist/encodings/fastpfor/util.d.ts +2 -0
  24. package/dist/encodings/fastpfor/util.js +16 -0
  25. package/dist/encodings/fastpfor/util.js.map +1 -0
  26. package/dist/encodings/fastpfor/varint.d.ts +18 -0
  27. package/dist/encodings/fastpfor/varint.js +125 -0
  28. package/dist/encodings/fastpfor/varint.js.map +1 -0
  29. package/dist/encodings/fsstDecoder.d.ts +9 -0
  30. package/dist/encodings/fsstDecoder.js +34 -0
  31. package/dist/encodings/fsstDecoder.js.map +1 -0
  32. package/dist/encodings/geometryDecoder.d.ts +5 -0
  33. package/dist/encodings/geometryDecoder.js +441 -0
  34. package/dist/encodings/geometryDecoder.js.map +1 -0
  35. package/dist/encodings/geometryDecoder.spec.d.ts +1 -0
  36. package/dist/encodings/geometryDecoder.spec.js +7 -0
  37. package/dist/encodings/geometryDecoder.spec.js.map +1 -0
  38. package/dist/encodings/geometryScaling.d.ts +6 -0
  39. package/dist/encodings/geometryScaling.js +3 -0
  40. package/dist/encodings/geometryScaling.js.map +1 -0
  41. package/dist/encodings/intWrapper.d.ts +8 -0
  42. package/dist/encodings/intWrapper.js +23 -0
  43. package/dist/encodings/intWrapper.js.map +1 -0
  44. package/dist/encodings/integerDecodingUtils.d.ts +46 -0
  45. package/dist/encodings/integerDecodingUtils.js +699 -0
  46. package/dist/encodings/integerDecodingUtils.js.map +1 -0
  47. package/dist/encodings/integerDecodingUtils.spec.d.ts +1 -0
  48. package/dist/encodings/integerDecodingUtils.spec.js +63 -0
  49. package/dist/encodings/integerDecodingUtils.spec.js.map +1 -0
  50. package/dist/encodings/integerStreamDecoder.d.ts +26 -0
  51. package/dist/encodings/integerStreamDecoder.js +249 -0
  52. package/dist/encodings/integerStreamDecoder.js.map +1 -0
  53. package/dist/encodings/propertyDecoder.d.ts +4 -0
  54. package/dist/encodings/propertyDecoder.js +146 -0
  55. package/dist/encodings/propertyDecoder.js.map +1 -0
  56. package/dist/encodings/stringDecoder.d.ts +11 -0
  57. package/dist/encodings/stringDecoder.js +149 -0
  58. package/dist/encodings/stringDecoder.js.map +1 -0
  59. package/dist/index.d.ts +11 -0
  60. package/dist/index.js +19 -0
  61. package/dist/index.js.map +1 -0
  62. package/dist/metadata/tile/dictionaryType.d.ts +8 -0
  63. package/dist/metadata/tile/dictionaryType.js +13 -0
  64. package/dist/metadata/tile/dictionaryType.js.map +1 -0
  65. package/dist/metadata/tile/lengthType.d.ts +9 -0
  66. package/dist/metadata/tile/lengthType.js +14 -0
  67. package/dist/metadata/tile/lengthType.js.map +1 -0
  68. package/dist/metadata/tile/logicalLevelTechnique.d.ts +8 -0
  69. package/dist/metadata/tile/logicalLevelTechnique.js +15 -0
  70. package/dist/metadata/tile/logicalLevelTechnique.js.map +1 -0
  71. package/dist/metadata/tile/logicalStreamType.d.ts +12 -0
  72. package/dist/metadata/tile/logicalStreamType.js +24 -0
  73. package/dist/metadata/tile/logicalStreamType.js.map +1 -0
  74. package/dist/metadata/tile/mortonEncodedStreamMetadata.d.ts +15 -0
  75. package/dist/metadata/tile/mortonEncodedStreamMetadata.js +31 -0
  76. package/dist/metadata/tile/mortonEncodedStreamMetadata.js.map +1 -0
  77. package/dist/metadata/tile/offsetType.d.ts +6 -0
  78. package/dist/metadata/tile/offsetType.js +11 -0
  79. package/dist/metadata/tile/offsetType.js.map +1 -0
  80. package/dist/metadata/tile/physicalLevelTechnique.d.ts +17 -0
  81. package/dist/metadata/tile/physicalLevelTechnique.js +22 -0
  82. package/dist/metadata/tile/physicalLevelTechnique.js.map +1 -0
  83. package/dist/metadata/tile/physicalStreamType.d.ts +6 -0
  84. package/dist/metadata/tile/physicalStreamType.js +11 -0
  85. package/dist/metadata/tile/physicalStreamType.js.map +1 -0
  86. package/dist/metadata/tile/rleEncodedStreamMetadata.d.ts +20 -0
  87. package/dist/metadata/tile/rleEncodedStreamMetadata.js +36 -0
  88. package/dist/metadata/tile/rleEncodedStreamMetadata.js.map +1 -0
  89. package/dist/metadata/tile/scalarType.d.ts +12 -0
  90. package/dist/metadata/tile/scalarType.js +17 -0
  91. package/dist/metadata/tile/scalarType.js.map +1 -0
  92. package/dist/metadata/tile/streamMetadata.d.ts +23 -0
  93. package/dist/metadata/tile/streamMetadata.js +78 -0
  94. package/dist/metadata/tile/streamMetadata.js.map +1 -0
  95. package/dist/metadata/tile/streamMetadataDecoder.d.ts +5 -0
  96. package/dist/metadata/tile/streamMetadataDecoder.js +24 -0
  97. package/dist/metadata/tile/streamMetadataDecoder.js.map +1 -0
  98. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.d.ts +10 -0
  99. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js +123 -0
  100. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js.map +1 -0
  101. package/dist/metadata/tileset/tilesetMetadata.d.ts +80 -0
  102. package/dist/metadata/tileset/tilesetMetadata.js +32 -0
  103. package/dist/metadata/tileset/tilesetMetadata.js.map +1 -0
  104. package/dist/metadata/tileset/typeMap.d.ts +38 -0
  105. package/dist/metadata/tileset/typeMap.js +193 -0
  106. package/dist/metadata/tileset/typeMap.js.map +1 -0
  107. package/dist/mltDecoder.d.ts +11 -0
  108. package/dist/mltDecoder.js +149 -0
  109. package/dist/mltDecoder.js.map +1 -0
  110. package/dist/mltDecoder.spec.d.ts +1 -0
  111. package/dist/mltDecoder.spec.js +142 -0
  112. package/dist/mltDecoder.spec.js.map +1 -0
  113. package/dist/mltMetadata.d.ts +40 -0
  114. package/dist/mltMetadata.js +34 -0
  115. package/dist/mltMetadata.js.map +1 -0
  116. package/dist/vector/constant/intConstVector.d.ts +19 -0
  117. package/dist/vector/constant/intConstVector.js +90 -0
  118. package/dist/vector/constant/intConstVector.js.map +1 -0
  119. package/dist/vector/constant/longConstVector.d.ts +19 -0
  120. package/dist/vector/constant/longConstVector.js +88 -0
  121. package/dist/vector/constant/longConstVector.js.map +1 -0
  122. package/dist/vector/dictionary/stringDictionaryVector.d.ts +22 -0
  123. package/dist/vector/dictionary/stringDictionaryVector.js +193 -0
  124. package/dist/vector/dictionary/stringDictionaryVector.js.map +1 -0
  125. package/dist/vector/dictionary/stringDictionaryVector.spec.d.ts +1 -0
  126. package/dist/vector/dictionary/stringDictionaryVector.spec.js +49 -0
  127. package/dist/vector/dictionary/stringDictionaryVector.spec.js.map +1 -0
  128. package/dist/vector/featureTable.d.ts +33 -0
  129. package/dist/vector/featureTable.js +109 -0
  130. package/dist/vector/featureTable.js.map +1 -0
  131. package/dist/vector/filter/constSelectionVector.d.ts +0 -0
  132. package/dist/vector/filter/constSelectionVector.js +1 -0
  133. package/dist/vector/filter/constSelectionVector.js.map +1 -0
  134. package/dist/vector/filter/flatSelectionVector.d.ts +16 -0
  135. package/dist/vector/filter/flatSelectionVector.js +44 -0
  136. package/dist/vector/filter/flatSelectionVector.js.map +1 -0
  137. package/dist/vector/filter/selectionVector.d.ts +8 -0
  138. package/dist/vector/filter/selectionVector.js +3 -0
  139. package/dist/vector/filter/selectionVector.js.map +1 -0
  140. package/dist/vector/filter/selectionVectorUtils.d.ts +7 -0
  141. package/dist/vector/filter/selectionVectorUtils.js +44 -0
  142. package/dist/vector/filter/selectionVectorUtils.js.map +1 -0
  143. package/dist/vector/filter/sequenceSelectionVector.d.ts +0 -0
  144. package/dist/vector/filter/sequenceSelectionVector.js +1 -0
  145. package/dist/vector/filter/sequenceSelectionVector.js.map +1 -0
  146. package/dist/vector/fixedSizeVector.d.ts +3 -0
  147. package/dist/vector/fixedSizeVector.js +11 -0
  148. package/dist/vector/fixedSizeVector.js.map +1 -0
  149. package/dist/vector/flat/bitVector.d.ts +14 -0
  150. package/dist/vector/flat/bitVector.js +40 -0
  151. package/dist/vector/flat/bitVector.js.map +1 -0
  152. package/dist/vector/flat/booleanFlatVector.d.ts +20 -0
  153. package/dist/vector/flat/booleanFlatVector.js +55 -0
  154. package/dist/vector/flat/booleanFlatVector.js.map +1 -0
  155. package/dist/vector/flat/doubleFlatVector.d.ts +17 -0
  156. package/dist/vector/flat/doubleFlatVector.js +109 -0
  157. package/dist/vector/flat/doubleFlatVector.js.map +1 -0
  158. package/dist/vector/flat/floatFlatVector.d.ts +17 -0
  159. package/dist/vector/flat/floatFlatVector.js +109 -0
  160. package/dist/vector/flat/floatFlatVector.js.map +1 -0
  161. package/dist/vector/flat/intFlatVector.d.ts +17 -0
  162. package/dist/vector/flat/intFlatVector.js +122 -0
  163. package/dist/vector/flat/intFlatVector.js.map +1 -0
  164. package/dist/vector/flat/longFlatVector.d.ts +17 -0
  165. package/dist/vector/flat/longFlatVector.js +123 -0
  166. package/dist/vector/flat/longFlatVector.js.map +1 -0
  167. package/dist/vector/flat/stringFlatVector.d.ts +20 -0
  168. package/dist/vector/flat/stringFlatVector.js +177 -0
  169. package/dist/vector/flat/stringFlatVector.js.map +1 -0
  170. package/dist/vector/flat/stringFlatVector.spec.d.ts +1 -0
  171. package/dist/vector/flat/stringFlatVector.spec.js +46 -0
  172. package/dist/vector/flat/stringFlatVector.spec.js.map +1 -0
  173. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.d.ts +27 -0
  174. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js +123 -0
  175. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js.map +1 -0
  176. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.d.ts +1 -0
  177. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js +33 -0
  178. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js.map +1 -0
  179. package/dist/vector/geometry/constGeometryVector.d.ts +18 -0
  180. package/dist/vector/geometry/constGeometryVector.js +54 -0
  181. package/dist/vector/geometry/constGeometryVector.js.map +1 -0
  182. package/dist/vector/geometry/constGpuVector.d.ts +15 -0
  183. package/dist/vector/geometry/constGpuVector.js +68 -0
  184. package/dist/vector/geometry/constGpuVector.js.map +1 -0
  185. package/dist/vector/geometry/flatGeometryVector.d.ts +17 -0
  186. package/dist/vector/geometry/flatGeometryVector.js +65 -0
  187. package/dist/vector/geometry/flatGeometryVector.js.map +1 -0
  188. package/dist/vector/geometry/flatGpuVector.d.ts +14 -0
  189. package/dist/vector/geometry/flatGpuVector.js +68 -0
  190. package/dist/vector/geometry/flatGpuVector.js.map +1 -0
  191. package/dist/vector/geometry/geometryType.d.ts +13 -0
  192. package/dist/vector/geometry/geometryType.js +19 -0
  193. package/dist/vector/geometry/geometryType.js.map +1 -0
  194. package/dist/vector/geometry/geometryVector.d.ts +37 -0
  195. package/dist/vector/geometry/geometryVector.js +73 -0
  196. package/dist/vector/geometry/geometryVector.js.map +1 -0
  197. package/dist/vector/geometry/geometryVectorConverter.d.ts +2 -0
  198. package/dist/vector/geometry/geometryVectorConverter.js +305 -0
  199. package/dist/vector/geometry/geometryVectorConverter.js.map +1 -0
  200. package/dist/vector/geometry/gpuVector.d.ts +26 -0
  201. package/dist/vector/geometry/gpuVector.js +129 -0
  202. package/dist/vector/geometry/gpuVector.js.map +1 -0
  203. package/dist/vector/geometry/point.d.ts +195 -0
  204. package/dist/vector/geometry/point.js +310 -0
  205. package/dist/vector/geometry/point.js.map +1 -0
  206. package/dist/vector/geometry/spaceFillingCurve.d.ts +22 -0
  207. package/dist/vector/geometry/spaceFillingCurve.js +34 -0
  208. package/dist/vector/geometry/spaceFillingCurve.js.map +1 -0
  209. package/dist/vector/geometry/topologyVector.d.ts +9 -0
  210. package/dist/vector/geometry/topologyVector.js +24 -0
  211. package/dist/vector/geometry/topologyVector.js.map +1 -0
  212. package/dist/vector/geometry/vertexBufferType.d.ts +5 -0
  213. package/dist/vector/geometry/vertexBufferType.js +10 -0
  214. package/dist/vector/geometry/vertexBufferType.js.map +1 -0
  215. package/dist/vector/geometry/zOrderCurve.d.ts +17 -0
  216. package/dist/vector/geometry/zOrderCurve.js +44 -0
  217. package/dist/vector/geometry/zOrderCurve.js.map +1 -0
  218. package/dist/vector/geometry/zOrderCurve.spec.d.ts +1 -0
  219. package/dist/vector/geometry/zOrderCurve.spec.js +19 -0
  220. package/dist/vector/geometry/zOrderCurve.spec.js.map +1 -0
  221. package/dist/vector/intVector.d.ts +8 -0
  222. package/dist/vector/intVector.js +3 -0
  223. package/dist/vector/intVector.js.map +1 -0
  224. package/dist/vector/sequence/intSequenceVector.d.ts +18 -0
  225. package/dist/vector/sequence/intSequenceVector.js +72 -0
  226. package/dist/vector/sequence/intSequenceVector.js.map +1 -0
  227. package/dist/vector/sequence/longSequenceVector.d.ts +18 -0
  228. package/dist/vector/sequence/longSequenceVector.js +57 -0
  229. package/dist/vector/sequence/longSequenceVector.js.map +1 -0
  230. package/dist/vector/sequence/sequenceVector.d.ts +5 -0
  231. package/dist/vector/sequence/sequenceVector.js +16 -0
  232. package/dist/vector/sequence/sequenceVector.js.map +1 -0
  233. package/dist/vector/variableSizeVector.d.ts +6 -0
  234. package/dist/vector/variableSizeVector.js +17 -0
  235. package/dist/vector/variableSizeVector.js.map +1 -0
  236. package/dist/vector/vector.d.ts +30 -0
  237. package/dist/vector/vector.js +76 -0
  238. package/dist/vector/vector.js.map +1 -0
  239. package/dist/vector/vectorType.d.ts +7 -0
  240. package/dist/vector/vectorType.js +12 -0
  241. package/dist/vector/vectorType.js.map +1 -0
  242. package/package.json +49 -0
@@ -0,0 +1,3930 @@
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] =
131
+ (input[inpos] & 1) |
132
+ ((input[1 + inpos] & 1) << 1) |
133
+ ((input[2 + inpos] & 1) << 2) |
134
+ ((input[3 + inpos] & 1) << 3) |
135
+ ((input[4 + inpos] & 1) << 4) |
136
+ ((input[5 + inpos] & 1) << 5) |
137
+ ((input[6 + inpos] & 1) << 6) |
138
+ ((input[7 + inpos] & 1) << 7) |
139
+ ((input[8 + inpos] & 1) << 8) |
140
+ ((input[9 + inpos] & 1) << 9) |
141
+ ((input[10 + inpos] & 1) << 10) |
142
+ ((input[11 + inpos] & 1) << 11) |
143
+ ((input[12 + inpos] & 1) << 12) |
144
+ ((input[13 + inpos] & 1) << 13) |
145
+ ((input[14 + inpos] & 1) << 14) |
146
+ ((input[15 + inpos] & 1) << 15) |
147
+ ((input[16 + inpos] & 1) << 16) |
148
+ ((input[17 + inpos] & 1) << 17) |
149
+ ((input[18 + inpos] & 1) << 18) |
150
+ ((input[19 + inpos] & 1) << 19) |
151
+ ((input[20 + inpos] & 1) << 20) |
152
+ ((input[21 + inpos] & 1) << 21) |
153
+ ((input[22 + inpos] & 1) << 22) |
154
+ ((input[23 + inpos] & 1) << 23) |
155
+ ((input[24 + inpos] & 1) << 24) |
156
+ ((input[25 + inpos] & 1) << 25) |
157
+ ((input[26 + inpos] & 1) << 26) |
158
+ ((input[27 + inpos] & 1) << 27) |
159
+ ((input[28 + inpos] & 1) << 28) |
160
+ ((input[29 + inpos] & 1) << 29) |
161
+ ((input[30 + inpos] & 1) << 30) |
162
+ (input[31 + inpos] << 31);
163
+ }
164
+ function fastpack10(input, inpos, output, outpos) {
165
+ output[outpos] =
166
+ (input[inpos] & 1023) |
167
+ ((input[1 + inpos] & 1023) << 10) |
168
+ ((input[2 + inpos] & 1023) << 20) |
169
+ (input[3 + inpos] << 30);
170
+ output[1 + outpos] =
171
+ ((input[3 + inpos] & 1023) >>> (10 - 8)) |
172
+ ((input[4 + inpos] & 1023) << 8) |
173
+ ((input[5 + inpos] & 1023) << 18) |
174
+ (input[6 + inpos] << 28);
175
+ output[2 + outpos] =
176
+ ((input[6 + inpos] & 1023) >>> (10 - 6)) |
177
+ ((input[7 + inpos] & 1023) << 6) |
178
+ ((input[8 + inpos] & 1023) << 16) |
179
+ (input[9 + inpos] << 26);
180
+ output[3 + outpos] =
181
+ ((input[9 + inpos] & 1023) >>> (10 - 4)) |
182
+ ((input[10 + inpos] & 1023) << 4) |
183
+ ((input[11 + inpos] & 1023) << 14) |
184
+ (input[12 + inpos] << 24);
185
+ output[4 + outpos] =
186
+ ((input[12 + inpos] & 1023) >>> (10 - 2)) |
187
+ ((input[13 + inpos] & 1023) << 2) |
188
+ ((input[14 + inpos] & 1023) << 12) |
189
+ (input[15 + inpos] << 22);
190
+ output[5 + outpos] =
191
+ (input[16 + inpos] & 1023) |
192
+ ((input[17 + inpos] & 1023) << 10) |
193
+ ((input[18 + inpos] & 1023) << 20) |
194
+ (input[19 + inpos] << 30);
195
+ output[6 + outpos] =
196
+ ((input[19 + inpos] & 1023) >>> (10 - 8)) |
197
+ ((input[20 + inpos] & 1023) << 8) |
198
+ ((input[21 + inpos] & 1023) << 18) |
199
+ (input[22 + inpos] << 28);
200
+ output[7 + outpos] =
201
+ ((input[22 + inpos] & 1023) >>> (10 - 6)) |
202
+ ((input[23 + inpos] & 1023) << 6) |
203
+ ((input[24 + inpos] & 1023) << 16) |
204
+ (input[25 + inpos] << 26);
205
+ output[8 + outpos] =
206
+ ((input[25 + inpos] & 1023) >>> (10 - 4)) |
207
+ ((input[26 + inpos] & 1023) << 4) |
208
+ ((input[27 + inpos] & 1023) << 14) |
209
+ (input[28 + inpos] << 24);
210
+ output[9 + outpos] =
211
+ ((input[28 + inpos] & 1023) >>> (10 - 2)) |
212
+ ((input[29 + inpos] & 1023) << 2) |
213
+ ((input[30 + inpos] & 1023) << 12) |
214
+ (input[31 + inpos] << 22);
215
+ }
216
+ function fastpack11(input, inpos, output, outpos) {
217
+ output[outpos] = (input[inpos] & 2047) | ((input[1 + inpos] & 2047) << 11) | (input[2 + inpos] << 22);
218
+ output[1 + outpos] =
219
+ ((input[2 + inpos] & 2047) >>> (11 - 1)) |
220
+ ((input[3 + inpos] & 2047) << 1) |
221
+ ((input[4 + inpos] & 2047) << 12) |
222
+ (input[5 + inpos] << 23);
223
+ output[2 + outpos] =
224
+ ((input[5 + inpos] & 2047) >>> (11 - 2)) |
225
+ ((input[6 + inpos] & 2047) << 2) |
226
+ ((input[7 + inpos] & 2047) << 13) |
227
+ (input[8 + inpos] << 24);
228
+ output[3 + outpos] =
229
+ ((input[8 + inpos] & 2047) >>> (11 - 3)) |
230
+ ((input[9 + inpos] & 2047) << 3) |
231
+ ((input[10 + inpos] & 2047) << 14) |
232
+ (input[11 + inpos] << 25);
233
+ output[4 + outpos] =
234
+ ((input[11 + inpos] & 2047) >>> (11 - 4)) |
235
+ ((input[12 + inpos] & 2047) << 4) |
236
+ ((input[13 + inpos] & 2047) << 15) |
237
+ (input[14 + inpos] << 26);
238
+ output[5 + outpos] =
239
+ ((input[14 + inpos] & 2047) >>> (11 - 5)) |
240
+ ((input[15 + inpos] & 2047) << 5) |
241
+ ((input[16 + inpos] & 2047) << 16) |
242
+ (input[17 + inpos] << 27);
243
+ output[6 + outpos] =
244
+ ((input[17 + inpos] & 2047) >>> (11 - 6)) |
245
+ ((input[18 + inpos] & 2047) << 6) |
246
+ ((input[19 + inpos] & 2047) << 17) |
247
+ (input[20 + inpos] << 28);
248
+ output[7 + outpos] =
249
+ ((input[20 + inpos] & 2047) >>> (11 - 7)) |
250
+ ((input[21 + inpos] & 2047) << 7) |
251
+ ((input[22 + inpos] & 2047) << 18) |
252
+ (input[23 + inpos] << 29);
253
+ output[8 + outpos] =
254
+ ((input[23 + inpos] & 2047) >>> (11 - 8)) |
255
+ ((input[24 + inpos] & 2047) << 8) |
256
+ ((input[25 + inpos] & 2047) << 19) |
257
+ (input[26 + inpos] << 30);
258
+ output[9 + outpos] =
259
+ ((input[26 + inpos] & 2047) >>> (11 - 9)) |
260
+ ((input[27 + inpos] & 2047) << 9) |
261
+ ((input[28 + inpos] & 2047) << 20) |
262
+ (input[29 + inpos] << 31);
263
+ output[10 + outpos] =
264
+ ((input[29 + inpos] & 2047) >>> (11 - 10)) | ((input[30 + inpos] & 2047) << 10) | (input[31 + inpos] << 21);
265
+ }
266
+ function fastpack12(input, inpos, output, outpos) {
267
+ output[outpos] = (input[inpos] & 4095) | ((input[1 + inpos] & 4095) << 12) | (input[2 + inpos] << 24);
268
+ output[1 + outpos] =
269
+ ((input[2 + inpos] & 4095) >>> (12 - 4)) |
270
+ ((input[3 + inpos] & 4095) << 4) |
271
+ ((input[4 + inpos] & 4095) << 16) |
272
+ (input[5 + inpos] << 28);
273
+ output[2 + outpos] =
274
+ ((input[5 + inpos] & 4095) >>> (12 - 8)) | ((input[6 + inpos] & 4095) << 8) | (input[7 + inpos] << 20);
275
+ output[3 + outpos] = (input[8 + inpos] & 4095) | ((input[9 + inpos] & 4095) << 12) | (input[10 + inpos] << 24);
276
+ output[4 + outpos] =
277
+ ((input[10 + inpos] & 4095) >>> (12 - 4)) |
278
+ ((input[11 + inpos] & 4095) << 4) |
279
+ ((input[12 + inpos] & 4095) << 16) |
280
+ (input[13 + inpos] << 28);
281
+ output[5 + outpos] =
282
+ ((input[13 + inpos] & 4095) >>> (12 - 8)) | ((input[14 + inpos] & 4095) << 8) | (input[15 + inpos] << 20);
283
+ output[6 + outpos] = (input[16 + inpos] & 4095) | ((input[17 + inpos] & 4095) << 12) | (input[18 + inpos] << 24);
284
+ output[7 + outpos] =
285
+ ((input[18 + inpos] & 4095) >>> (12 - 4)) |
286
+ ((input[19 + inpos] & 4095) << 4) |
287
+ ((input[20 + inpos] & 4095) << 16) |
288
+ (input[21 + inpos] << 28);
289
+ output[8 + outpos] =
290
+ ((input[21 + inpos] & 4095) >>> (12 - 8)) | ((input[22 + inpos] & 4095) << 8) | (input[23 + inpos] << 20);
291
+ output[9 + outpos] = (input[24 + inpos] & 4095) | ((input[25 + inpos] & 4095) << 12) | (input[26 + inpos] << 24);
292
+ output[10 + outpos] =
293
+ ((input[26 + inpos] & 4095) >>> (12 - 4)) |
294
+ ((input[27 + inpos] & 4095) << 4) |
295
+ ((input[28 + inpos] & 4095) << 16) |
296
+ (input[29 + inpos] << 28);
297
+ output[11 + outpos] =
298
+ ((input[29 + inpos] & 4095) >>> (12 - 8)) | ((input[30 + inpos] & 4095) << 8) | (input[31 + inpos] << 20);
299
+ }
300
+ function fastpack13(input, inpos, output, outpos) {
301
+ output[outpos] = (input[inpos] & 8191) | ((input[1 + inpos] & 8191) << 13) | (input[2 + inpos] << 26);
302
+ output[1 + outpos] =
303
+ ((input[2 + inpos] & 8191) >>> (13 - 7)) | ((input[3 + inpos] & 8191) << 7) | (input[4 + inpos] << 20);
304
+ output[2 + outpos] =
305
+ ((input[4 + inpos] & 8191) >>> (13 - 1)) |
306
+ ((input[5 + inpos] & 8191) << 1) |
307
+ ((input[6 + inpos] & 8191) << 14) |
308
+ (input[7 + inpos] << 27);
309
+ output[3 + outpos] =
310
+ ((input[7 + inpos] & 8191) >>> (13 - 8)) | ((input[8 + inpos] & 8191) << 8) | (input[9 + inpos] << 21);
311
+ output[4 + outpos] =
312
+ ((input[9 + inpos] & 8191) >>> (13 - 2)) |
313
+ ((input[10 + inpos] & 8191) << 2) |
314
+ ((input[11 + inpos] & 8191) << 15) |
315
+ (input[12 + inpos] << 28);
316
+ output[5 + outpos] =
317
+ ((input[12 + inpos] & 8191) >>> (13 - 9)) | ((input[13 + inpos] & 8191) << 9) | (input[14 + inpos] << 22);
318
+ output[6 + outpos] =
319
+ ((input[14 + inpos] & 8191) >>> (13 - 3)) |
320
+ ((input[15 + inpos] & 8191) << 3) |
321
+ ((input[16 + inpos] & 8191) << 16) |
322
+ (input[17 + inpos] << 29);
323
+ output[7 + outpos] =
324
+ ((input[17 + inpos] & 8191) >>> (13 - 10)) | ((input[18 + inpos] & 8191) << 10) | (input[19 + inpos] << 23);
325
+ output[8 + outpos] =
326
+ ((input[19 + inpos] & 8191) >>> (13 - 4)) |
327
+ ((input[20 + inpos] & 8191) << 4) |
328
+ ((input[21 + inpos] & 8191) << 17) |
329
+ (input[22 + inpos] << 30);
330
+ output[9 + outpos] =
331
+ ((input[22 + inpos] & 8191) >>> (13 - 11)) | ((input[23 + inpos] & 8191) << 11) | (input[24 + inpos] << 24);
332
+ output[10 + outpos] =
333
+ ((input[24 + inpos] & 8191) >>> (13 - 5)) |
334
+ ((input[25 + inpos] & 8191) << 5) |
335
+ ((input[26 + inpos] & 8191) << 18) |
336
+ (input[27 + inpos] << 31);
337
+ output[11 + outpos] =
338
+ ((input[27 + inpos] & 8191) >>> (13 - 12)) | ((input[28 + inpos] & 8191) << 12) | (input[29 + inpos] << 25);
339
+ output[12 + outpos] =
340
+ ((input[29 + inpos] & 8191) >>> (13 - 6)) | ((input[30 + inpos] & 8191) << 6) | (input[31 + inpos] << 19);
341
+ }
342
+ function fastpack14(input, inpos, output, outpos) {
343
+ output[outpos] = (input[inpos] & 16383) | ((input[1 + inpos] & 16383) << 14) | (input[2 + inpos] << 28);
344
+ output[1 + outpos] =
345
+ ((input[2 + inpos] & 16383) >>> (14 - 10)) | ((input[3 + inpos] & 16383) << 10) | (input[4 + inpos] << 24);
346
+ output[2 + outpos] =
347
+ ((input[4 + inpos] & 16383) >>> (14 - 6)) | ((input[5 + inpos] & 16383) << 6) | (input[6 + inpos] << 20);
348
+ output[3 + outpos] =
349
+ ((input[6 + inpos] & 16383) >>> (14 - 2)) |
350
+ ((input[7 + inpos] & 16383) << 2) |
351
+ ((input[8 + inpos] & 16383) << 16) |
352
+ (input[9 + inpos] << 30);
353
+ output[4 + outpos] =
354
+ ((input[9 + inpos] & 16383) >>> (14 - 12)) | ((input[10 + inpos] & 16383) << 12) | (input[11 + inpos] << 26);
355
+ output[5 + outpos] =
356
+ ((input[11 + inpos] & 16383) >>> (14 - 8)) | ((input[12 + inpos] & 16383) << 8) | (input[13 + inpos] << 22);
357
+ output[6 + outpos] =
358
+ ((input[13 + inpos] & 16383) >>> (14 - 4)) | ((input[14 + inpos] & 16383) << 4) | (input[15 + inpos] << 18);
359
+ output[7 + outpos] = (input[16 + inpos] & 16383) | ((input[17 + inpos] & 16383) << 14) | (input[18 + inpos] << 28);
360
+ output[8 + outpos] =
361
+ ((input[18 + inpos] & 16383) >>> (14 - 10)) | ((input[19 + inpos] & 16383) << 10) | (input[20 + inpos] << 24);
362
+ output[9 + outpos] =
363
+ ((input[20 + inpos] & 16383) >>> (14 - 6)) | ((input[21 + inpos] & 16383) << 6) | (input[22 + inpos] << 20);
364
+ output[10 + outpos] =
365
+ ((input[22 + inpos] & 16383) >>> (14 - 2)) |
366
+ ((input[23 + inpos] & 16383) << 2) |
367
+ ((input[24 + inpos] & 16383) << 16) |
368
+ (input[25 + inpos] << 30);
369
+ output[11 + outpos] =
370
+ ((input[25 + inpos] & 16383) >>> (14 - 12)) | ((input[26 + inpos] & 16383) << 12) | (input[27 + inpos] << 26);
371
+ output[12 + outpos] =
372
+ ((input[27 + inpos] & 16383) >>> (14 - 8)) | ((input[28 + inpos] & 16383) << 8) | (input[29 + inpos] << 22);
373
+ output[13 + outpos] =
374
+ ((input[29 + inpos] & 16383) >>> (14 - 4)) | ((input[30 + inpos] & 16383) << 4) | (input[31 + inpos] << 18);
375
+ }
376
+ function fastpack15(input, inpos, output, outpos) {
377
+ output[outpos] = (input[inpos] & 32767) | ((input[1 + inpos] & 32767) << 15) | (input[2 + inpos] << 30);
378
+ output[1 + outpos] =
379
+ ((input[2 + inpos] & 32767) >>> (15 - 13)) | ((input[3 + inpos] & 32767) << 13) | (input[4 + inpos] << 28);
380
+ output[2 + outpos] =
381
+ ((input[4 + inpos] & 32767) >>> (15 - 11)) | ((input[5 + inpos] & 32767) << 11) | (input[6 + inpos] << 26);
382
+ output[3 + outpos] =
383
+ ((input[6 + inpos] & 32767) >>> (15 - 9)) | ((input[7 + inpos] & 32767) << 9) | (input[8 + inpos] << 24);
384
+ output[4 + outpos] =
385
+ ((input[8 + inpos] & 32767) >>> (15 - 7)) | ((input[9 + inpos] & 32767) << 7) | (input[10 + inpos] << 22);
386
+ output[5 + outpos] =
387
+ ((input[10 + inpos] & 32767) >>> (15 - 5)) | ((input[11 + inpos] & 32767) << 5) | (input[12 + inpos] << 20);
388
+ output[6 + outpos] =
389
+ ((input[12 + inpos] & 32767) >>> (15 - 3)) | ((input[13 + inpos] & 32767) << 3) | (input[14 + inpos] << 18);
390
+ output[7 + outpos] =
391
+ ((input[14 + inpos] & 32767) >>> (15 - 1)) |
392
+ ((input[15 + inpos] & 32767) << 1) |
393
+ ((input[16 + inpos] & 32767) << 16) |
394
+ (input[17 + inpos] << 31);
395
+ output[8 + outpos] =
396
+ ((input[17 + inpos] & 32767) >>> (15 - 14)) | ((input[18 + inpos] & 32767) << 14) | (input[19 + inpos] << 29);
397
+ output[9 + outpos] =
398
+ ((input[19 + inpos] & 32767) >>> (15 - 12)) | ((input[20 + inpos] & 32767) << 12) | (input[21 + inpos] << 27);
399
+ output[10 + outpos] =
400
+ ((input[21 + inpos] & 32767) >>> (15 - 10)) | ((input[22 + inpos] & 32767) << 10) | (input[23 + inpos] << 25);
401
+ output[11 + outpos] =
402
+ ((input[23 + inpos] & 32767) >>> (15 - 8)) | ((input[24 + inpos] & 32767) << 8) | (input[25 + inpos] << 23);
403
+ output[12 + outpos] =
404
+ ((input[25 + inpos] & 32767) >>> (15 - 6)) | ((input[26 + inpos] & 32767) << 6) | (input[27 + inpos] << 21);
405
+ output[13 + outpos] =
406
+ ((input[27 + inpos] & 32767) >>> (15 - 4)) | ((input[28 + inpos] & 32767) << 4) | (input[29 + inpos] << 19);
407
+ output[14 + outpos] =
408
+ ((input[29 + inpos] & 32767) >>> (15 - 2)) | ((input[30 + inpos] & 32767) << 2) | (input[31 + inpos] << 17);
409
+ }
410
+ function fastpack16(input, inpos, output, outpos) {
411
+ output[outpos] = (input[inpos] & 65535) | (input[1 + inpos] << 16);
412
+ output[1 + outpos] = (input[2 + inpos] & 65535) | (input[3 + inpos] << 16);
413
+ output[2 + outpos] = (input[4 + inpos] & 65535) | (input[5 + inpos] << 16);
414
+ output[3 + outpos] = (input[6 + inpos] & 65535) | (input[7 + inpos] << 16);
415
+ output[4 + outpos] = (input[8 + inpos] & 65535) | (input[9 + inpos] << 16);
416
+ output[5 + outpos] = (input[10 + inpos] & 65535) | (input[11 + inpos] << 16);
417
+ output[6 + outpos] = (input[12 + inpos] & 65535) | (input[13 + inpos] << 16);
418
+ output[7 + outpos] = (input[14 + inpos] & 65535) | (input[15 + inpos] << 16);
419
+ output[8 + outpos] = (input[16 + inpos] & 65535) | (input[17 + inpos] << 16);
420
+ output[9 + outpos] = (input[18 + inpos] & 65535) | (input[19 + inpos] << 16);
421
+ output[10 + outpos] = (input[20 + inpos] & 65535) | (input[21 + inpos] << 16);
422
+ output[11 + outpos] = (input[22 + inpos] & 65535) | (input[23 + inpos] << 16);
423
+ output[12 + outpos] = (input[24 + inpos] & 65535) | (input[25 + inpos] << 16);
424
+ output[13 + outpos] = (input[26 + inpos] & 65535) | (input[27 + inpos] << 16);
425
+ output[14 + outpos] = (input[28 + inpos] & 65535) | (input[29 + inpos] << 16);
426
+ output[15 + outpos] = (input[30 + inpos] & 65535) | (input[31 + inpos] << 16);
427
+ }
428
+ function fastpack17(input, inpos, output, outpos) {
429
+ output[outpos] = (input[inpos] & 131071) | (input[1 + inpos] << 17);
430
+ output[1 + outpos] =
431
+ ((input[1 + inpos] & 131071) >>> (17 - 2)) | ((input[2 + inpos] & 131071) << 2) | (input[3 + inpos] << 19);
432
+ output[2 + outpos] =
433
+ ((input[3 + inpos] & 131071) >>> (17 - 4)) | ((input[4 + inpos] & 131071) << 4) | (input[5 + inpos] << 21);
434
+ output[3 + outpos] =
435
+ ((input[5 + inpos] & 131071) >>> (17 - 6)) | ((input[6 + inpos] & 131071) << 6) | (input[7 + inpos] << 23);
436
+ output[4 + outpos] =
437
+ ((input[7 + inpos] & 131071) >>> (17 - 8)) | ((input[8 + inpos] & 131071) << 8) | (input[9 + inpos] << 25);
438
+ output[5 + outpos] =
439
+ ((input[9 + inpos] & 131071) >>> (17 - 10)) | ((input[10 + inpos] & 131071) << 10) | (input[11 + inpos] << 27);
440
+ output[6 + outpos] =
441
+ ((input[11 + inpos] & 131071) >>> (17 - 12)) | ((input[12 + inpos] & 131071) << 12) | (input[13 + inpos] << 29);
442
+ output[7 + outpos] =
443
+ ((input[13 + inpos] & 131071) >>> (17 - 14)) | ((input[14 + inpos] & 131071) << 14) | (input[15 + inpos] << 31);
444
+ output[8 + outpos] = ((input[15 + inpos] & 131071) >>> (17 - 16)) | (input[16 + inpos] << 16);
445
+ output[9 + outpos] =
446
+ ((input[16 + inpos] & 131071) >>> (17 - 1)) | ((input[17 + inpos] & 131071) << 1) | (input[18 + inpos] << 18);
447
+ output[10 + outpos] =
448
+ ((input[18 + inpos] & 131071) >>> (17 - 3)) | ((input[19 + inpos] & 131071) << 3) | (input[20 + inpos] << 20);
449
+ output[11 + outpos] =
450
+ ((input[20 + inpos] & 131071) >>> (17 - 5)) | ((input[21 + inpos] & 131071) << 5) | (input[22 + inpos] << 22);
451
+ output[12 + outpos] =
452
+ ((input[22 + inpos] & 131071) >>> (17 - 7)) | ((input[23 + inpos] & 131071) << 7) | (input[24 + inpos] << 24);
453
+ output[13 + outpos] =
454
+ ((input[24 + inpos] & 131071) >>> (17 - 9)) | ((input[25 + inpos] & 131071) << 9) | (input[26 + inpos] << 26);
455
+ output[14 + outpos] =
456
+ ((input[26 + inpos] & 131071) >>> (17 - 11)) | ((input[27 + inpos] & 131071) << 11) | (input[28 + inpos] << 28);
457
+ output[15 + outpos] =
458
+ ((input[28 + inpos] & 131071) >>> (17 - 13)) | ((input[29 + inpos] & 131071) << 13) | (input[30 + inpos] << 30);
459
+ output[16 + outpos] = ((input[30 + inpos] & 131071) >>> (17 - 15)) | (input[31 + inpos] << 15);
460
+ }
461
+ function fastpack18(input, inpos, output, outpos) {
462
+ output[outpos] = (input[inpos] & 262143) | (input[1 + inpos] << 18);
463
+ output[1 + outpos] =
464
+ ((input[1 + inpos] & 262143) >>> (18 - 4)) | ((input[2 + inpos] & 262143) << 4) | (input[3 + inpos] << 22);
465
+ output[2 + outpos] =
466
+ ((input[3 + inpos] & 262143) >>> (18 - 8)) | ((input[4 + inpos] & 262143) << 8) | (input[5 + inpos] << 26);
467
+ output[3 + outpos] =
468
+ ((input[5 + inpos] & 262143) >>> (18 - 12)) | ((input[6 + inpos] & 262143) << 12) | (input[7 + inpos] << 30);
469
+ output[4 + outpos] = ((input[7 + inpos] & 262143) >>> (18 - 16)) | (input[8 + inpos] << 16);
470
+ output[5 + outpos] =
471
+ ((input[8 + inpos] & 262143) >>> (18 - 2)) | ((input[9 + inpos] & 262143) << 2) | (input[10 + inpos] << 20);
472
+ output[6 + outpos] =
473
+ ((input[10 + inpos] & 262143) >>> (18 - 6)) | ((input[11 + inpos] & 262143) << 6) | (input[12 + inpos] << 24);
474
+ output[7 + outpos] =
475
+ ((input[12 + inpos] & 262143) >>> (18 - 10)) | ((input[13 + inpos] & 262143) << 10) | (input[14 + inpos] << 28);
476
+ output[8 + outpos] = ((input[14 + inpos] & 262143) >>> (18 - 14)) | (input[15 + inpos] << 14);
477
+ output[9 + outpos] = (input[16 + inpos] & 262143) | (input[17 + inpos] << 18);
478
+ output[10 + outpos] =
479
+ ((input[17 + inpos] & 262143) >>> (18 - 4)) | ((input[18 + inpos] & 262143) << 4) | (input[19 + inpos] << 22);
480
+ output[11 + outpos] =
481
+ ((input[19 + inpos] & 262143) >>> (18 - 8)) | ((input[20 + inpos] & 262143) << 8) | (input[21 + inpos] << 26);
482
+ output[12 + outpos] =
483
+ ((input[21 + inpos] & 262143) >>> (18 - 12)) | ((input[22 + inpos] & 262143) << 12) | (input[23 + inpos] << 30);
484
+ output[13 + outpos] = ((input[23 + inpos] & 262143) >>> (18 - 16)) | (input[24 + inpos] << 16);
485
+ output[14 + outpos] =
486
+ ((input[24 + inpos] & 262143) >>> (18 - 2)) | ((input[25 + inpos] & 262143) << 2) | (input[26 + inpos] << 20);
487
+ output[15 + outpos] =
488
+ ((input[26 + inpos] & 262143) >>> (18 - 6)) | ((input[27 + inpos] & 262143) << 6) | (input[28 + inpos] << 24);
489
+ output[16 + outpos] =
490
+ ((input[28 + inpos] & 262143) >>> (18 - 10)) | ((input[29 + inpos] & 262143) << 10) | (input[30 + inpos] << 28);
491
+ output[17 + outpos] = ((input[30 + inpos] & 262143) >>> (18 - 14)) | (input[31 + inpos] << 14);
492
+ }
493
+ function fastpack19(input, inpos, output, outpos) {
494
+ output[outpos] = (input[inpos] & 524287) | (input[1 + inpos] << 19);
495
+ output[1 + outpos] =
496
+ ((input[1 + inpos] & 524287) >>> (19 - 6)) | ((input[2 + inpos] & 524287) << 6) | (input[3 + inpos] << 25);
497
+ output[2 + outpos] =
498
+ ((input[3 + inpos] & 524287) >>> (19 - 12)) | ((input[4 + inpos] & 524287) << 12) | (input[5 + inpos] << 31);
499
+ output[3 + outpos] = ((input[5 + inpos] & 524287) >>> (19 - 18)) | (input[6 + inpos] << 18);
500
+ output[4 + outpos] =
501
+ ((input[6 + inpos] & 524287) >>> (19 - 5)) | ((input[7 + inpos] & 524287) << 5) | (input[8 + inpos] << 24);
502
+ output[5 + outpos] =
503
+ ((input[8 + inpos] & 524287) >>> (19 - 11)) | ((input[9 + inpos] & 524287) << 11) | (input[10 + inpos] << 30);
504
+ output[6 + outpos] = ((input[10 + inpos] & 524287) >>> (19 - 17)) | (input[11 + inpos] << 17);
505
+ output[7 + outpos] =
506
+ ((input[11 + inpos] & 524287) >>> (19 - 4)) | ((input[12 + inpos] & 524287) << 4) | (input[13 + inpos] << 23);
507
+ output[8 + outpos] =
508
+ ((input[13 + inpos] & 524287) >>> (19 - 10)) | ((input[14 + inpos] & 524287) << 10) | (input[15 + inpos] << 29);
509
+ output[9 + outpos] = ((input[15 + inpos] & 524287) >>> (19 - 16)) | (input[16 + inpos] << 16);
510
+ output[10 + outpos] =
511
+ ((input[16 + inpos] & 524287) >>> (19 - 3)) | ((input[17 + inpos] & 524287) << 3) | (input[18 + inpos] << 22);
512
+ output[11 + outpos] =
513
+ ((input[18 + inpos] & 524287) >>> (19 - 9)) | ((input[19 + inpos] & 524287) << 9) | (input[20 + inpos] << 28);
514
+ output[12 + outpos] = ((input[20 + inpos] & 524287) >>> (19 - 15)) | (input[21 + inpos] << 15);
515
+ output[13 + outpos] =
516
+ ((input[21 + inpos] & 524287) >>> (19 - 2)) | ((input[22 + inpos] & 524287) << 2) | (input[23 + inpos] << 21);
517
+ output[14 + outpos] =
518
+ ((input[23 + inpos] & 524287) >>> (19 - 8)) | ((input[24 + inpos] & 524287) << 8) | (input[25 + inpos] << 27);
519
+ output[15 + outpos] = ((input[25 + inpos] & 524287) >>> (19 - 14)) | (input[26 + inpos] << 14);
520
+ output[16 + outpos] =
521
+ ((input[26 + inpos] & 524287) >>> (19 - 1)) | ((input[27 + inpos] & 524287) << 1) | (input[28 + inpos] << 20);
522
+ output[17 + outpos] =
523
+ ((input[28 + inpos] & 524287) >>> (19 - 7)) | ((input[29 + inpos] & 524287) << 7) | (input[30 + inpos] << 26);
524
+ output[18 + outpos] = ((input[30 + inpos] & 524287) >>> (19 - 13)) | (input[31 + inpos] << 13);
525
+ }
526
+ function fastpack2(input, inpos, output, outpos) {
527
+ output[outpos] =
528
+ (input[inpos] & 3) |
529
+ ((input[1 + inpos] & 3) << 2) |
530
+ ((input[2 + inpos] & 3) << 4) |
531
+ ((input[3 + inpos] & 3) << 6) |
532
+ ((input[4 + inpos] & 3) << 8) |
533
+ ((input[5 + inpos] & 3) << 10) |
534
+ ((input[6 + inpos] & 3) << 12) |
535
+ ((input[7 + inpos] & 3) << 14) |
536
+ ((input[8 + inpos] & 3) << 16) |
537
+ ((input[9 + inpos] & 3) << 18) |
538
+ ((input[10 + inpos] & 3) << 20) |
539
+ ((input[11 + inpos] & 3) << 22) |
540
+ ((input[12 + inpos] & 3) << 24) |
541
+ ((input[13 + inpos] & 3) << 26) |
542
+ ((input[14 + inpos] & 3) << 28) |
543
+ (input[15 + inpos] << 30);
544
+ output[1 + outpos] =
545
+ (input[16 + inpos] & 3) |
546
+ ((input[17 + inpos] & 3) << 2) |
547
+ ((input[18 + inpos] & 3) << 4) |
548
+ ((input[19 + inpos] & 3) << 6) |
549
+ ((input[20 + inpos] & 3) << 8) |
550
+ ((input[21 + inpos] & 3) << 10) |
551
+ ((input[22 + inpos] & 3) << 12) |
552
+ ((input[23 + inpos] & 3) << 14) |
553
+ ((input[24 + inpos] & 3) << 16) |
554
+ ((input[25 + inpos] & 3) << 18) |
555
+ ((input[26 + inpos] & 3) << 20) |
556
+ ((input[27 + inpos] & 3) << 22) |
557
+ ((input[28 + inpos] & 3) << 24) |
558
+ ((input[29 + inpos] & 3) << 26) |
559
+ ((input[30 + inpos] & 3) << 28) |
560
+ (input[31 + inpos] << 30);
561
+ }
562
+ function fastpack20(input, inpos, output, outpos) {
563
+ output[outpos] = (input[inpos] & 1048575) | (input[1 + inpos] << 20);
564
+ output[1 + outpos] =
565
+ ((input[1 + inpos] & 1048575) >>> (20 - 8)) | ((input[2 + inpos] & 1048575) << 8) | (input[3 + inpos] << 28);
566
+ output[2 + outpos] = ((input[3 + inpos] & 1048575) >>> (20 - 16)) | (input[4 + inpos] << 16);
567
+ output[3 + outpos] =
568
+ ((input[4 + inpos] & 1048575) >>> (20 - 4)) | ((input[5 + inpos] & 1048575) << 4) | (input[6 + inpos] << 24);
569
+ output[4 + outpos] = ((input[6 + inpos] & 1048575) >>> (20 - 12)) | (input[7 + inpos] << 12);
570
+ output[5 + outpos] = (input[8 + inpos] & 1048575) | (input[9 + inpos] << 20);
571
+ output[6 + outpos] =
572
+ ((input[9 + inpos] & 1048575) >>> (20 - 8)) | ((input[10 + inpos] & 1048575) << 8) | (input[11 + inpos] << 28);
573
+ output[7 + outpos] = ((input[11 + inpos] & 1048575) >>> (20 - 16)) | (input[12 + inpos] << 16);
574
+ output[8 + outpos] =
575
+ ((input[12 + inpos] & 1048575) >>> (20 - 4)) | ((input[13 + inpos] & 1048575) << 4) | (input[14 + inpos] << 24);
576
+ output[9 + outpos] = ((input[14 + inpos] & 1048575) >>> (20 - 12)) | (input[15 + inpos] << 12);
577
+ output[10 + outpos] = (input[16 + inpos] & 1048575) | (input[17 + inpos] << 20);
578
+ output[11 + outpos] =
579
+ ((input[17 + inpos] & 1048575) >>> (20 - 8)) | ((input[18 + inpos] & 1048575) << 8) | (input[19 + inpos] << 28);
580
+ output[12 + outpos] = ((input[19 + inpos] & 1048575) >>> (20 - 16)) | (input[20 + inpos] << 16);
581
+ output[13 + outpos] =
582
+ ((input[20 + inpos] & 1048575) >>> (20 - 4)) | ((input[21 + inpos] & 1048575) << 4) | (input[22 + inpos] << 24);
583
+ output[14 + outpos] = ((input[22 + inpos] & 1048575) >>> (20 - 12)) | (input[23 + inpos] << 12);
584
+ output[15 + outpos] = (input[24 + inpos] & 1048575) | (input[25 + inpos] << 20);
585
+ output[16 + outpos] =
586
+ ((input[25 + inpos] & 1048575) >>> (20 - 8)) | ((input[26 + inpos] & 1048575) << 8) | (input[27 + inpos] << 28);
587
+ output[17 + outpos] = ((input[27 + inpos] & 1048575) >>> (20 - 16)) | (input[28 + inpos] << 16);
588
+ output[18 + outpos] =
589
+ ((input[28 + inpos] & 1048575) >>> (20 - 4)) | ((input[29 + inpos] & 1048575) << 4) | (input[30 + inpos] << 24);
590
+ output[19 + outpos] = ((input[30 + inpos] & 1048575) >>> (20 - 12)) | (input[31 + inpos] << 12);
591
+ }
592
+ function fastpack21(input, inpos, output, outpos) {
593
+ output[outpos] = (input[inpos] & 2097151) | (input[1 + inpos] << 21);
594
+ output[1 + outpos] =
595
+ ((input[1 + inpos] & 2097151) >>> (21 - 10)) | ((input[2 + inpos] & 2097151) << 10) | (input[3 + inpos] << 31);
596
+ output[2 + outpos] = ((input[3 + inpos] & 2097151) >>> (21 - 20)) | (input[4 + inpos] << 20);
597
+ output[3 + outpos] =
598
+ ((input[4 + inpos] & 2097151) >>> (21 - 9)) | ((input[5 + inpos] & 2097151) << 9) | (input[6 + inpos] << 30);
599
+ output[4 + outpos] = ((input[6 + inpos] & 2097151) >>> (21 - 19)) | (input[7 + inpos] << 19);
600
+ output[5 + outpos] =
601
+ ((input[7 + inpos] & 2097151) >>> (21 - 8)) | ((input[8 + inpos] & 2097151) << 8) | (input[9 + inpos] << 29);
602
+ output[6 + outpos] = ((input[9 + inpos] & 2097151) >>> (21 - 18)) | (input[10 + inpos] << 18);
603
+ output[7 + outpos] =
604
+ ((input[10 + inpos] & 2097151) >>> (21 - 7)) | ((input[11 + inpos] & 2097151) << 7) | (input[12 + inpos] << 28);
605
+ output[8 + outpos] = ((input[12 + inpos] & 2097151) >>> (21 - 17)) | (input[13 + inpos] << 17);
606
+ output[9 + outpos] =
607
+ ((input[13 + inpos] & 2097151) >>> (21 - 6)) | ((input[14 + inpos] & 2097151) << 6) | (input[15 + inpos] << 27);
608
+ output[10 + outpos] = ((input[15 + inpos] & 2097151) >>> (21 - 16)) | (input[16 + inpos] << 16);
609
+ output[11 + outpos] =
610
+ ((input[16 + inpos] & 2097151) >>> (21 - 5)) | ((input[17 + inpos] & 2097151) << 5) | (input[18 + inpos] << 26);
611
+ output[12 + outpos] = ((input[18 + inpos] & 2097151) >>> (21 - 15)) | (input[19 + inpos] << 15);
612
+ output[13 + outpos] =
613
+ ((input[19 + inpos] & 2097151) >>> (21 - 4)) | ((input[20 + inpos] & 2097151) << 4) | (input[21 + inpos] << 25);
614
+ output[14 + outpos] = ((input[21 + inpos] & 2097151) >>> (21 - 14)) | (input[22 + inpos] << 14);
615
+ output[15 + outpos] =
616
+ ((input[22 + inpos] & 2097151) >>> (21 - 3)) | ((input[23 + inpos] & 2097151) << 3) | (input[24 + inpos] << 24);
617
+ output[16 + outpos] = ((input[24 + inpos] & 2097151) >>> (21 - 13)) | (input[25 + inpos] << 13);
618
+ output[17 + outpos] =
619
+ ((input[25 + inpos] & 2097151) >>> (21 - 2)) | ((input[26 + inpos] & 2097151) << 2) | (input[27 + inpos] << 23);
620
+ output[18 + outpos] = ((input[27 + inpos] & 2097151) >>> (21 - 12)) | (input[28 + inpos] << 12);
621
+ output[19 + outpos] =
622
+ ((input[28 + inpos] & 2097151) >>> (21 - 1)) | ((input[29 + inpos] & 2097151) << 1) | (input[30 + inpos] << 22);
623
+ output[20 + outpos] = ((input[30 + inpos] & 2097151) >>> (21 - 11)) | (input[31 + inpos] << 11);
624
+ }
625
+ function fastpack22(input, inpos, output, outpos) {
626
+ output[outpos] = (input[inpos] & 4194303) | (input[1 + inpos] << 22);
627
+ output[1 + outpos] = ((input[1 + inpos] & 4194303) >>> (22 - 12)) | (input[2 + inpos] << 12);
628
+ output[2 + outpos] =
629
+ ((input[2 + inpos] & 4194303) >>> (22 - 2)) | ((input[3 + inpos] & 4194303) << 2) | (input[4 + inpos] << 24);
630
+ output[3 + outpos] = ((input[4 + inpos] & 4194303) >>> (22 - 14)) | (input[5 + inpos] << 14);
631
+ output[4 + outpos] =
632
+ ((input[5 + inpos] & 4194303) >>> (22 - 4)) | ((input[6 + inpos] & 4194303) << 4) | (input[7 + inpos] << 26);
633
+ output[5 + outpos] = ((input[7 + inpos] & 4194303) >>> (22 - 16)) | (input[8 + inpos] << 16);
634
+ output[6 + outpos] =
635
+ ((input[8 + inpos] & 4194303) >>> (22 - 6)) | ((input[9 + inpos] & 4194303) << 6) | (input[10 + inpos] << 28);
636
+ output[7 + outpos] = ((input[10 + inpos] & 4194303) >>> (22 - 18)) | (input[11 + inpos] << 18);
637
+ output[8 + outpos] =
638
+ ((input[11 + inpos] & 4194303) >>> (22 - 8)) | ((input[12 + inpos] & 4194303) << 8) | (input[13 + inpos] << 30);
639
+ output[9 + outpos] = ((input[13 + inpos] & 4194303) >>> (22 - 20)) | (input[14 + inpos] << 20);
640
+ output[10 + outpos] = ((input[14 + inpos] & 4194303) >>> (22 - 10)) | (input[15 + inpos] << 10);
641
+ output[11 + outpos] = (input[16 + inpos] & 4194303) | (input[17 + inpos] << 22);
642
+ output[12 + outpos] = ((input[17 + inpos] & 4194303) >>> (22 - 12)) | (input[18 + inpos] << 12);
643
+ output[13 + outpos] =
644
+ ((input[18 + inpos] & 4194303) >>> (22 - 2)) | ((input[19 + inpos] & 4194303) << 2) | (input[20 + inpos] << 24);
645
+ output[14 + outpos] = ((input[20 + inpos] & 4194303) >>> (22 - 14)) | (input[21 + inpos] << 14);
646
+ output[15 + outpos] =
647
+ ((input[21 + inpos] & 4194303) >>> (22 - 4)) | ((input[22 + inpos] & 4194303) << 4) | (input[23 + inpos] << 26);
648
+ output[16 + outpos] = ((input[23 + inpos] & 4194303) >>> (22 - 16)) | (input[24 + inpos] << 16);
649
+ output[17 + outpos] =
650
+ ((input[24 + inpos] & 4194303) >>> (22 - 6)) | ((input[25 + inpos] & 4194303) << 6) | (input[26 + inpos] << 28);
651
+ output[18 + outpos] = ((input[26 + inpos] & 4194303) >>> (22 - 18)) | (input[27 + inpos] << 18);
652
+ output[19 + outpos] =
653
+ ((input[27 + inpos] & 4194303) >>> (22 - 8)) | ((input[28 + inpos] & 4194303) << 8) | (input[29 + inpos] << 30);
654
+ output[20 + outpos] = ((input[29 + inpos] & 4194303) >>> (22 - 20)) | (input[30 + inpos] << 20);
655
+ output[21 + outpos] = ((input[30 + inpos] & 4194303) >>> (22 - 10)) | (input[31 + inpos] << 10);
656
+ }
657
+ function fastpack23(input, inpos, output, outpos) {
658
+ output[outpos] = (input[inpos] & 8388607) | (input[1 + inpos] << 23);
659
+ output[1 + outpos] = ((input[1 + inpos] & 8388607) >>> (23 - 14)) | (input[2 + inpos] << 14);
660
+ output[2 + outpos] =
661
+ ((input[2 + inpos] & 8388607) >>> (23 - 5)) | ((input[3 + inpos] & 8388607) << 5) | (input[4 + inpos] << 28);
662
+ output[3 + outpos] = ((input[4 + inpos] & 8388607) >>> (23 - 19)) | (input[5 + inpos] << 19);
663
+ output[4 + outpos] = ((input[5 + inpos] & 8388607) >>> (23 - 10)) | (input[6 + inpos] << 10);
664
+ output[5 + outpos] =
665
+ ((input[6 + inpos] & 8388607) >>> (23 - 1)) | ((input[7 + inpos] & 8388607) << 1) | (input[8 + inpos] << 24);
666
+ output[6 + outpos] = ((input[8 + inpos] & 8388607) >>> (23 - 15)) | (input[9 + inpos] << 15);
667
+ output[7 + outpos] =
668
+ ((input[9 + inpos] & 8388607) >>> (23 - 6)) | ((input[10 + inpos] & 8388607) << 6) | (input[11 + inpos] << 29);
669
+ output[8 + outpos] = ((input[11 + inpos] & 8388607) >>> (23 - 20)) | (input[12 + inpos] << 20);
670
+ output[9 + outpos] = ((input[12 + inpos] & 8388607) >>> (23 - 11)) | (input[13 + inpos] << 11);
671
+ output[10 + outpos] =
672
+ ((input[13 + inpos] & 8388607) >>> (23 - 2)) | ((input[14 + inpos] & 8388607) << 2) | (input[15 + inpos] << 25);
673
+ output[11 + outpos] = ((input[15 + inpos] & 8388607) >>> (23 - 16)) | (input[16 + inpos] << 16);
674
+ output[12 + outpos] =
675
+ ((input[16 + inpos] & 8388607) >>> (23 - 7)) | ((input[17 + inpos] & 8388607) << 7) | (input[18 + inpos] << 30);
676
+ output[13 + outpos] = ((input[18 + inpos] & 8388607) >>> (23 - 21)) | (input[19 + inpos] << 21);
677
+ output[14 + outpos] = ((input[19 + inpos] & 8388607) >>> (23 - 12)) | (input[20 + inpos] << 12);
678
+ output[15 + outpos] =
679
+ ((input[20 + inpos] & 8388607) >>> (23 - 3)) | ((input[21 + inpos] & 8388607) << 3) | (input[22 + inpos] << 26);
680
+ output[16 + outpos] = ((input[22 + inpos] & 8388607) >>> (23 - 17)) | (input[23 + inpos] << 17);
681
+ output[17 + outpos] =
682
+ ((input[23 + inpos] & 8388607) >>> (23 - 8)) | ((input[24 + inpos] & 8388607) << 8) | (input[25 + inpos] << 31);
683
+ output[18 + outpos] = ((input[25 + inpos] & 8388607) >>> (23 - 22)) | (input[26 + inpos] << 22);
684
+ output[19 + outpos] = ((input[26 + inpos] & 8388607) >>> (23 - 13)) | (input[27 + inpos] << 13);
685
+ output[20 + outpos] =
686
+ ((input[27 + inpos] & 8388607) >>> (23 - 4)) | ((input[28 + inpos] & 8388607) << 4) | (input[29 + inpos] << 27);
687
+ output[21 + outpos] = ((input[29 + inpos] & 8388607) >>> (23 - 18)) | (input[30 + inpos] << 18);
688
+ output[22 + outpos] = ((input[30 + inpos] & 8388607) >>> (23 - 9)) | (input[31 + inpos] << 9);
689
+ }
690
+ function fastpack24(input, inpos, output, outpos) {
691
+ output[outpos] = (input[inpos] & 16777215) | (input[1 + inpos] << 24);
692
+ output[1 + outpos] = ((input[1 + inpos] & 16777215) >>> (24 - 16)) | (input[2 + inpos] << 16);
693
+ output[2 + outpos] = ((input[2 + inpos] & 16777215) >>> (24 - 8)) | (input[3 + inpos] << 8);
694
+ output[3 + outpos] = (input[4 + inpos] & 16777215) | (input[5 + inpos] << 24);
695
+ output[4 + outpos] = ((input[5 + inpos] & 16777215) >>> (24 - 16)) | (input[6 + inpos] << 16);
696
+ output[5 + outpos] = ((input[6 + inpos] & 16777215) >>> (24 - 8)) | (input[7 + inpos] << 8);
697
+ output[6 + outpos] = (input[8 + inpos] & 16777215) | (input[9 + inpos] << 24);
698
+ output[7 + outpos] = ((input[9 + inpos] & 16777215) >>> (24 - 16)) | (input[10 + inpos] << 16);
699
+ output[8 + outpos] = ((input[10 + inpos] & 16777215) >>> (24 - 8)) | (input[11 + inpos] << 8);
700
+ output[9 + outpos] = (input[12 + inpos] & 16777215) | (input[13 + inpos] << 24);
701
+ output[10 + outpos] = ((input[13 + inpos] & 16777215) >>> (24 - 16)) | (input[14 + inpos] << 16);
702
+ output[11 + outpos] = ((input[14 + inpos] & 16777215) >>> (24 - 8)) | (input[15 + inpos] << 8);
703
+ output[12 + outpos] = (input[16 + inpos] & 16777215) | (input[17 + inpos] << 24);
704
+ output[13 + outpos] = ((input[17 + inpos] & 16777215) >>> (24 - 16)) | (input[18 + inpos] << 16);
705
+ output[14 + outpos] = ((input[18 + inpos] & 16777215) >>> (24 - 8)) | (input[19 + inpos] << 8);
706
+ output[15 + outpos] = (input[20 + inpos] & 16777215) | (input[21 + inpos] << 24);
707
+ output[16 + outpos] = ((input[21 + inpos] & 16777215) >>> (24 - 16)) | (input[22 + inpos] << 16);
708
+ output[17 + outpos] = ((input[22 + inpos] & 16777215) >>> (24 - 8)) | (input[23 + inpos] << 8);
709
+ output[18 + outpos] = (input[24 + inpos] & 16777215) | (input[25 + inpos] << 24);
710
+ output[19 + outpos] = ((input[25 + inpos] & 16777215) >>> (24 - 16)) | (input[26 + inpos] << 16);
711
+ output[20 + outpos] = ((input[26 + inpos] & 16777215) >>> (24 - 8)) | (input[27 + inpos] << 8);
712
+ output[21 + outpos] = (input[28 + inpos] & 16777215) | (input[29 + inpos] << 24);
713
+ output[22 + outpos] = ((input[29 + inpos] & 16777215) >>> (24 - 16)) | (input[30 + inpos] << 16);
714
+ output[23 + outpos] = ((input[30 + inpos] & 16777215) >>> (24 - 8)) | (input[31 + inpos] << 8);
715
+ }
716
+ function fastpack25(input, inpos, output, outpos) {
717
+ output[outpos] = (input[inpos] & 33554431) | (input[1 + inpos] << 25);
718
+ output[1 + outpos] = ((input[1 + inpos] & 33554431) >>> (25 - 18)) | (input[2 + inpos] << 18);
719
+ output[2 + outpos] = ((input[2 + inpos] & 33554431) >>> (25 - 11)) | (input[3 + inpos] << 11);
720
+ output[3 + outpos] =
721
+ ((input[3 + inpos] & 33554431) >>> (25 - 4)) | ((input[4 + inpos] & 33554431) << 4) | (input[5 + inpos] << 29);
722
+ output[4 + outpos] = ((input[5 + inpos] & 33554431) >>> (25 - 22)) | (input[6 + inpos] << 22);
723
+ output[5 + outpos] = ((input[6 + inpos] & 33554431) >>> (25 - 15)) | (input[7 + inpos] << 15);
724
+ output[6 + outpos] = ((input[7 + inpos] & 33554431) >>> (25 - 8)) | (input[8 + inpos] << 8);
725
+ output[7 + outpos] =
726
+ ((input[8 + inpos] & 33554431) >>> (25 - 1)) | ((input[9 + inpos] & 33554431) << 1) | (input[10 + inpos] << 26);
727
+ output[8 + outpos] = ((input[10 + inpos] & 33554431) >>> (25 - 19)) | (input[11 + inpos] << 19);
728
+ output[9 + outpos] = ((input[11 + inpos] & 33554431) >>> (25 - 12)) | (input[12 + inpos] << 12);
729
+ output[10 + outpos] =
730
+ ((input[12 + inpos] & 33554431) >>> (25 - 5)) |
731
+ ((input[13 + inpos] & 33554431) << 5) |
732
+ (input[14 + inpos] << 30);
733
+ output[11 + outpos] = ((input[14 + inpos] & 33554431) >>> (25 - 23)) | (input[15 + inpos] << 23);
734
+ output[12 + outpos] = ((input[15 + inpos] & 33554431) >>> (25 - 16)) | (input[16 + inpos] << 16);
735
+ output[13 + outpos] = ((input[16 + inpos] & 33554431) >>> (25 - 9)) | (input[17 + inpos] << 9);
736
+ output[14 + outpos] =
737
+ ((input[17 + inpos] & 33554431) >>> (25 - 2)) |
738
+ ((input[18 + inpos] & 33554431) << 2) |
739
+ (input[19 + inpos] << 27);
740
+ output[15 + outpos] = ((input[19 + inpos] & 33554431) >>> (25 - 20)) | (input[20 + inpos] << 20);
741
+ output[16 + outpos] = ((input[20 + inpos] & 33554431) >>> (25 - 13)) | (input[21 + inpos] << 13);
742
+ output[17 + outpos] =
743
+ ((input[21 + inpos] & 33554431) >>> (25 - 6)) |
744
+ ((input[22 + inpos] & 33554431) << 6) |
745
+ (input[23 + inpos] << 31);
746
+ output[18 + outpos] = ((input[23 + inpos] & 33554431) >>> (25 - 24)) | (input[24 + inpos] << 24);
747
+ output[19 + outpos] = ((input[24 + inpos] & 33554431) >>> (25 - 17)) | (input[25 + inpos] << 17);
748
+ output[20 + outpos] = ((input[25 + inpos] & 33554431) >>> (25 - 10)) | (input[26 + inpos] << 10);
749
+ output[21 + outpos] =
750
+ ((input[26 + inpos] & 33554431) >>> (25 - 3)) |
751
+ ((input[27 + inpos] & 33554431) << 3) |
752
+ (input[28 + inpos] << 28);
753
+ output[22 + outpos] = ((input[28 + inpos] & 33554431) >>> (25 - 21)) | (input[29 + inpos] << 21);
754
+ output[23 + outpos] = ((input[29 + inpos] & 33554431) >>> (25 - 14)) | (input[30 + inpos] << 14);
755
+ output[24 + outpos] = ((input[30 + inpos] & 33554431) >>> (25 - 7)) | (input[31 + inpos] << 7);
756
+ }
757
+ function fastpack26(input, inpos, output, outpos) {
758
+ output[outpos] = (input[inpos] & 67108863) | (input[1 + inpos] << 26);
759
+ output[1 + outpos] = ((input[1 + inpos] & 67108863) >>> (26 - 20)) | (input[2 + inpos] << 20);
760
+ output[2 + outpos] = ((input[2 + inpos] & 67108863) >>> (26 - 14)) | (input[3 + inpos] << 14);
761
+ output[3 + outpos] = ((input[3 + inpos] & 67108863) >>> (26 - 8)) | (input[4 + inpos] << 8);
762
+ output[4 + outpos] =
763
+ ((input[4 + inpos] & 67108863) >>> (26 - 2)) | ((input[5 + inpos] & 67108863) << 2) | (input[6 + inpos] << 28);
764
+ output[5 + outpos] = ((input[6 + inpos] & 67108863) >>> (26 - 22)) | (input[7 + inpos] << 22);
765
+ output[6 + outpos] = ((input[7 + inpos] & 67108863) >>> (26 - 16)) | (input[8 + inpos] << 16);
766
+ output[7 + outpos] = ((input[8 + inpos] & 67108863) >>> (26 - 10)) | (input[9 + inpos] << 10);
767
+ output[8 + outpos] =
768
+ ((input[9 + inpos] & 67108863) >>> (26 - 4)) |
769
+ ((input[10 + inpos] & 67108863) << 4) |
770
+ (input[11 + inpos] << 30);
771
+ output[9 + outpos] = ((input[11 + inpos] & 67108863) >>> (26 - 24)) | (input[12 + inpos] << 24);
772
+ output[10 + outpos] = ((input[12 + inpos] & 67108863) >>> (26 - 18)) | (input[13 + inpos] << 18);
773
+ output[11 + outpos] = ((input[13 + inpos] & 67108863) >>> (26 - 12)) | (input[14 + inpos] << 12);
774
+ output[12 + outpos] = ((input[14 + inpos] & 67108863) >>> (26 - 6)) | (input[15 + inpos] << 6);
775
+ output[13 + outpos] = (input[16 + inpos] & 67108863) | (input[17 + inpos] << 26);
776
+ output[14 + outpos] = ((input[17 + inpos] & 67108863) >>> (26 - 20)) | (input[18 + inpos] << 20);
777
+ output[15 + outpos] = ((input[18 + inpos] & 67108863) >>> (26 - 14)) | (input[19 + inpos] << 14);
778
+ output[16 + outpos] = ((input[19 + inpos] & 67108863) >>> (26 - 8)) | (input[20 + inpos] << 8);
779
+ output[17 + outpos] =
780
+ ((input[20 + inpos] & 67108863) >>> (26 - 2)) |
781
+ ((input[21 + inpos] & 67108863) << 2) |
782
+ (input[22 + inpos] << 28);
783
+ output[18 + outpos] = ((input[22 + inpos] & 67108863) >>> (26 - 22)) | (input[23 + inpos] << 22);
784
+ output[19 + outpos] = ((input[23 + inpos] & 67108863) >>> (26 - 16)) | (input[24 + inpos] << 16);
785
+ output[20 + outpos] = ((input[24 + inpos] & 67108863) >>> (26 - 10)) | (input[25 + inpos] << 10);
786
+ output[21 + outpos] =
787
+ ((input[25 + inpos] & 67108863) >>> (26 - 4)) |
788
+ ((input[26 + inpos] & 67108863) << 4) |
789
+ (input[27 + inpos] << 30);
790
+ output[22 + outpos] = ((input[27 + inpos] & 67108863) >>> (26 - 24)) | (input[28 + inpos] << 24);
791
+ output[23 + outpos] = ((input[28 + inpos] & 67108863) >>> (26 - 18)) | (input[29 + inpos] << 18);
792
+ output[24 + outpos] = ((input[29 + inpos] & 67108863) >>> (26 - 12)) | (input[30 + inpos] << 12);
793
+ output[25 + outpos] = ((input[30 + inpos] & 67108863) >>> (26 - 6)) | (input[31 + inpos] << 6);
794
+ }
795
+ function fastpack27(input, inpos, output, outpos) {
796
+ output[outpos] = (input[inpos] & 134217727) | (input[1 + inpos] << 27);
797
+ output[1 + outpos] = ((input[1 + inpos] & 134217727) >>> (27 - 22)) | (input[2 + inpos] << 22);
798
+ output[2 + outpos] = ((input[2 + inpos] & 134217727) >>> (27 - 17)) | (input[3 + inpos] << 17);
799
+ output[3 + outpos] = ((input[3 + inpos] & 134217727) >>> (27 - 12)) | (input[4 + inpos] << 12);
800
+ output[4 + outpos] = ((input[4 + inpos] & 134217727) >>> (27 - 7)) | (input[5 + inpos] << 7);
801
+ output[5 + outpos] =
802
+ ((input[5 + inpos] & 134217727) >>> (27 - 2)) |
803
+ ((input[6 + inpos] & 134217727) << 2) |
804
+ (input[7 + inpos] << 29);
805
+ output[6 + outpos] = ((input[7 + inpos] & 134217727) >>> (27 - 24)) | (input[8 + inpos] << 24);
806
+ output[7 + outpos] = ((input[8 + inpos] & 134217727) >>> (27 - 19)) | (input[9 + inpos] << 19);
807
+ output[8 + outpos] = ((input[9 + inpos] & 134217727) >>> (27 - 14)) | (input[10 + inpos] << 14);
808
+ output[9 + outpos] = ((input[10 + inpos] & 134217727) >>> (27 - 9)) | (input[11 + inpos] << 9);
809
+ output[10 + outpos] =
810
+ ((input[11 + inpos] & 134217727) >>> (27 - 4)) |
811
+ ((input[12 + inpos] & 134217727) << 4) |
812
+ (input[13 + inpos] << 31);
813
+ output[11 + outpos] = ((input[13 + inpos] & 134217727) >>> (27 - 26)) | (input[14 + inpos] << 26);
814
+ output[12 + outpos] = ((input[14 + inpos] & 134217727) >>> (27 - 21)) | (input[15 + inpos] << 21);
815
+ output[13 + outpos] = ((input[15 + inpos] & 134217727) >>> (27 - 16)) | (input[16 + inpos] << 16);
816
+ output[14 + outpos] = ((input[16 + inpos] & 134217727) >>> (27 - 11)) | (input[17 + inpos] << 11);
817
+ output[15 + outpos] = ((input[17 + inpos] & 134217727) >>> (27 - 6)) | (input[18 + inpos] << 6);
818
+ output[16 + outpos] =
819
+ ((input[18 + inpos] & 134217727) >>> (27 - 1)) |
820
+ ((input[19 + inpos] & 134217727) << 1) |
821
+ (input[20 + inpos] << 28);
822
+ output[17 + outpos] = ((input[20 + inpos] & 134217727) >>> (27 - 23)) | (input[21 + inpos] << 23);
823
+ output[18 + outpos] = ((input[21 + inpos] & 134217727) >>> (27 - 18)) | (input[22 + inpos] << 18);
824
+ output[19 + outpos] = ((input[22 + inpos] & 134217727) >>> (27 - 13)) | (input[23 + inpos] << 13);
825
+ output[20 + outpos] = ((input[23 + inpos] & 134217727) >>> (27 - 8)) | (input[24 + inpos] << 8);
826
+ output[21 + outpos] =
827
+ ((input[24 + inpos] & 134217727) >>> (27 - 3)) |
828
+ ((input[25 + inpos] & 134217727) << 3) |
829
+ (input[26 + inpos] << 30);
830
+ output[22 + outpos] = ((input[26 + inpos] & 134217727) >>> (27 - 25)) | (input[27 + inpos] << 25);
831
+ output[23 + outpos] = ((input[27 + inpos] & 134217727) >>> (27 - 20)) | (input[28 + inpos] << 20);
832
+ output[24 + outpos] = ((input[28 + inpos] & 134217727) >>> (27 - 15)) | (input[29 + inpos] << 15);
833
+ output[25 + outpos] = ((input[29 + inpos] & 134217727) >>> (27 - 10)) | (input[30 + inpos] << 10);
834
+ output[26 + outpos] = ((input[30 + inpos] & 134217727) >>> (27 - 5)) | (input[31 + inpos] << 5);
835
+ }
836
+ function fastpack28(input, inpos, output, outpos) {
837
+ output[outpos] = (input[inpos] & 268435455) | (input[1 + inpos] << 28);
838
+ output[1 + outpos] = ((input[1 + inpos] & 268435455) >>> (28 - 24)) | (input[2 + inpos] << 24);
839
+ output[2 + outpos] = ((input[2 + inpos] & 268435455) >>> (28 - 20)) | (input[3 + inpos] << 20);
840
+ output[3 + outpos] = ((input[3 + inpos] & 268435455) >>> (28 - 16)) | (input[4 + inpos] << 16);
841
+ output[4 + outpos] = ((input[4 + inpos] & 268435455) >>> (28 - 12)) | (input[5 + inpos] << 12);
842
+ output[5 + outpos] = ((input[5 + inpos] & 268435455) >>> (28 - 8)) | (input[6 + inpos] << 8);
843
+ output[6 + outpos] = ((input[6 + inpos] & 268435455) >>> (28 - 4)) | (input[7 + inpos] << 4);
844
+ output[7 + outpos] = (input[8 + inpos] & 268435455) | (input[9 + inpos] << 28);
845
+ output[8 + outpos] = ((input[9 + inpos] & 268435455) >>> (28 - 24)) | (input[10 + inpos] << 24);
846
+ output[9 + outpos] = ((input[10 + inpos] & 268435455) >>> (28 - 20)) | (input[11 + inpos] << 20);
847
+ output[10 + outpos] = ((input[11 + inpos] & 268435455) >>> (28 - 16)) | (input[12 + inpos] << 16);
848
+ output[11 + outpos] = ((input[12 + inpos] & 268435455) >>> (28 - 12)) | (input[13 + inpos] << 12);
849
+ output[12 + outpos] = ((input[13 + inpos] & 268435455) >>> (28 - 8)) | (input[14 + inpos] << 8);
850
+ output[13 + outpos] = ((input[14 + inpos] & 268435455) >>> (28 - 4)) | (input[15 + inpos] << 4);
851
+ output[14 + outpos] = (input[16 + inpos] & 268435455) | (input[17 + inpos] << 28);
852
+ output[15 + outpos] = ((input[17 + inpos] & 268435455) >>> (28 - 24)) | (input[18 + inpos] << 24);
853
+ output[16 + outpos] = ((input[18 + inpos] & 268435455) >>> (28 - 20)) | (input[19 + inpos] << 20);
854
+ output[17 + outpos] = ((input[19 + inpos] & 268435455) >>> (28 - 16)) | (input[20 + inpos] << 16);
855
+ output[18 + outpos] = ((input[20 + inpos] & 268435455) >>> (28 - 12)) | (input[21 + inpos] << 12);
856
+ output[19 + outpos] = ((input[21 + inpos] & 268435455) >>> (28 - 8)) | (input[22 + inpos] << 8);
857
+ output[20 + outpos] = ((input[22 + inpos] & 268435455) >>> (28 - 4)) | (input[23 + inpos] << 4);
858
+ output[21 + outpos] = (input[24 + inpos] & 268435455) | (input[25 + inpos] << 28);
859
+ output[22 + outpos] = ((input[25 + inpos] & 268435455) >>> (28 - 24)) | (input[26 + inpos] << 24);
860
+ output[23 + outpos] = ((input[26 + inpos] & 268435455) >>> (28 - 20)) | (input[27 + inpos] << 20);
861
+ output[24 + outpos] = ((input[27 + inpos] & 268435455) >>> (28 - 16)) | (input[28 + inpos] << 16);
862
+ output[25 + outpos] = ((input[28 + inpos] & 268435455) >>> (28 - 12)) | (input[29 + inpos] << 12);
863
+ output[26 + outpos] = ((input[29 + inpos] & 268435455) >>> (28 - 8)) | (input[30 + inpos] << 8);
864
+ output[27 + outpos] = ((input[30 + inpos] & 268435455) >>> (28 - 4)) | (input[31 + inpos] << 4);
865
+ }
866
+ function fastpack29(input, inpos, output, outpos) {
867
+ output[outpos] = (input[inpos] & 536870911) | (input[1 + inpos] << 29);
868
+ output[1 + outpos] = ((input[1 + inpos] & 536870911) >>> (29 - 26)) | (input[2 + inpos] << 26);
869
+ output[2 + outpos] = ((input[2 + inpos] & 536870911) >>> (29 - 23)) | (input[3 + inpos] << 23);
870
+ output[3 + outpos] = ((input[3 + inpos] & 536870911) >>> (29 - 20)) | (input[4 + inpos] << 20);
871
+ output[4 + outpos] = ((input[4 + inpos] & 536870911) >>> (29 - 17)) | (input[5 + inpos] << 17);
872
+ output[5 + outpos] = ((input[5 + inpos] & 536870911) >>> (29 - 14)) | (input[6 + inpos] << 14);
873
+ output[6 + outpos] = ((input[6 + inpos] & 536870911) >>> (29 - 11)) | (input[7 + inpos] << 11);
874
+ output[7 + outpos] = ((input[7 + inpos] & 536870911) >>> (29 - 8)) | (input[8 + inpos] << 8);
875
+ output[8 + outpos] = ((input[8 + inpos] & 536870911) >>> (29 - 5)) | (input[9 + inpos] << 5);
876
+ output[9 + outpos] =
877
+ ((input[9 + inpos] & 536870911) >>> (29 - 2)) |
878
+ ((input[10 + inpos] & 536870911) << 2) |
879
+ (input[11 + inpos] << 31);
880
+ output[10 + outpos] = ((input[11 + inpos] & 536870911) >>> (29 - 28)) | (input[12 + inpos] << 28);
881
+ output[11 + outpos] = ((input[12 + inpos] & 536870911) >>> (29 - 25)) | (input[13 + inpos] << 25);
882
+ output[12 + outpos] = ((input[13 + inpos] & 536870911) >>> (29 - 22)) | (input[14 + inpos] << 22);
883
+ output[13 + outpos] = ((input[14 + inpos] & 536870911) >>> (29 - 19)) | (input[15 + inpos] << 19);
884
+ output[14 + outpos] = ((input[15 + inpos] & 536870911) >>> (29 - 16)) | (input[16 + inpos] << 16);
885
+ output[15 + outpos] = ((input[16 + inpos] & 536870911) >>> (29 - 13)) | (input[17 + inpos] << 13);
886
+ output[16 + outpos] = ((input[17 + inpos] & 536870911) >>> (29 - 10)) | (input[18 + inpos] << 10);
887
+ output[17 + outpos] = ((input[18 + inpos] & 536870911) >>> (29 - 7)) | (input[19 + inpos] << 7);
888
+ output[18 + outpos] = ((input[19 + inpos] & 536870911) >>> (29 - 4)) | (input[20 + inpos] << 4);
889
+ output[19 + outpos] =
890
+ ((input[20 + inpos] & 536870911) >>> (29 - 1)) |
891
+ ((input[21 + inpos] & 536870911) << 1) |
892
+ (input[22 + inpos] << 30);
893
+ output[20 + outpos] = ((input[22 + inpos] & 536870911) >>> (29 - 27)) | (input[23 + inpos] << 27);
894
+ output[21 + outpos] = ((input[23 + inpos] & 536870911) >>> (29 - 24)) | (input[24 + inpos] << 24);
895
+ output[22 + outpos] = ((input[24 + inpos] & 536870911) >>> (29 - 21)) | (input[25 + inpos] << 21);
896
+ output[23 + outpos] = ((input[25 + inpos] & 536870911) >>> (29 - 18)) | (input[26 + inpos] << 18);
897
+ output[24 + outpos] = ((input[26 + inpos] & 536870911) >>> (29 - 15)) | (input[27 + inpos] << 15);
898
+ output[25 + outpos] = ((input[27 + inpos] & 536870911) >>> (29 - 12)) | (input[28 + inpos] << 12);
899
+ output[26 + outpos] = ((input[28 + inpos] & 536870911) >>> (29 - 9)) | (input[29 + inpos] << 9);
900
+ output[27 + outpos] = ((input[29 + inpos] & 536870911) >>> (29 - 6)) | (input[30 + inpos] << 6);
901
+ output[28 + outpos] = ((input[30 + inpos] & 536870911) >>> (29 - 3)) | (input[31 + inpos] << 3);
902
+ }
903
+ function fastpack3(input, inpos, output, outpos) {
904
+ output[outpos] =
905
+ (input[inpos] & 7) |
906
+ ((input[1 + inpos] & 7) << 3) |
907
+ ((input[2 + inpos] & 7) << 6) |
908
+ ((input[3 + inpos] & 7) << 9) |
909
+ ((input[4 + inpos] & 7) << 12) |
910
+ ((input[5 + inpos] & 7) << 15) |
911
+ ((input[6 + inpos] & 7) << 18) |
912
+ ((input[7 + inpos] & 7) << 21) |
913
+ ((input[8 + inpos] & 7) << 24) |
914
+ ((input[9 + inpos] & 7) << 27) |
915
+ (input[10 + inpos] << 30);
916
+ output[1 + outpos] =
917
+ ((input[10 + inpos] & 7) >>> (3 - 1)) |
918
+ ((input[11 + inpos] & 7) << 1) |
919
+ ((input[12 + inpos] & 7) << 4) |
920
+ ((input[13 + inpos] & 7) << 7) |
921
+ ((input[14 + inpos] & 7) << 10) |
922
+ ((input[15 + inpos] & 7) << 13) |
923
+ ((input[16 + inpos] & 7) << 16) |
924
+ ((input[17 + inpos] & 7) << 19) |
925
+ ((input[18 + inpos] & 7) << 22) |
926
+ ((input[19 + inpos] & 7) << 25) |
927
+ ((input[20 + inpos] & 7) << 28) |
928
+ (input[21 + inpos] << 31);
929
+ output[2 + outpos] =
930
+ ((input[21 + inpos] & 7) >>> (3 - 2)) |
931
+ ((input[22 + inpos] & 7) << 2) |
932
+ ((input[23 + inpos] & 7) << 5) |
933
+ ((input[24 + inpos] & 7) << 8) |
934
+ ((input[25 + inpos] & 7) << 11) |
935
+ ((input[26 + inpos] & 7) << 14) |
936
+ ((input[27 + inpos] & 7) << 17) |
937
+ ((input[28 + inpos] & 7) << 20) |
938
+ ((input[29 + inpos] & 7) << 23) |
939
+ ((input[30 + inpos] & 7) << 26) |
940
+ (input[31 + inpos] << 29);
941
+ }
942
+ function fastpack30(input, inpos, output, outpos) {
943
+ output[outpos] = (input[inpos] & 1073741823) | (input[1 + inpos] << 30);
944
+ output[1 + outpos] = ((input[1 + inpos] & 1073741823) >>> (30 - 28)) | (input[2 + inpos] << 28);
945
+ output[2 + outpos] = ((input[2 + inpos] & 1073741823) >>> (30 - 26)) | (input[3 + inpos] << 26);
946
+ output[3 + outpos] = ((input[3 + inpos] & 1073741823) >>> (30 - 24)) | (input[4 + inpos] << 24);
947
+ output[4 + outpos] = ((input[4 + inpos] & 1073741823) >>> (30 - 22)) | (input[5 + inpos] << 22);
948
+ output[5 + outpos] = ((input[5 + inpos] & 1073741823) >>> (30 - 20)) | (input[6 + inpos] << 20);
949
+ output[6 + outpos] = ((input[6 + inpos] & 1073741823) >>> (30 - 18)) | (input[7 + inpos] << 18);
950
+ output[7 + outpos] = ((input[7 + inpos] & 1073741823) >>> (30 - 16)) | (input[8 + inpos] << 16);
951
+ output[8 + outpos] = ((input[8 + inpos] & 1073741823) >>> (30 - 14)) | (input[9 + inpos] << 14);
952
+ output[9 + outpos] = ((input[9 + inpos] & 1073741823) >>> (30 - 12)) | (input[10 + inpos] << 12);
953
+ output[10 + outpos] = ((input[10 + inpos] & 1073741823) >>> (30 - 10)) | (input[11 + inpos] << 10);
954
+ output[11 + outpos] = ((input[11 + inpos] & 1073741823) >>> (30 - 8)) | (input[12 + inpos] << 8);
955
+ output[12 + outpos] = ((input[12 + inpos] & 1073741823) >>> (30 - 6)) | (input[13 + inpos] << 6);
956
+ output[13 + outpos] = ((input[13 + inpos] & 1073741823) >>> (30 - 4)) | (input[14 + inpos] << 4);
957
+ output[14 + outpos] = ((input[14 + inpos] & 1073741823) >>> (30 - 2)) | (input[15 + inpos] << 2);
958
+ output[15 + outpos] = (input[16 + inpos] & 1073741823) | (input[17 + inpos] << 30);
959
+ output[16 + outpos] = ((input[17 + inpos] & 1073741823) >>> (30 - 28)) | (input[18 + inpos] << 28);
960
+ output[17 + outpos] = ((input[18 + inpos] & 1073741823) >>> (30 - 26)) | (input[19 + inpos] << 26);
961
+ output[18 + outpos] = ((input[19 + inpos] & 1073741823) >>> (30 - 24)) | (input[20 + inpos] << 24);
962
+ output[19 + outpos] = ((input[20 + inpos] & 1073741823) >>> (30 - 22)) | (input[21 + inpos] << 22);
963
+ output[20 + outpos] = ((input[21 + inpos] & 1073741823) >>> (30 - 20)) | (input[22 + inpos] << 20);
964
+ output[21 + outpos] = ((input[22 + inpos] & 1073741823) >>> (30 - 18)) | (input[23 + inpos] << 18);
965
+ output[22 + outpos] = ((input[23 + inpos] & 1073741823) >>> (30 - 16)) | (input[24 + inpos] << 16);
966
+ output[23 + outpos] = ((input[24 + inpos] & 1073741823) >>> (30 - 14)) | (input[25 + inpos] << 14);
967
+ output[24 + outpos] = ((input[25 + inpos] & 1073741823) >>> (30 - 12)) | (input[26 + inpos] << 12);
968
+ output[25 + outpos] = ((input[26 + inpos] & 1073741823) >>> (30 - 10)) | (input[27 + inpos] << 10);
969
+ output[26 + outpos] = ((input[27 + inpos] & 1073741823) >>> (30 - 8)) | (input[28 + inpos] << 8);
970
+ output[27 + outpos] = ((input[28 + inpos] & 1073741823) >>> (30 - 6)) | (input[29 + inpos] << 6);
971
+ output[28 + outpos] = ((input[29 + inpos] & 1073741823) >>> (30 - 4)) | (input[30 + inpos] << 4);
972
+ output[29 + outpos] = ((input[30 + inpos] & 1073741823) >>> (30 - 2)) | (input[31 + inpos] << 2);
973
+ }
974
+ function fastpack31(input, inpos, output, outpos) {
975
+ output[outpos] = (input[inpos] & 2147483647) | (input[1 + inpos] << 31);
976
+ output[1 + outpos] = ((input[1 + inpos] & 2147483647) >>> (31 - 30)) | (input[2 + inpos] << 30);
977
+ output[2 + outpos] = ((input[2 + inpos] & 2147483647) >>> (31 - 29)) | (input[3 + inpos] << 29);
978
+ output[3 + outpos] = ((input[3 + inpos] & 2147483647) >>> (31 - 28)) | (input[4 + inpos] << 28);
979
+ output[4 + outpos] = ((input[4 + inpos] & 2147483647) >>> (31 - 27)) | (input[5 + inpos] << 27);
980
+ output[5 + outpos] = ((input[5 + inpos] & 2147483647) >>> (31 - 26)) | (input[6 + inpos] << 26);
981
+ output[6 + outpos] = ((input[6 + inpos] & 2147483647) >>> (31 - 25)) | (input[7 + inpos] << 25);
982
+ output[7 + outpos] = ((input[7 + inpos] & 2147483647) >>> (31 - 24)) | (input[8 + inpos] << 24);
983
+ output[8 + outpos] = ((input[8 + inpos] & 2147483647) >>> (31 - 23)) | (input[9 + inpos] << 23);
984
+ output[9 + outpos] = ((input[9 + inpos] & 2147483647) >>> (31 - 22)) | (input[10 + inpos] << 22);
985
+ output[10 + outpos] = ((input[10 + inpos] & 2147483647) >>> (31 - 21)) | (input[11 + inpos] << 21);
986
+ output[11 + outpos] = ((input[11 + inpos] & 2147483647) >>> (31 - 20)) | (input[12 + inpos] << 20);
987
+ output[12 + outpos] = ((input[12 + inpos] & 2147483647) >>> (31 - 19)) | (input[13 + inpos] << 19);
988
+ output[13 + outpos] = ((input[13 + inpos] & 2147483647) >>> (31 - 18)) | (input[14 + inpos] << 18);
989
+ output[14 + outpos] = ((input[14 + inpos] & 2147483647) >>> (31 - 17)) | (input[15 + inpos] << 17);
990
+ output[15 + outpos] = ((input[15 + inpos] & 2147483647) >>> (31 - 16)) | (input[16 + inpos] << 16);
991
+ output[16 + outpos] = ((input[16 + inpos] & 2147483647) >>> (31 - 15)) | (input[17 + inpos] << 15);
992
+ output[17 + outpos] = ((input[17 + inpos] & 2147483647) >>> (31 - 14)) | (input[18 + inpos] << 14);
993
+ output[18 + outpos] = ((input[18 + inpos] & 2147483647) >>> (31 - 13)) | (input[19 + inpos] << 13);
994
+ output[19 + outpos] = ((input[19 + inpos] & 2147483647) >>> (31 - 12)) | (input[20 + inpos] << 12);
995
+ output[20 + outpos] = ((input[20 + inpos] & 2147483647) >>> (31 - 11)) | (input[21 + inpos] << 11);
996
+ output[21 + outpos] = ((input[21 + inpos] & 2147483647) >>> (31 - 10)) | (input[22 + inpos] << 10);
997
+ output[22 + outpos] = ((input[22 + inpos] & 2147483647) >>> (31 - 9)) | (input[23 + inpos] << 9);
998
+ output[23 + outpos] = ((input[23 + inpos] & 2147483647) >>> (31 - 8)) | (input[24 + inpos] << 8);
999
+ output[24 + outpos] = ((input[24 + inpos] & 2147483647) >>> (31 - 7)) | (input[25 + inpos] << 7);
1000
+ output[25 + outpos] = ((input[25 + inpos] & 2147483647) >>> (31 - 6)) | (input[26 + inpos] << 6);
1001
+ output[26 + outpos] = ((input[26 + inpos] & 2147483647) >>> (31 - 5)) | (input[27 + inpos] << 5);
1002
+ output[27 + outpos] = ((input[27 + inpos] & 2147483647) >>> (31 - 4)) | (input[28 + inpos] << 4);
1003
+ output[28 + outpos] = ((input[28 + inpos] & 2147483647) >>> (31 - 3)) | (input[29 + inpos] << 3);
1004
+ output[29 + outpos] = ((input[29 + inpos] & 2147483647) >>> (31 - 2)) | (input[30 + inpos] << 2);
1005
+ output[30 + outpos] = ((input[30 + inpos] & 2147483647) >>> (31 - 1)) | (input[31 + inpos] << 1);
1006
+ }
1007
+ function fastpack32(input, inpos, output, outpos) {
1008
+ (0, util_1.arraycopy)(input, inpos, output, outpos, 32);
1009
+ }
1010
+ function fastpack4(input, inpos, output, outpos) {
1011
+ output[outpos] =
1012
+ (input[inpos] & 15) |
1013
+ ((input[1 + inpos] & 15) << 4) |
1014
+ ((input[2 + inpos] & 15) << 8) |
1015
+ ((input[3 + inpos] & 15) << 12) |
1016
+ ((input[4 + inpos] & 15) << 16) |
1017
+ ((input[5 + inpos] & 15) << 20) |
1018
+ ((input[6 + inpos] & 15) << 24) |
1019
+ (input[7 + inpos] << 28);
1020
+ output[1 + outpos] =
1021
+ (input[8 + inpos] & 15) |
1022
+ ((input[9 + inpos] & 15) << 4) |
1023
+ ((input[10 + inpos] & 15) << 8) |
1024
+ ((input[11 + inpos] & 15) << 12) |
1025
+ ((input[12 + inpos] & 15) << 16) |
1026
+ ((input[13 + inpos] & 15) << 20) |
1027
+ ((input[14 + inpos] & 15) << 24) |
1028
+ (input[15 + inpos] << 28);
1029
+ output[2 + outpos] =
1030
+ (input[16 + inpos] & 15) |
1031
+ ((input[17 + inpos] & 15) << 4) |
1032
+ ((input[18 + inpos] & 15) << 8) |
1033
+ ((input[19 + inpos] & 15) << 12) |
1034
+ ((input[20 + inpos] & 15) << 16) |
1035
+ ((input[21 + inpos] & 15) << 20) |
1036
+ ((input[22 + inpos] & 15) << 24) |
1037
+ (input[23 + inpos] << 28);
1038
+ output[3 + outpos] =
1039
+ (input[24 + inpos] & 15) |
1040
+ ((input[25 + inpos] & 15) << 4) |
1041
+ ((input[26 + inpos] & 15) << 8) |
1042
+ ((input[27 + inpos] & 15) << 12) |
1043
+ ((input[28 + inpos] & 15) << 16) |
1044
+ ((input[29 + inpos] & 15) << 20) |
1045
+ ((input[30 + inpos] & 15) << 24) |
1046
+ (input[31 + inpos] << 28);
1047
+ }
1048
+ function fastpack5(input, inpos, output, outpos) {
1049
+ output[outpos] =
1050
+ (input[inpos] & 31) |
1051
+ ((input[1 + inpos] & 31) << 5) |
1052
+ ((input[2 + inpos] & 31) << 10) |
1053
+ ((input[3 + inpos] & 31) << 15) |
1054
+ ((input[4 + inpos] & 31) << 20) |
1055
+ ((input[5 + inpos] & 31) << 25) |
1056
+ (input[6 + inpos] << 30);
1057
+ output[1 + outpos] =
1058
+ ((input[6 + inpos] & 31) >>> (5 - 3)) |
1059
+ ((input[7 + inpos] & 31) << 3) |
1060
+ ((input[8 + inpos] & 31) << 8) |
1061
+ ((input[9 + inpos] & 31) << 13) |
1062
+ ((input[10 + inpos] & 31) << 18) |
1063
+ ((input[11 + inpos] & 31) << 23) |
1064
+ (input[12 + inpos] << 28);
1065
+ output[2 + outpos] =
1066
+ ((input[12 + inpos] & 31) >>> (5 - 1)) |
1067
+ ((input[13 + inpos] & 31) << 1) |
1068
+ ((input[14 + inpos] & 31) << 6) |
1069
+ ((input[15 + inpos] & 31) << 11) |
1070
+ ((input[16 + inpos] & 31) << 16) |
1071
+ ((input[17 + inpos] & 31) << 21) |
1072
+ ((input[18 + inpos] & 31) << 26) |
1073
+ (input[19 + inpos] << 31);
1074
+ output[3 + outpos] =
1075
+ ((input[19 + inpos] & 31) >>> (5 - 4)) |
1076
+ ((input[20 + inpos] & 31) << 4) |
1077
+ ((input[21 + inpos] & 31) << 9) |
1078
+ ((input[22 + inpos] & 31) << 14) |
1079
+ ((input[23 + inpos] & 31) << 19) |
1080
+ ((input[24 + inpos] & 31) << 24) |
1081
+ (input[25 + inpos] << 29);
1082
+ output[4 + outpos] =
1083
+ ((input[25 + inpos] & 31) >>> (5 - 2)) |
1084
+ ((input[26 + inpos] & 31) << 2) |
1085
+ ((input[27 + inpos] & 31) << 7) |
1086
+ ((input[28 + inpos] & 31) << 12) |
1087
+ ((input[29 + inpos] & 31) << 17) |
1088
+ ((input[30 + inpos] & 31) << 22) |
1089
+ (input[31 + inpos] << 27);
1090
+ }
1091
+ function fastpack6(input, inpos, output, outpos) {
1092
+ output[outpos] =
1093
+ (input[inpos] & 63) |
1094
+ ((input[1 + inpos] & 63) << 6) |
1095
+ ((input[2 + inpos] & 63) << 12) |
1096
+ ((input[3 + inpos] & 63) << 18) |
1097
+ ((input[4 + inpos] & 63) << 24) |
1098
+ (input[5 + inpos] << 30);
1099
+ output[1 + outpos] =
1100
+ ((input[5 + inpos] & 63) >>> (6 - 4)) |
1101
+ ((input[6 + inpos] & 63) << 4) |
1102
+ ((input[7 + inpos] & 63) << 10) |
1103
+ ((input[8 + inpos] & 63) << 16) |
1104
+ ((input[9 + inpos] & 63) << 22) |
1105
+ (input[10 + inpos] << 28);
1106
+ output[2 + outpos] =
1107
+ ((input[10 + inpos] & 63) >>> (6 - 2)) |
1108
+ ((input[11 + inpos] & 63) << 2) |
1109
+ ((input[12 + inpos] & 63) << 8) |
1110
+ ((input[13 + inpos] & 63) << 14) |
1111
+ ((input[14 + inpos] & 63) << 20) |
1112
+ (input[15 + inpos] << 26);
1113
+ output[3 + outpos] =
1114
+ (input[16 + inpos] & 63) |
1115
+ ((input[17 + inpos] & 63) << 6) |
1116
+ ((input[18 + inpos] & 63) << 12) |
1117
+ ((input[19 + inpos] & 63) << 18) |
1118
+ ((input[20 + inpos] & 63) << 24) |
1119
+ (input[21 + inpos] << 30);
1120
+ output[4 + outpos] =
1121
+ ((input[21 + inpos] & 63) >>> (6 - 4)) |
1122
+ ((input[22 + inpos] & 63) << 4) |
1123
+ ((input[23 + inpos] & 63) << 10) |
1124
+ ((input[24 + inpos] & 63) << 16) |
1125
+ ((input[25 + inpos] & 63) << 22) |
1126
+ (input[26 + inpos] << 28);
1127
+ output[5 + outpos] =
1128
+ ((input[26 + inpos] & 63) >>> (6 - 2)) |
1129
+ ((input[27 + inpos] & 63) << 2) |
1130
+ ((input[28 + inpos] & 63) << 8) |
1131
+ ((input[29 + inpos] & 63) << 14) |
1132
+ ((input[30 + inpos] & 63) << 20) |
1133
+ (input[31 + inpos] << 26);
1134
+ }
1135
+ function fastpack7(input, inpos, output, outpos) {
1136
+ output[outpos] =
1137
+ (input[inpos] & 127) |
1138
+ ((input[1 + inpos] & 127) << 7) |
1139
+ ((input[2 + inpos] & 127) << 14) |
1140
+ ((input[3 + inpos] & 127) << 21) |
1141
+ (input[4 + inpos] << 28);
1142
+ output[1 + outpos] =
1143
+ ((input[4 + inpos] & 127) >>> (7 - 3)) |
1144
+ ((input[5 + inpos] & 127) << 3) |
1145
+ ((input[6 + inpos] & 127) << 10) |
1146
+ ((input[7 + inpos] & 127) << 17) |
1147
+ ((input[8 + inpos] & 127) << 24) |
1148
+ (input[9 + inpos] << 31);
1149
+ output[2 + outpos] =
1150
+ ((input[9 + inpos] & 127) >>> (7 - 6)) |
1151
+ ((input[10 + inpos] & 127) << 6) |
1152
+ ((input[11 + inpos] & 127) << 13) |
1153
+ ((input[12 + inpos] & 127) << 20) |
1154
+ (input[13 + inpos] << 27);
1155
+ output[3 + outpos] =
1156
+ ((input[13 + inpos] & 127) >>> (7 - 2)) |
1157
+ ((input[14 + inpos] & 127) << 2) |
1158
+ ((input[15 + inpos] & 127) << 9) |
1159
+ ((input[16 + inpos] & 127) << 16) |
1160
+ ((input[17 + inpos] & 127) << 23) |
1161
+ (input[18 + inpos] << 30);
1162
+ output[4 + outpos] =
1163
+ ((input[18 + inpos] & 127) >>> (7 - 5)) |
1164
+ ((input[19 + inpos] & 127) << 5) |
1165
+ ((input[20 + inpos] & 127) << 12) |
1166
+ ((input[21 + inpos] & 127) << 19) |
1167
+ (input[22 + inpos] << 26);
1168
+ output[5 + outpos] =
1169
+ ((input[22 + inpos] & 127) >>> (7 - 1)) |
1170
+ ((input[23 + inpos] & 127) << 1) |
1171
+ ((input[24 + inpos] & 127) << 8) |
1172
+ ((input[25 + inpos] & 127) << 15) |
1173
+ ((input[26 + inpos] & 127) << 22) |
1174
+ (input[27 + inpos] << 29);
1175
+ output[6 + outpos] =
1176
+ ((input[27 + inpos] & 127) >>> (7 - 4)) |
1177
+ ((input[28 + inpos] & 127) << 4) |
1178
+ ((input[29 + inpos] & 127) << 11) |
1179
+ ((input[30 + inpos] & 127) << 18) |
1180
+ (input[31 + inpos] << 25);
1181
+ }
1182
+ function fastpack8(input, inpos, output, outpos) {
1183
+ output[outpos] =
1184
+ (input[inpos] & 255) |
1185
+ ((input[1 + inpos] & 255) << 8) |
1186
+ ((input[2 + inpos] & 255) << 16) |
1187
+ (input[3 + inpos] << 24);
1188
+ output[1 + outpos] =
1189
+ (input[4 + inpos] & 255) |
1190
+ ((input[5 + inpos] & 255) << 8) |
1191
+ ((input[6 + inpos] & 255) << 16) |
1192
+ (input[7 + inpos] << 24);
1193
+ output[2 + outpos] =
1194
+ (input[8 + inpos] & 255) |
1195
+ ((input[9 + inpos] & 255) << 8) |
1196
+ ((input[10 + inpos] & 255) << 16) |
1197
+ (input[11 + inpos] << 24);
1198
+ output[3 + outpos] =
1199
+ (input[12 + inpos] & 255) |
1200
+ ((input[13 + inpos] & 255) << 8) |
1201
+ ((input[14 + inpos] & 255) << 16) |
1202
+ (input[15 + inpos] << 24);
1203
+ output[4 + outpos] =
1204
+ (input[16 + inpos] & 255) |
1205
+ ((input[17 + inpos] & 255) << 8) |
1206
+ ((input[18 + inpos] & 255) << 16) |
1207
+ (input[19 + inpos] << 24);
1208
+ output[5 + outpos] =
1209
+ (input[20 + inpos] & 255) |
1210
+ ((input[21 + inpos] & 255) << 8) |
1211
+ ((input[22 + inpos] & 255) << 16) |
1212
+ (input[23 + inpos] << 24);
1213
+ output[6 + outpos] =
1214
+ (input[24 + inpos] & 255) |
1215
+ ((input[25 + inpos] & 255) << 8) |
1216
+ ((input[26 + inpos] & 255) << 16) |
1217
+ (input[27 + inpos] << 24);
1218
+ output[7 + outpos] =
1219
+ (input[28 + inpos] & 255) |
1220
+ ((input[29 + inpos] & 255) << 8) |
1221
+ ((input[30 + inpos] & 255) << 16) |
1222
+ (input[31 + inpos] << 24);
1223
+ }
1224
+ function fastpack9(input, inpos, output, outpos) {
1225
+ output[outpos] =
1226
+ (input[inpos] & 511) |
1227
+ ((input[1 + inpos] & 511) << 9) |
1228
+ ((input[2 + inpos] & 511) << 18) |
1229
+ (input[3 + inpos] << 27);
1230
+ output[1 + outpos] =
1231
+ ((input[3 + inpos] & 511) >>> (9 - 4)) |
1232
+ ((input[4 + inpos] & 511) << 4) |
1233
+ ((input[5 + inpos] & 511) << 13) |
1234
+ ((input[6 + inpos] & 511) << 22) |
1235
+ (input[7 + inpos] << 31);
1236
+ output[2 + outpos] =
1237
+ ((input[7 + inpos] & 511) >>> (9 - 8)) |
1238
+ ((input[8 + inpos] & 511) << 8) |
1239
+ ((input[9 + inpos] & 511) << 17) |
1240
+ (input[10 + inpos] << 26);
1241
+ output[3 + outpos] =
1242
+ ((input[10 + inpos] & 511) >>> (9 - 3)) |
1243
+ ((input[11 + inpos] & 511) << 3) |
1244
+ ((input[12 + inpos] & 511) << 12) |
1245
+ ((input[13 + inpos] & 511) << 21) |
1246
+ (input[14 + inpos] << 30);
1247
+ output[4 + outpos] =
1248
+ ((input[14 + inpos] & 511) >>> (9 - 7)) |
1249
+ ((input[15 + inpos] & 511) << 7) |
1250
+ ((input[16 + inpos] & 511) << 16) |
1251
+ (input[17 + inpos] << 25);
1252
+ output[5 + outpos] =
1253
+ ((input[17 + inpos] & 511) >>> (9 - 2)) |
1254
+ ((input[18 + inpos] & 511) << 2) |
1255
+ ((input[19 + inpos] & 511) << 11) |
1256
+ ((input[20 + inpos] & 511) << 20) |
1257
+ (input[21 + inpos] << 29);
1258
+ output[6 + outpos] =
1259
+ ((input[21 + inpos] & 511) >>> (9 - 6)) |
1260
+ ((input[22 + inpos] & 511) << 6) |
1261
+ ((input[23 + inpos] & 511) << 15) |
1262
+ (input[24 + inpos] << 24);
1263
+ output[7 + outpos] =
1264
+ ((input[24 + inpos] & 511) >>> (9 - 1)) |
1265
+ ((input[25 + inpos] & 511) << 1) |
1266
+ ((input[26 + inpos] & 511) << 10) |
1267
+ ((input[27 + inpos] & 511) << 19) |
1268
+ (input[28 + inpos] << 28);
1269
+ output[8 + outpos] =
1270
+ ((input[28 + inpos] & 511) >>> (9 - 5)) |
1271
+ ((input[29 + inpos] & 511) << 5) |
1272
+ ((input[30 + inpos] & 511) << 14) |
1273
+ (input[31 + inpos] << 23);
1274
+ }
1275
+ /**
1276
+ * Unpack 32 numberegers
1277
+ *
1278
+ * @param input
1279
+ * source array
1280
+ * @param inpos
1281
+ * position in source array
1282
+ * @param output
1283
+ * output array
1284
+ * @param outpos
1285
+ * position in output array
1286
+ * @param bit
1287
+ * number of bits to use per numbereger
1288
+ */
1289
+ function fastpackwithoutmask(input, inpos, output, outpos, bit) {
1290
+ switch (bit) {
1291
+ case 0:
1292
+ fastpackwithoutmask0(input, inpos, output, outpos);
1293
+ break;
1294
+ case 1:
1295
+ fastpackwithoutmask1(input, inpos, output, outpos);
1296
+ break;
1297
+ case 2:
1298
+ fastpackwithoutmask2(input, inpos, output, outpos);
1299
+ break;
1300
+ case 3:
1301
+ fastpackwithoutmask3(input, inpos, output, outpos);
1302
+ break;
1303
+ case 4:
1304
+ fastpackwithoutmask4(input, inpos, output, outpos);
1305
+ break;
1306
+ case 5:
1307
+ fastpackwithoutmask5(input, inpos, output, outpos);
1308
+ break;
1309
+ case 6:
1310
+ fastpackwithoutmask6(input, inpos, output, outpos);
1311
+ break;
1312
+ case 7:
1313
+ fastpackwithoutmask7(input, inpos, output, outpos);
1314
+ break;
1315
+ case 8:
1316
+ fastpackwithoutmask8(input, inpos, output, outpos);
1317
+ break;
1318
+ case 9:
1319
+ fastpackwithoutmask9(input, inpos, output, outpos);
1320
+ break;
1321
+ case 10:
1322
+ fastpackwithoutmask10(input, inpos, output, outpos);
1323
+ break;
1324
+ case 11:
1325
+ fastpackwithoutmask11(input, inpos, output, outpos);
1326
+ break;
1327
+ case 12:
1328
+ fastpackwithoutmask12(input, inpos, output, outpos);
1329
+ break;
1330
+ case 13:
1331
+ fastpackwithoutmask13(input, inpos, output, outpos);
1332
+ break;
1333
+ case 14:
1334
+ fastpackwithoutmask14(input, inpos, output, outpos);
1335
+ break;
1336
+ case 15:
1337
+ fastpackwithoutmask15(input, inpos, output, outpos);
1338
+ break;
1339
+ case 16:
1340
+ fastpackwithoutmask16(input, inpos, output, outpos);
1341
+ break;
1342
+ case 17:
1343
+ fastpackwithoutmask17(input, inpos, output, outpos);
1344
+ break;
1345
+ case 18:
1346
+ fastpackwithoutmask18(input, inpos, output, outpos);
1347
+ break;
1348
+ case 19:
1349
+ fastpackwithoutmask19(input, inpos, output, outpos);
1350
+ break;
1351
+ case 20:
1352
+ fastpackwithoutmask20(input, inpos, output, outpos);
1353
+ break;
1354
+ case 21:
1355
+ fastpackwithoutmask21(input, inpos, output, outpos);
1356
+ break;
1357
+ case 22:
1358
+ fastpackwithoutmask22(input, inpos, output, outpos);
1359
+ break;
1360
+ case 23:
1361
+ fastpackwithoutmask23(input, inpos, output, outpos);
1362
+ break;
1363
+ case 24:
1364
+ fastpackwithoutmask24(input, inpos, output, outpos);
1365
+ break;
1366
+ case 25:
1367
+ fastpackwithoutmask25(input, inpos, output, outpos);
1368
+ break;
1369
+ case 26:
1370
+ fastpackwithoutmask26(input, inpos, output, outpos);
1371
+ break;
1372
+ case 27:
1373
+ fastpackwithoutmask27(input, inpos, output, outpos);
1374
+ break;
1375
+ case 28:
1376
+ fastpackwithoutmask28(input, inpos, output, outpos);
1377
+ break;
1378
+ case 29:
1379
+ fastpackwithoutmask29(input, inpos, output, outpos);
1380
+ break;
1381
+ case 30:
1382
+ fastpackwithoutmask30(input, inpos, output, outpos);
1383
+ break;
1384
+ case 31:
1385
+ fastpackwithoutmask31(input, inpos, output, outpos);
1386
+ break;
1387
+ case 32:
1388
+ fastpackwithoutmask32(input, inpos, output, outpos);
1389
+ break;
1390
+ default:
1391
+ throw new Error("Unsupported bit width.");
1392
+ }
1393
+ }
1394
+ function fastpackwithoutmask0(input, inpos, output, outpos) {
1395
+ // nothing
1396
+ }
1397
+ function fastpackwithoutmask1(input, inpos, output, outpos) {
1398
+ output[outpos] =
1399
+ input[inpos] |
1400
+ (input[1 + inpos] << 1) |
1401
+ (input[2 + inpos] << 2) |
1402
+ (input[3 + inpos] << 3) |
1403
+ (input[4 + inpos] << 4) |
1404
+ (input[5 + inpos] << 5) |
1405
+ (input[6 + inpos] << 6) |
1406
+ (input[7 + inpos] << 7) |
1407
+ (input[8 + inpos] << 8) |
1408
+ (input[9 + inpos] << 9) |
1409
+ (input[10 + inpos] << 10) |
1410
+ (input[11 + inpos] << 11) |
1411
+ (input[12 + inpos] << 12) |
1412
+ (input[13 + inpos] << 13) |
1413
+ (input[14 + inpos] << 14) |
1414
+ (input[15 + inpos] << 15) |
1415
+ (input[16 + inpos] << 16) |
1416
+ (input[17 + inpos] << 17) |
1417
+ (input[18 + inpos] << 18) |
1418
+ (input[19 + inpos] << 19) |
1419
+ (input[20 + inpos] << 20) |
1420
+ (input[21 + inpos] << 21) |
1421
+ (input[22 + inpos] << 22) |
1422
+ (input[23 + inpos] << 23) |
1423
+ (input[24 + inpos] << 24) |
1424
+ (input[25 + inpos] << 25) |
1425
+ (input[26 + inpos] << 26) |
1426
+ (input[27 + inpos] << 27) |
1427
+ (input[28 + inpos] << 28) |
1428
+ (input[29 + inpos] << 29) |
1429
+ (input[30 + inpos] << 30) |
1430
+ (input[31 + inpos] << 31);
1431
+ }
1432
+ function fastpackwithoutmask10(input, inpos, output, outpos) {
1433
+ output[outpos] = input[inpos] | (input[1 + inpos] << 10) | (input[2 + inpos] << 20) | (input[3 + inpos] << 30);
1434
+ output[1 + outpos] =
1435
+ (input[3 + inpos] >>> (10 - 8)) | (input[4 + inpos] << 8) | (input[5 + inpos] << 18) | (input[6 + inpos] << 28);
1436
+ output[2 + outpos] =
1437
+ (input[6 + inpos] >>> (10 - 6)) | (input[7 + inpos] << 6) | (input[8 + inpos] << 16) | (input[9 + inpos] << 26);
1438
+ output[3 + outpos] =
1439
+ (input[9 + inpos] >>> (10 - 4)) |
1440
+ (input[10 + inpos] << 4) |
1441
+ (input[11 + inpos] << 14) |
1442
+ (input[12 + inpos] << 24);
1443
+ output[4 + outpos] =
1444
+ (input[12 + inpos] >>> (10 - 2)) |
1445
+ (input[13 + inpos] << 2) |
1446
+ (input[14 + inpos] << 12) |
1447
+ (input[15 + inpos] << 22);
1448
+ output[5 + outpos] =
1449
+ input[16 + inpos] | (input[17 + inpos] << 10) | (input[18 + inpos] << 20) | (input[19 + inpos] << 30);
1450
+ output[6 + outpos] =
1451
+ (input[19 + inpos] >>> (10 - 8)) |
1452
+ (input[20 + inpos] << 8) |
1453
+ (input[21 + inpos] << 18) |
1454
+ (input[22 + inpos] << 28);
1455
+ output[7 + outpos] =
1456
+ (input[22 + inpos] >>> (10 - 6)) |
1457
+ (input[23 + inpos] << 6) |
1458
+ (input[24 + inpos] << 16) |
1459
+ (input[25 + inpos] << 26);
1460
+ output[8 + outpos] =
1461
+ (input[25 + inpos] >>> (10 - 4)) |
1462
+ (input[26 + inpos] << 4) |
1463
+ (input[27 + inpos] << 14) |
1464
+ (input[28 + inpos] << 24);
1465
+ output[9 + outpos] =
1466
+ (input[28 + inpos] >>> (10 - 2)) |
1467
+ (input[29 + inpos] << 2) |
1468
+ (input[30 + inpos] << 12) |
1469
+ (input[31 + inpos] << 22);
1470
+ }
1471
+ function fastpackwithoutmask11(input, inpos, output, outpos) {
1472
+ output[outpos] = input[inpos] | (input[1 + inpos] << 11) | (input[2 + inpos] << 22);
1473
+ output[1 + outpos] =
1474
+ (input[2 + inpos] >>> (11 - 1)) | (input[3 + inpos] << 1) | (input[4 + inpos] << 12) | (input[5 + inpos] << 23);
1475
+ output[2 + outpos] =
1476
+ (input[5 + inpos] >>> (11 - 2)) | (input[6 + inpos] << 2) | (input[7 + inpos] << 13) | (input[8 + inpos] << 24);
1477
+ output[3 + outpos] =
1478
+ (input[8 + inpos] >>> (11 - 3)) |
1479
+ (input[9 + inpos] << 3) |
1480
+ (input[10 + inpos] << 14) |
1481
+ (input[11 + inpos] << 25);
1482
+ output[4 + outpos] =
1483
+ (input[11 + inpos] >>> (11 - 4)) |
1484
+ (input[12 + inpos] << 4) |
1485
+ (input[13 + inpos] << 15) |
1486
+ (input[14 + inpos] << 26);
1487
+ output[5 + outpos] =
1488
+ (input[14 + inpos] >>> (11 - 5)) |
1489
+ (input[15 + inpos] << 5) |
1490
+ (input[16 + inpos] << 16) |
1491
+ (input[17 + inpos] << 27);
1492
+ output[6 + outpos] =
1493
+ (input[17 + inpos] >>> (11 - 6)) |
1494
+ (input[18 + inpos] << 6) |
1495
+ (input[19 + inpos] << 17) |
1496
+ (input[20 + inpos] << 28);
1497
+ output[7 + outpos] =
1498
+ (input[20 + inpos] >>> (11 - 7)) |
1499
+ (input[21 + inpos] << 7) |
1500
+ (input[22 + inpos] << 18) |
1501
+ (input[23 + inpos] << 29);
1502
+ output[8 + outpos] =
1503
+ (input[23 + inpos] >>> (11 - 8)) |
1504
+ (input[24 + inpos] << 8) |
1505
+ (input[25 + inpos] << 19) |
1506
+ (input[26 + inpos] << 30);
1507
+ output[9 + outpos] =
1508
+ (input[26 + inpos] >>> (11 - 9)) |
1509
+ (input[27 + inpos] << 9) |
1510
+ (input[28 + inpos] << 20) |
1511
+ (input[29 + inpos] << 31);
1512
+ output[10 + outpos] = (input[29 + inpos] >>> (11 - 10)) | (input[30 + inpos] << 10) | (input[31 + inpos] << 21);
1513
+ }
1514
+ function fastpackwithoutmask12(input, inpos, output, outpos) {
1515
+ output[outpos] = input[inpos] | (input[1 + inpos] << 12) | (input[2 + inpos] << 24);
1516
+ output[1 + outpos] =
1517
+ (input[2 + inpos] >>> (12 - 4)) | (input[3 + inpos] << 4) | (input[4 + inpos] << 16) | (input[5 + inpos] << 28);
1518
+ output[2 + outpos] = (input[5 + inpos] >>> (12 - 8)) | (input[6 + inpos] << 8) | (input[7 + inpos] << 20);
1519
+ output[3 + outpos] = input[8 + inpos] | (input[9 + inpos] << 12) | (input[10 + inpos] << 24);
1520
+ output[4 + outpos] =
1521
+ (input[10 + inpos] >>> (12 - 4)) |
1522
+ (input[11 + inpos] << 4) |
1523
+ (input[12 + inpos] << 16) |
1524
+ (input[13 + inpos] << 28);
1525
+ output[5 + outpos] = (input[13 + inpos] >>> (12 - 8)) | (input[14 + inpos] << 8) | (input[15 + inpos] << 20);
1526
+ output[6 + outpos] = input[16 + inpos] | (input[17 + inpos] << 12) | (input[18 + inpos] << 24);
1527
+ output[7 + outpos] =
1528
+ (input[18 + inpos] >>> (12 - 4)) |
1529
+ (input[19 + inpos] << 4) |
1530
+ (input[20 + inpos] << 16) |
1531
+ (input[21 + inpos] << 28);
1532
+ output[8 + outpos] = (input[21 + inpos] >>> (12 - 8)) | (input[22 + inpos] << 8) | (input[23 + inpos] << 20);
1533
+ output[9 + outpos] = input[24 + inpos] | (input[25 + inpos] << 12) | (input[26 + inpos] << 24);
1534
+ output[10 + outpos] =
1535
+ (input[26 + inpos] >>> (12 - 4)) |
1536
+ (input[27 + inpos] << 4) |
1537
+ (input[28 + inpos] << 16) |
1538
+ (input[29 + inpos] << 28);
1539
+ output[11 + outpos] = (input[29 + inpos] >>> (12 - 8)) | (input[30 + inpos] << 8) | (input[31 + inpos] << 20);
1540
+ }
1541
+ function fastpackwithoutmask13(input, inpos, output, outpos) {
1542
+ output[outpos] = input[inpos] | (input[1 + inpos] << 13) | (input[2 + inpos] << 26);
1543
+ output[1 + outpos] = (input[2 + inpos] >>> (13 - 7)) | (input[3 + inpos] << 7) | (input[4 + inpos] << 20);
1544
+ output[2 + outpos] =
1545
+ (input[4 + inpos] >>> (13 - 1)) | (input[5 + inpos] << 1) | (input[6 + inpos] << 14) | (input[7 + inpos] << 27);
1546
+ output[3 + outpos] = (input[7 + inpos] >>> (13 - 8)) | (input[8 + inpos] << 8) | (input[9 + inpos] << 21);
1547
+ output[4 + outpos] =
1548
+ (input[9 + inpos] >>> (13 - 2)) |
1549
+ (input[10 + inpos] << 2) |
1550
+ (input[11 + inpos] << 15) |
1551
+ (input[12 + inpos] << 28);
1552
+ output[5 + outpos] = (input[12 + inpos] >>> (13 - 9)) | (input[13 + inpos] << 9) | (input[14 + inpos] << 22);
1553
+ output[6 + outpos] =
1554
+ (input[14 + inpos] >>> (13 - 3)) |
1555
+ (input[15 + inpos] << 3) |
1556
+ (input[16 + inpos] << 16) |
1557
+ (input[17 + inpos] << 29);
1558
+ output[7 + outpos] = (input[17 + inpos] >>> (13 - 10)) | (input[18 + inpos] << 10) | (input[19 + inpos] << 23);
1559
+ output[8 + outpos] =
1560
+ (input[19 + inpos] >>> (13 - 4)) |
1561
+ (input[20 + inpos] << 4) |
1562
+ (input[21 + inpos] << 17) |
1563
+ (input[22 + inpos] << 30);
1564
+ output[9 + outpos] = (input[22 + inpos] >>> (13 - 11)) | (input[23 + inpos] << 11) | (input[24 + inpos] << 24);
1565
+ output[10 + outpos] =
1566
+ (input[24 + inpos] >>> (13 - 5)) |
1567
+ (input[25 + inpos] << 5) |
1568
+ (input[26 + inpos] << 18) |
1569
+ (input[27 + inpos] << 31);
1570
+ output[11 + outpos] = (input[27 + inpos] >>> (13 - 12)) | (input[28 + inpos] << 12) | (input[29 + inpos] << 25);
1571
+ output[12 + outpos] = (input[29 + inpos] >>> (13 - 6)) | (input[30 + inpos] << 6) | (input[31 + inpos] << 19);
1572
+ }
1573
+ function fastpackwithoutmask14(input, inpos, output, outpos) {
1574
+ output[outpos] = input[inpos] | (input[1 + inpos] << 14) | (input[2 + inpos] << 28);
1575
+ output[1 + outpos] = (input[2 + inpos] >>> (14 - 10)) | (input[3 + inpos] << 10) | (input[4 + inpos] << 24);
1576
+ output[2 + outpos] = (input[4 + inpos] >>> (14 - 6)) | (input[5 + inpos] << 6) | (input[6 + inpos] << 20);
1577
+ output[3 + outpos] =
1578
+ (input[6 + inpos] >>> (14 - 2)) | (input[7 + inpos] << 2) | (input[8 + inpos] << 16) | (input[9 + inpos] << 30);
1579
+ output[4 + outpos] = (input[9 + inpos] >>> (14 - 12)) | (input[10 + inpos] << 12) | (input[11 + inpos] << 26);
1580
+ output[5 + outpos] = (input[11 + inpos] >>> (14 - 8)) | (input[12 + inpos] << 8) | (input[13 + inpos] << 22);
1581
+ output[6 + outpos] = (input[13 + inpos] >>> (14 - 4)) | (input[14 + inpos] << 4) | (input[15 + inpos] << 18);
1582
+ output[7 + outpos] = input[16 + inpos] | (input[17 + inpos] << 14) | (input[18 + inpos] << 28);
1583
+ output[8 + outpos] = (input[18 + inpos] >>> (14 - 10)) | (input[19 + inpos] << 10) | (input[20 + inpos] << 24);
1584
+ output[9 + outpos] = (input[20 + inpos] >>> (14 - 6)) | (input[21 + inpos] << 6) | (input[22 + inpos] << 20);
1585
+ output[10 + outpos] =
1586
+ (input[22 + inpos] >>> (14 - 2)) |
1587
+ (input[23 + inpos] << 2) |
1588
+ (input[24 + inpos] << 16) |
1589
+ (input[25 + inpos] << 30);
1590
+ output[11 + outpos] = (input[25 + inpos] >>> (14 - 12)) | (input[26 + inpos] << 12) | (input[27 + inpos] << 26);
1591
+ output[12 + outpos] = (input[27 + inpos] >>> (14 - 8)) | (input[28 + inpos] << 8) | (input[29 + inpos] << 22);
1592
+ output[13 + outpos] = (input[29 + inpos] >>> (14 - 4)) | (input[30 + inpos] << 4) | (input[31 + inpos] << 18);
1593
+ }
1594
+ function fastpackwithoutmask15(input, inpos, output, outpos) {
1595
+ output[outpos] = input[inpos] | (input[1 + inpos] << 15) | (input[2 + inpos] << 30);
1596
+ output[1 + outpos] = (input[2 + inpos] >>> (15 - 13)) | (input[3 + inpos] << 13) | (input[4 + inpos] << 28);
1597
+ output[2 + outpos] = (input[4 + inpos] >>> (15 - 11)) | (input[5 + inpos] << 11) | (input[6 + inpos] << 26);
1598
+ output[3 + outpos] = (input[6 + inpos] >>> (15 - 9)) | (input[7 + inpos] << 9) | (input[8 + inpos] << 24);
1599
+ output[4 + outpos] = (input[8 + inpos] >>> (15 - 7)) | (input[9 + inpos] << 7) | (input[10 + inpos] << 22);
1600
+ output[5 + outpos] = (input[10 + inpos] >>> (15 - 5)) | (input[11 + inpos] << 5) | (input[12 + inpos] << 20);
1601
+ output[6 + outpos] = (input[12 + inpos] >>> (15 - 3)) | (input[13 + inpos] << 3) | (input[14 + inpos] << 18);
1602
+ output[7 + outpos] =
1603
+ (input[14 + inpos] >>> (15 - 1)) |
1604
+ (input[15 + inpos] << 1) |
1605
+ (input[16 + inpos] << 16) |
1606
+ (input[17 + inpos] << 31);
1607
+ output[8 + outpos] = (input[17 + inpos] >>> (15 - 14)) | (input[18 + inpos] << 14) | (input[19 + inpos] << 29);
1608
+ output[9 + outpos] = (input[19 + inpos] >>> (15 - 12)) | (input[20 + inpos] << 12) | (input[21 + inpos] << 27);
1609
+ output[10 + outpos] = (input[21 + inpos] >>> (15 - 10)) | (input[22 + inpos] << 10) | (input[23 + inpos] << 25);
1610
+ output[11 + outpos] = (input[23 + inpos] >>> (15 - 8)) | (input[24 + inpos] << 8) | (input[25 + inpos] << 23);
1611
+ output[12 + outpos] = (input[25 + inpos] >>> (15 - 6)) | (input[26 + inpos] << 6) | (input[27 + inpos] << 21);
1612
+ output[13 + outpos] = (input[27 + inpos] >>> (15 - 4)) | (input[28 + inpos] << 4) | (input[29 + inpos] << 19);
1613
+ output[14 + outpos] = (input[29 + inpos] >>> (15 - 2)) | (input[30 + inpos] << 2) | (input[31 + inpos] << 17);
1614
+ }
1615
+ function fastpackwithoutmask16(input, inpos, output, outpos) {
1616
+ output[outpos] = input[inpos] | (input[1 + inpos] << 16);
1617
+ output[1 + outpos] = input[2 + inpos] | (input[3 + inpos] << 16);
1618
+ output[2 + outpos] = input[4 + inpos] | (input[5 + inpos] << 16);
1619
+ output[3 + outpos] = input[6 + inpos] | (input[7 + inpos] << 16);
1620
+ output[4 + outpos] = input[8 + inpos] | (input[9 + inpos] << 16);
1621
+ output[5 + outpos] = input[10 + inpos] | (input[11 + inpos] << 16);
1622
+ output[6 + outpos] = input[12 + inpos] | (input[13 + inpos] << 16);
1623
+ output[7 + outpos] = input[14 + inpos] | (input[15 + inpos] << 16);
1624
+ output[8 + outpos] = input[16 + inpos] | (input[17 + inpos] << 16);
1625
+ output[9 + outpos] = input[18 + inpos] | (input[19 + inpos] << 16);
1626
+ output[10 + outpos] = input[20 + inpos] | (input[21 + inpos] << 16);
1627
+ output[11 + outpos] = input[22 + inpos] | (input[23 + inpos] << 16);
1628
+ output[12 + outpos] = input[24 + inpos] | (input[25 + inpos] << 16);
1629
+ output[13 + outpos] = input[26 + inpos] | (input[27 + inpos] << 16);
1630
+ output[14 + outpos] = input[28 + inpos] | (input[29 + inpos] << 16);
1631
+ output[15 + outpos] = input[30 + inpos] | (input[31 + inpos] << 16);
1632
+ }
1633
+ function fastpackwithoutmask17(input, inpos, output, outpos) {
1634
+ output[outpos] = input[inpos] | (input[1 + inpos] << 17);
1635
+ output[1 + outpos] = (input[1 + inpos] >>> (17 - 2)) | (input[2 + inpos] << 2) | (input[3 + inpos] << 19);
1636
+ output[2 + outpos] = (input[3 + inpos] >>> (17 - 4)) | (input[4 + inpos] << 4) | (input[5 + inpos] << 21);
1637
+ output[3 + outpos] = (input[5 + inpos] >>> (17 - 6)) | (input[6 + inpos] << 6) | (input[7 + inpos] << 23);
1638
+ output[4 + outpos] = (input[7 + inpos] >>> (17 - 8)) | (input[8 + inpos] << 8) | (input[9 + inpos] << 25);
1639
+ output[5 + outpos] = (input[9 + inpos] >>> (17 - 10)) | (input[10 + inpos] << 10) | (input[11 + inpos] << 27);
1640
+ output[6 + outpos] = (input[11 + inpos] >>> (17 - 12)) | (input[12 + inpos] << 12) | (input[13 + inpos] << 29);
1641
+ output[7 + outpos] = (input[13 + inpos] >>> (17 - 14)) | (input[14 + inpos] << 14) | (input[15 + inpos] << 31);
1642
+ output[8 + outpos] = (input[15 + inpos] >>> (17 - 16)) | (input[16 + inpos] << 16);
1643
+ output[9 + outpos] = (input[16 + inpos] >>> (17 - 1)) | (input[17 + inpos] << 1) | (input[18 + inpos] << 18);
1644
+ output[10 + outpos] = (input[18 + inpos] >>> (17 - 3)) | (input[19 + inpos] << 3) | (input[20 + inpos] << 20);
1645
+ output[11 + outpos] = (input[20 + inpos] >>> (17 - 5)) | (input[21 + inpos] << 5) | (input[22 + inpos] << 22);
1646
+ output[12 + outpos] = (input[22 + inpos] >>> (17 - 7)) | (input[23 + inpos] << 7) | (input[24 + inpos] << 24);
1647
+ output[13 + outpos] = (input[24 + inpos] >>> (17 - 9)) | (input[25 + inpos] << 9) | (input[26 + inpos] << 26);
1648
+ output[14 + outpos] = (input[26 + inpos] >>> (17 - 11)) | (input[27 + inpos] << 11) | (input[28 + inpos] << 28);
1649
+ output[15 + outpos] = (input[28 + inpos] >>> (17 - 13)) | (input[29 + inpos] << 13) | (input[30 + inpos] << 30);
1650
+ output[16 + outpos] = (input[30 + inpos] >>> (17 - 15)) | (input[31 + inpos] << 15);
1651
+ }
1652
+ function fastpackwithoutmask18(input, inpos, output, outpos) {
1653
+ output[outpos] = input[inpos] | (input[1 + inpos] << 18);
1654
+ output[1 + outpos] = (input[1 + inpos] >>> (18 - 4)) | (input[2 + inpos] << 4) | (input[3 + inpos] << 22);
1655
+ output[2 + outpos] = (input[3 + inpos] >>> (18 - 8)) | (input[4 + inpos] << 8) | (input[5 + inpos] << 26);
1656
+ output[3 + outpos] = (input[5 + inpos] >>> (18 - 12)) | (input[6 + inpos] << 12) | (input[7 + inpos] << 30);
1657
+ output[4 + outpos] = (input[7 + inpos] >>> (18 - 16)) | (input[8 + inpos] << 16);
1658
+ output[5 + outpos] = (input[8 + inpos] >>> (18 - 2)) | (input[9 + inpos] << 2) | (input[10 + inpos] << 20);
1659
+ output[6 + outpos] = (input[10 + inpos] >>> (18 - 6)) | (input[11 + inpos] << 6) | (input[12 + inpos] << 24);
1660
+ output[7 + outpos] = (input[12 + inpos] >>> (18 - 10)) | (input[13 + inpos] << 10) | (input[14 + inpos] << 28);
1661
+ output[8 + outpos] = (input[14 + inpos] >>> (18 - 14)) | (input[15 + inpos] << 14);
1662
+ output[9 + outpos] = input[16 + inpos] | (input[17 + inpos] << 18);
1663
+ output[10 + outpos] = (input[17 + inpos] >>> (18 - 4)) | (input[18 + inpos] << 4) | (input[19 + inpos] << 22);
1664
+ output[11 + outpos] = (input[19 + inpos] >>> (18 - 8)) | (input[20 + inpos] << 8) | (input[21 + inpos] << 26);
1665
+ output[12 + outpos] = (input[21 + inpos] >>> (18 - 12)) | (input[22 + inpos] << 12) | (input[23 + inpos] << 30);
1666
+ output[13 + outpos] = (input[23 + inpos] >>> (18 - 16)) | (input[24 + inpos] << 16);
1667
+ output[14 + outpos] = (input[24 + inpos] >>> (18 - 2)) | (input[25 + inpos] << 2) | (input[26 + inpos] << 20);
1668
+ output[15 + outpos] = (input[26 + inpos] >>> (18 - 6)) | (input[27 + inpos] << 6) | (input[28 + inpos] << 24);
1669
+ output[16 + outpos] = (input[28 + inpos] >>> (18 - 10)) | (input[29 + inpos] << 10) | (input[30 + inpos] << 28);
1670
+ output[17 + outpos] = (input[30 + inpos] >>> (18 - 14)) | (input[31 + inpos] << 14);
1671
+ }
1672
+ function fastpackwithoutmask19(input, inpos, output, outpos) {
1673
+ output[outpos] = input[inpos] | (input[1 + inpos] << 19);
1674
+ output[1 + outpos] = (input[1 + inpos] >>> (19 - 6)) | (input[2 + inpos] << 6) | (input[3 + inpos] << 25);
1675
+ output[2 + outpos] = (input[3 + inpos] >>> (19 - 12)) | (input[4 + inpos] << 12) | (input[5 + inpos] << 31);
1676
+ output[3 + outpos] = (input[5 + inpos] >>> (19 - 18)) | (input[6 + inpos] << 18);
1677
+ output[4 + outpos] = (input[6 + inpos] >>> (19 - 5)) | (input[7 + inpos] << 5) | (input[8 + inpos] << 24);
1678
+ output[5 + outpos] = (input[8 + inpos] >>> (19 - 11)) | (input[9 + inpos] << 11) | (input[10 + inpos] << 30);
1679
+ output[6 + outpos] = (input[10 + inpos] >>> (19 - 17)) | (input[11 + inpos] << 17);
1680
+ output[7 + outpos] = (input[11 + inpos] >>> (19 - 4)) | (input[12 + inpos] << 4) | (input[13 + inpos] << 23);
1681
+ output[8 + outpos] = (input[13 + inpos] >>> (19 - 10)) | (input[14 + inpos] << 10) | (input[15 + inpos] << 29);
1682
+ output[9 + outpos] = (input[15 + inpos] >>> (19 - 16)) | (input[16 + inpos] << 16);
1683
+ output[10 + outpos] = (input[16 + inpos] >>> (19 - 3)) | (input[17 + inpos] << 3) | (input[18 + inpos] << 22);
1684
+ output[11 + outpos] = (input[18 + inpos] >>> (19 - 9)) | (input[19 + inpos] << 9) | (input[20 + inpos] << 28);
1685
+ output[12 + outpos] = (input[20 + inpos] >>> (19 - 15)) | (input[21 + inpos] << 15);
1686
+ output[13 + outpos] = (input[21 + inpos] >>> (19 - 2)) | (input[22 + inpos] << 2) | (input[23 + inpos] << 21);
1687
+ output[14 + outpos] = (input[23 + inpos] >>> (19 - 8)) | (input[24 + inpos] << 8) | (input[25 + inpos] << 27);
1688
+ output[15 + outpos] = (input[25 + inpos] >>> (19 - 14)) | (input[26 + inpos] << 14);
1689
+ output[16 + outpos] = (input[26 + inpos] >>> (19 - 1)) | (input[27 + inpos] << 1) | (input[28 + inpos] << 20);
1690
+ output[17 + outpos] = (input[28 + inpos] >>> (19 - 7)) | (input[29 + inpos] << 7) | (input[30 + inpos] << 26);
1691
+ output[18 + outpos] = (input[30 + inpos] >>> (19 - 13)) | (input[31 + inpos] << 13);
1692
+ }
1693
+ function fastpackwithoutmask2(input, inpos, output, outpos) {
1694
+ output[outpos] =
1695
+ input[inpos] |
1696
+ (input[1 + inpos] << 2) |
1697
+ (input[2 + inpos] << 4) |
1698
+ (input[3 + inpos] << 6) |
1699
+ (input[4 + inpos] << 8) |
1700
+ (input[5 + inpos] << 10) |
1701
+ (input[6 + inpos] << 12) |
1702
+ (input[7 + inpos] << 14) |
1703
+ (input[8 + inpos] << 16) |
1704
+ (input[9 + inpos] << 18) |
1705
+ (input[10 + inpos] << 20) |
1706
+ (input[11 + inpos] << 22) |
1707
+ (input[12 + inpos] << 24) |
1708
+ (input[13 + inpos] << 26) |
1709
+ (input[14 + inpos] << 28) |
1710
+ (input[15 + inpos] << 30);
1711
+ output[1 + outpos] =
1712
+ input[16 + inpos] |
1713
+ (input[17 + inpos] << 2) |
1714
+ (input[18 + inpos] << 4) |
1715
+ (input[19 + inpos] << 6) |
1716
+ (input[20 + inpos] << 8) |
1717
+ (input[21 + inpos] << 10) |
1718
+ (input[22 + inpos] << 12) |
1719
+ (input[23 + inpos] << 14) |
1720
+ (input[24 + inpos] << 16) |
1721
+ (input[25 + inpos] << 18) |
1722
+ (input[26 + inpos] << 20) |
1723
+ (input[27 + inpos] << 22) |
1724
+ (input[28 + inpos] << 24) |
1725
+ (input[29 + inpos] << 26) |
1726
+ (input[30 + inpos] << 28) |
1727
+ (input[31 + inpos] << 30);
1728
+ }
1729
+ function fastpackwithoutmask20(input, inpos, output, outpos) {
1730
+ output[outpos] = input[inpos] | (input[1 + inpos] << 20);
1731
+ output[1 + outpos] = (input[1 + inpos] >>> (20 - 8)) | (input[2 + inpos] << 8) | (input[3 + inpos] << 28);
1732
+ output[2 + outpos] = (input[3 + inpos] >>> (20 - 16)) | (input[4 + inpos] << 16);
1733
+ output[3 + outpos] = (input[4 + inpos] >>> (20 - 4)) | (input[5 + inpos] << 4) | (input[6 + inpos] << 24);
1734
+ output[4 + outpos] = (input[6 + inpos] >>> (20 - 12)) | (input[7 + inpos] << 12);
1735
+ output[5 + outpos] = input[8 + inpos] | (input[9 + inpos] << 20);
1736
+ output[6 + outpos] = (input[9 + inpos] >>> (20 - 8)) | (input[10 + inpos] << 8) | (input[11 + inpos] << 28);
1737
+ output[7 + outpos] = (input[11 + inpos] >>> (20 - 16)) | (input[12 + inpos] << 16);
1738
+ output[8 + outpos] = (input[12 + inpos] >>> (20 - 4)) | (input[13 + inpos] << 4) | (input[14 + inpos] << 24);
1739
+ output[9 + outpos] = (input[14 + inpos] >>> (20 - 12)) | (input[15 + inpos] << 12);
1740
+ output[10 + outpos] = input[16 + inpos] | (input[17 + inpos] << 20);
1741
+ output[11 + outpos] = (input[17 + inpos] >>> (20 - 8)) | (input[18 + inpos] << 8) | (input[19 + inpos] << 28);
1742
+ output[12 + outpos] = (input[19 + inpos] >>> (20 - 16)) | (input[20 + inpos] << 16);
1743
+ output[13 + outpos] = (input[20 + inpos] >>> (20 - 4)) | (input[21 + inpos] << 4) | (input[22 + inpos] << 24);
1744
+ output[14 + outpos] = (input[22 + inpos] >>> (20 - 12)) | (input[23 + inpos] << 12);
1745
+ output[15 + outpos] = input[24 + inpos] | (input[25 + inpos] << 20);
1746
+ output[16 + outpos] = (input[25 + inpos] >>> (20 - 8)) | (input[26 + inpos] << 8) | (input[27 + inpos] << 28);
1747
+ output[17 + outpos] = (input[27 + inpos] >>> (20 - 16)) | (input[28 + inpos] << 16);
1748
+ output[18 + outpos] = (input[28 + inpos] >>> (20 - 4)) | (input[29 + inpos] << 4) | (input[30 + inpos] << 24);
1749
+ output[19 + outpos] = (input[30 + inpos] >>> (20 - 12)) | (input[31 + inpos] << 12);
1750
+ }
1751
+ function fastpackwithoutmask21(input, inpos, output, outpos) {
1752
+ output[outpos] = input[inpos] | (input[1 + inpos] << 21);
1753
+ output[1 + outpos] = (input[1 + inpos] >>> (21 - 10)) | (input[2 + inpos] << 10) | (input[3 + inpos] << 31);
1754
+ output[2 + outpos] = (input[3 + inpos] >>> (21 - 20)) | (input[4 + inpos] << 20);
1755
+ output[3 + outpos] = (input[4 + inpos] >>> (21 - 9)) | (input[5 + inpos] << 9) | (input[6 + inpos] << 30);
1756
+ output[4 + outpos] = (input[6 + inpos] >>> (21 - 19)) | (input[7 + inpos] << 19);
1757
+ output[5 + outpos] = (input[7 + inpos] >>> (21 - 8)) | (input[8 + inpos] << 8) | (input[9 + inpos] << 29);
1758
+ output[6 + outpos] = (input[9 + inpos] >>> (21 - 18)) | (input[10 + inpos] << 18);
1759
+ output[7 + outpos] = (input[10 + inpos] >>> (21 - 7)) | (input[11 + inpos] << 7) | (input[12 + inpos] << 28);
1760
+ output[8 + outpos] = (input[12 + inpos] >>> (21 - 17)) | (input[13 + inpos] << 17);
1761
+ output[9 + outpos] = (input[13 + inpos] >>> (21 - 6)) | (input[14 + inpos] << 6) | (input[15 + inpos] << 27);
1762
+ output[10 + outpos] = (input[15 + inpos] >>> (21 - 16)) | (input[16 + inpos] << 16);
1763
+ output[11 + outpos] = (input[16 + inpos] >>> (21 - 5)) | (input[17 + inpos] << 5) | (input[18 + inpos] << 26);
1764
+ output[12 + outpos] = (input[18 + inpos] >>> (21 - 15)) | (input[19 + inpos] << 15);
1765
+ output[13 + outpos] = (input[19 + inpos] >>> (21 - 4)) | (input[20 + inpos] << 4) | (input[21 + inpos] << 25);
1766
+ output[14 + outpos] = (input[21 + inpos] >>> (21 - 14)) | (input[22 + inpos] << 14);
1767
+ output[15 + outpos] = (input[22 + inpos] >>> (21 - 3)) | (input[23 + inpos] << 3) | (input[24 + inpos] << 24);
1768
+ output[16 + outpos] = (input[24 + inpos] >>> (21 - 13)) | (input[25 + inpos] << 13);
1769
+ output[17 + outpos] = (input[25 + inpos] >>> (21 - 2)) | (input[26 + inpos] << 2) | (input[27 + inpos] << 23);
1770
+ output[18 + outpos] = (input[27 + inpos] >>> (21 - 12)) | (input[28 + inpos] << 12);
1771
+ output[19 + outpos] = (input[28 + inpos] >>> (21 - 1)) | (input[29 + inpos] << 1) | (input[30 + inpos] << 22);
1772
+ output[20 + outpos] = (input[30 + inpos] >>> (21 - 11)) | (input[31 + inpos] << 11);
1773
+ }
1774
+ function fastpackwithoutmask22(input, inpos, output, outpos) {
1775
+ output[outpos] = input[inpos] | (input[1 + inpos] << 22);
1776
+ output[1 + outpos] = (input[1 + inpos] >>> (22 - 12)) | (input[2 + inpos] << 12);
1777
+ output[2 + outpos] = (input[2 + inpos] >>> (22 - 2)) | (input[3 + inpos] << 2) | (input[4 + inpos] << 24);
1778
+ output[3 + outpos] = (input[4 + inpos] >>> (22 - 14)) | (input[5 + inpos] << 14);
1779
+ output[4 + outpos] = (input[5 + inpos] >>> (22 - 4)) | (input[6 + inpos] << 4) | (input[7 + inpos] << 26);
1780
+ output[5 + outpos] = (input[7 + inpos] >>> (22 - 16)) | (input[8 + inpos] << 16);
1781
+ output[6 + outpos] = (input[8 + inpos] >>> (22 - 6)) | (input[9 + inpos] << 6) | (input[10 + inpos] << 28);
1782
+ output[7 + outpos] = (input[10 + inpos] >>> (22 - 18)) | (input[11 + inpos] << 18);
1783
+ output[8 + outpos] = (input[11 + inpos] >>> (22 - 8)) | (input[12 + inpos] << 8) | (input[13 + inpos] << 30);
1784
+ output[9 + outpos] = (input[13 + inpos] >>> (22 - 20)) | (input[14 + inpos] << 20);
1785
+ output[10 + outpos] = (input[14 + inpos] >>> (22 - 10)) | (input[15 + inpos] << 10);
1786
+ output[11 + outpos] = input[16 + inpos] | (input[17 + inpos] << 22);
1787
+ output[12 + outpos] = (input[17 + inpos] >>> (22 - 12)) | (input[18 + inpos] << 12);
1788
+ output[13 + outpos] = (input[18 + inpos] >>> (22 - 2)) | (input[19 + inpos] << 2) | (input[20 + inpos] << 24);
1789
+ output[14 + outpos] = (input[20 + inpos] >>> (22 - 14)) | (input[21 + inpos] << 14);
1790
+ output[15 + outpos] = (input[21 + inpos] >>> (22 - 4)) | (input[22 + inpos] << 4) | (input[23 + inpos] << 26);
1791
+ output[16 + outpos] = (input[23 + inpos] >>> (22 - 16)) | (input[24 + inpos] << 16);
1792
+ output[17 + outpos] = (input[24 + inpos] >>> (22 - 6)) | (input[25 + inpos] << 6) | (input[26 + inpos] << 28);
1793
+ output[18 + outpos] = (input[26 + inpos] >>> (22 - 18)) | (input[27 + inpos] << 18);
1794
+ output[19 + outpos] = (input[27 + inpos] >>> (22 - 8)) | (input[28 + inpos] << 8) | (input[29 + inpos] << 30);
1795
+ output[20 + outpos] = (input[29 + inpos] >>> (22 - 20)) | (input[30 + inpos] << 20);
1796
+ output[21 + outpos] = (input[30 + inpos] >>> (22 - 10)) | (input[31 + inpos] << 10);
1797
+ }
1798
+ function fastpackwithoutmask23(input, inpos, output, outpos) {
1799
+ output[outpos] = input[inpos] | (input[1 + inpos] << 23);
1800
+ output[1 + outpos] = (input[1 + inpos] >>> (23 - 14)) | (input[2 + inpos] << 14);
1801
+ output[2 + outpos] = (input[2 + inpos] >>> (23 - 5)) | (input[3 + inpos] << 5) | (input[4 + inpos] << 28);
1802
+ output[3 + outpos] = (input[4 + inpos] >>> (23 - 19)) | (input[5 + inpos] << 19);
1803
+ output[4 + outpos] = (input[5 + inpos] >>> (23 - 10)) | (input[6 + inpos] << 10);
1804
+ output[5 + outpos] = (input[6 + inpos] >>> (23 - 1)) | (input[7 + inpos] << 1) | (input[8 + inpos] << 24);
1805
+ output[6 + outpos] = (input[8 + inpos] >>> (23 - 15)) | (input[9 + inpos] << 15);
1806
+ output[7 + outpos] = (input[9 + inpos] >>> (23 - 6)) | (input[10 + inpos] << 6) | (input[11 + inpos] << 29);
1807
+ output[8 + outpos] = (input[11 + inpos] >>> (23 - 20)) | (input[12 + inpos] << 20);
1808
+ output[9 + outpos] = (input[12 + inpos] >>> (23 - 11)) | (input[13 + inpos] << 11);
1809
+ output[10 + outpos] = (input[13 + inpos] >>> (23 - 2)) | (input[14 + inpos] << 2) | (input[15 + inpos] << 25);
1810
+ output[11 + outpos] = (input[15 + inpos] >>> (23 - 16)) | (input[16 + inpos] << 16);
1811
+ output[12 + outpos] = (input[16 + inpos] >>> (23 - 7)) | (input[17 + inpos] << 7) | (input[18 + inpos] << 30);
1812
+ output[13 + outpos] = (input[18 + inpos] >>> (23 - 21)) | (input[19 + inpos] << 21);
1813
+ output[14 + outpos] = (input[19 + inpos] >>> (23 - 12)) | (input[20 + inpos] << 12);
1814
+ output[15 + outpos] = (input[20 + inpos] >>> (23 - 3)) | (input[21 + inpos] << 3) | (input[22 + inpos] << 26);
1815
+ output[16 + outpos] = (input[22 + inpos] >>> (23 - 17)) | (input[23 + inpos] << 17);
1816
+ output[17 + outpos] = (input[23 + inpos] >>> (23 - 8)) | (input[24 + inpos] << 8) | (input[25 + inpos] << 31);
1817
+ output[18 + outpos] = (input[25 + inpos] >>> (23 - 22)) | (input[26 + inpos] << 22);
1818
+ output[19 + outpos] = (input[26 + inpos] >>> (23 - 13)) | (input[27 + inpos] << 13);
1819
+ output[20 + outpos] = (input[27 + inpos] >>> (23 - 4)) | (input[28 + inpos] << 4) | (input[29 + inpos] << 27);
1820
+ output[21 + outpos] = (input[29 + inpos] >>> (23 - 18)) | (input[30 + inpos] << 18);
1821
+ output[22 + outpos] = (input[30 + inpos] >>> (23 - 9)) | (input[31 + inpos] << 9);
1822
+ }
1823
+ function fastpackwithoutmask24(input, inpos, output, outpos) {
1824
+ output[outpos] = input[inpos] | (input[1 + inpos] << 24);
1825
+ output[1 + outpos] = (input[1 + inpos] >>> (24 - 16)) | (input[2 + inpos] << 16);
1826
+ output[2 + outpos] = (input[2 + inpos] >>> (24 - 8)) | (input[3 + inpos] << 8);
1827
+ output[3 + outpos] = input[4 + inpos] | (input[5 + inpos] << 24);
1828
+ output[4 + outpos] = (input[5 + inpos] >>> (24 - 16)) | (input[6 + inpos] << 16);
1829
+ output[5 + outpos] = (input[6 + inpos] >>> (24 - 8)) | (input[7 + inpos] << 8);
1830
+ output[6 + outpos] = input[8 + inpos] | (input[9 + inpos] << 24);
1831
+ output[7 + outpos] = (input[9 + inpos] >>> (24 - 16)) | (input[10 + inpos] << 16);
1832
+ output[8 + outpos] = (input[10 + inpos] >>> (24 - 8)) | (input[11 + inpos] << 8);
1833
+ output[9 + outpos] = input[12 + inpos] | (input[13 + inpos] << 24);
1834
+ output[10 + outpos] = (input[13 + inpos] >>> (24 - 16)) | (input[14 + inpos] << 16);
1835
+ output[11 + outpos] = (input[14 + inpos] >>> (24 - 8)) | (input[15 + inpos] << 8);
1836
+ output[12 + outpos] = input[16 + inpos] | (input[17 + inpos] << 24);
1837
+ output[13 + outpos] = (input[17 + inpos] >>> (24 - 16)) | (input[18 + inpos] << 16);
1838
+ output[14 + outpos] = (input[18 + inpos] >>> (24 - 8)) | (input[19 + inpos] << 8);
1839
+ output[15 + outpos] = input[20 + inpos] | (input[21 + inpos] << 24);
1840
+ output[16 + outpos] = (input[21 + inpos] >>> (24 - 16)) | (input[22 + inpos] << 16);
1841
+ output[17 + outpos] = (input[22 + inpos] >>> (24 - 8)) | (input[23 + inpos] << 8);
1842
+ output[18 + outpos] = input[24 + inpos] | (input[25 + inpos] << 24);
1843
+ output[19 + outpos] = (input[25 + inpos] >>> (24 - 16)) | (input[26 + inpos] << 16);
1844
+ output[20 + outpos] = (input[26 + inpos] >>> (24 - 8)) | (input[27 + inpos] << 8);
1845
+ output[21 + outpos] = input[28 + inpos] | (input[29 + inpos] << 24);
1846
+ output[22 + outpos] = (input[29 + inpos] >>> (24 - 16)) | (input[30 + inpos] << 16);
1847
+ output[23 + outpos] = (input[30 + inpos] >>> (24 - 8)) | (input[31 + inpos] << 8);
1848
+ }
1849
+ function fastpackwithoutmask25(input, inpos, output, outpos) {
1850
+ output[outpos] = input[inpos] | (input[1 + inpos] << 25);
1851
+ output[1 + outpos] = (input[1 + inpos] >>> (25 - 18)) | (input[2 + inpos] << 18);
1852
+ output[2 + outpos] = (input[2 + inpos] >>> (25 - 11)) | (input[3 + inpos] << 11);
1853
+ output[3 + outpos] = (input[3 + inpos] >>> (25 - 4)) | (input[4 + inpos] << 4) | (input[5 + inpos] << 29);
1854
+ output[4 + outpos] = (input[5 + inpos] >>> (25 - 22)) | (input[6 + inpos] << 22);
1855
+ output[5 + outpos] = (input[6 + inpos] >>> (25 - 15)) | (input[7 + inpos] << 15);
1856
+ output[6 + outpos] = (input[7 + inpos] >>> (25 - 8)) | (input[8 + inpos] << 8);
1857
+ output[7 + outpos] = (input[8 + inpos] >>> (25 - 1)) | (input[9 + inpos] << 1) | (input[10 + inpos] << 26);
1858
+ output[8 + outpos] = (input[10 + inpos] >>> (25 - 19)) | (input[11 + inpos] << 19);
1859
+ output[9 + outpos] = (input[11 + inpos] >>> (25 - 12)) | (input[12 + inpos] << 12);
1860
+ output[10 + outpos] = (input[12 + inpos] >>> (25 - 5)) | (input[13 + inpos] << 5) | (input[14 + inpos] << 30);
1861
+ output[11 + outpos] = (input[14 + inpos] >>> (25 - 23)) | (input[15 + inpos] << 23);
1862
+ output[12 + outpos] = (input[15 + inpos] >>> (25 - 16)) | (input[16 + inpos] << 16);
1863
+ output[13 + outpos] = (input[16 + inpos] >>> (25 - 9)) | (input[17 + inpos] << 9);
1864
+ output[14 + outpos] = (input[17 + inpos] >>> (25 - 2)) | (input[18 + inpos] << 2) | (input[19 + inpos] << 27);
1865
+ output[15 + outpos] = (input[19 + inpos] >>> (25 - 20)) | (input[20 + inpos] << 20);
1866
+ output[16 + outpos] = (input[20 + inpos] >>> (25 - 13)) | (input[21 + inpos] << 13);
1867
+ output[17 + outpos] = (input[21 + inpos] >>> (25 - 6)) | (input[22 + inpos] << 6) | (input[23 + inpos] << 31);
1868
+ output[18 + outpos] = (input[23 + inpos] >>> (25 - 24)) | (input[24 + inpos] << 24);
1869
+ output[19 + outpos] = (input[24 + inpos] >>> (25 - 17)) | (input[25 + inpos] << 17);
1870
+ output[20 + outpos] = (input[25 + inpos] >>> (25 - 10)) | (input[26 + inpos] << 10);
1871
+ output[21 + outpos] = (input[26 + inpos] >>> (25 - 3)) | (input[27 + inpos] << 3) | (input[28 + inpos] << 28);
1872
+ output[22 + outpos] = (input[28 + inpos] >>> (25 - 21)) | (input[29 + inpos] << 21);
1873
+ output[23 + outpos] = (input[29 + inpos] >>> (25 - 14)) | (input[30 + inpos] << 14);
1874
+ output[24 + outpos] = (input[30 + inpos] >>> (25 - 7)) | (input[31 + inpos] << 7);
1875
+ }
1876
+ function fastpackwithoutmask26(input, inpos, output, outpos) {
1877
+ output[outpos] = input[inpos] | (input[1 + inpos] << 26);
1878
+ output[1 + outpos] = (input[1 + inpos] >>> (26 - 20)) | (input[2 + inpos] << 20);
1879
+ output[2 + outpos] = (input[2 + inpos] >>> (26 - 14)) | (input[3 + inpos] << 14);
1880
+ output[3 + outpos] = (input[3 + inpos] >>> (26 - 8)) | (input[4 + inpos] << 8);
1881
+ output[4 + outpos] = (input[4 + inpos] >>> (26 - 2)) | (input[5 + inpos] << 2) | (input[6 + inpos] << 28);
1882
+ output[5 + outpos] = (input[6 + inpos] >>> (26 - 22)) | (input[7 + inpos] << 22);
1883
+ output[6 + outpos] = (input[7 + inpos] >>> (26 - 16)) | (input[8 + inpos] << 16);
1884
+ output[7 + outpos] = (input[8 + inpos] >>> (26 - 10)) | (input[9 + inpos] << 10);
1885
+ output[8 + outpos] = (input[9 + inpos] >>> (26 - 4)) | (input[10 + inpos] << 4) | (input[11 + inpos] << 30);
1886
+ output[9 + outpos] = (input[11 + inpos] >>> (26 - 24)) | (input[12 + inpos] << 24);
1887
+ output[10 + outpos] = (input[12 + inpos] >>> (26 - 18)) | (input[13 + inpos] << 18);
1888
+ output[11 + outpos] = (input[13 + inpos] >>> (26 - 12)) | (input[14 + inpos] << 12);
1889
+ output[12 + outpos] = (input[14 + inpos] >>> (26 - 6)) | (input[15 + inpos] << 6);
1890
+ output[13 + outpos] = input[16 + inpos] | (input[17 + inpos] << 26);
1891
+ output[14 + outpos] = (input[17 + inpos] >>> (26 - 20)) | (input[18 + inpos] << 20);
1892
+ output[15 + outpos] = (input[18 + inpos] >>> (26 - 14)) | (input[19 + inpos] << 14);
1893
+ output[16 + outpos] = (input[19 + inpos] >>> (26 - 8)) | (input[20 + inpos] << 8);
1894
+ output[17 + outpos] = (input[20 + inpos] >>> (26 - 2)) | (input[21 + inpos] << 2) | (input[22 + inpos] << 28);
1895
+ output[18 + outpos] = (input[22 + inpos] >>> (26 - 22)) | (input[23 + inpos] << 22);
1896
+ output[19 + outpos] = (input[23 + inpos] >>> (26 - 16)) | (input[24 + inpos] << 16);
1897
+ output[20 + outpos] = (input[24 + inpos] >>> (26 - 10)) | (input[25 + inpos] << 10);
1898
+ output[21 + outpos] = (input[25 + inpos] >>> (26 - 4)) | (input[26 + inpos] << 4) | (input[27 + inpos] << 30);
1899
+ output[22 + outpos] = (input[27 + inpos] >>> (26 - 24)) | (input[28 + inpos] << 24);
1900
+ output[23 + outpos] = (input[28 + inpos] >>> (26 - 18)) | (input[29 + inpos] << 18);
1901
+ output[24 + outpos] = (input[29 + inpos] >>> (26 - 12)) | (input[30 + inpos] << 12);
1902
+ output[25 + outpos] = (input[30 + inpos] >>> (26 - 6)) | (input[31 + inpos] << 6);
1903
+ }
1904
+ function fastpackwithoutmask27(input, inpos, output, outpos) {
1905
+ output[outpos] = input[inpos] | (input[1 + inpos] << 27);
1906
+ output[1 + outpos] = (input[1 + inpos] >>> (27 - 22)) | (input[2 + inpos] << 22);
1907
+ output[2 + outpos] = (input[2 + inpos] >>> (27 - 17)) | (input[3 + inpos] << 17);
1908
+ output[3 + outpos] = (input[3 + inpos] >>> (27 - 12)) | (input[4 + inpos] << 12);
1909
+ output[4 + outpos] = (input[4 + inpos] >>> (27 - 7)) | (input[5 + inpos] << 7);
1910
+ output[5 + outpos] = (input[5 + inpos] >>> (27 - 2)) | (input[6 + inpos] << 2) | (input[7 + inpos] << 29);
1911
+ output[6 + outpos] = (input[7 + inpos] >>> (27 - 24)) | (input[8 + inpos] << 24);
1912
+ output[7 + outpos] = (input[8 + inpos] >>> (27 - 19)) | (input[9 + inpos] << 19);
1913
+ output[8 + outpos] = (input[9 + inpos] >>> (27 - 14)) | (input[10 + inpos] << 14);
1914
+ output[9 + outpos] = (input[10 + inpos] >>> (27 - 9)) | (input[11 + inpos] << 9);
1915
+ output[10 + outpos] = (input[11 + inpos] >>> (27 - 4)) | (input[12 + inpos] << 4) | (input[13 + inpos] << 31);
1916
+ output[11 + outpos] = (input[13 + inpos] >>> (27 - 26)) | (input[14 + inpos] << 26);
1917
+ output[12 + outpos] = (input[14 + inpos] >>> (27 - 21)) | (input[15 + inpos] << 21);
1918
+ output[13 + outpos] = (input[15 + inpos] >>> (27 - 16)) | (input[16 + inpos] << 16);
1919
+ output[14 + outpos] = (input[16 + inpos] >>> (27 - 11)) | (input[17 + inpos] << 11);
1920
+ output[15 + outpos] = (input[17 + inpos] >>> (27 - 6)) | (input[18 + inpos] << 6);
1921
+ output[16 + outpos] = (input[18 + inpos] >>> (27 - 1)) | (input[19 + inpos] << 1) | (input[20 + inpos] << 28);
1922
+ output[17 + outpos] = (input[20 + inpos] >>> (27 - 23)) | (input[21 + inpos] << 23);
1923
+ output[18 + outpos] = (input[21 + inpos] >>> (27 - 18)) | (input[22 + inpos] << 18);
1924
+ output[19 + outpos] = (input[22 + inpos] >>> (27 - 13)) | (input[23 + inpos] << 13);
1925
+ output[20 + outpos] = (input[23 + inpos] >>> (27 - 8)) | (input[24 + inpos] << 8);
1926
+ output[21 + outpos] = (input[24 + inpos] >>> (27 - 3)) | (input[25 + inpos] << 3) | (input[26 + inpos] << 30);
1927
+ output[22 + outpos] = (input[26 + inpos] >>> (27 - 25)) | (input[27 + inpos] << 25);
1928
+ output[23 + outpos] = (input[27 + inpos] >>> (27 - 20)) | (input[28 + inpos] << 20);
1929
+ output[24 + outpos] = (input[28 + inpos] >>> (27 - 15)) | (input[29 + inpos] << 15);
1930
+ output[25 + outpos] = (input[29 + inpos] >>> (27 - 10)) | (input[30 + inpos] << 10);
1931
+ output[26 + outpos] = (input[30 + inpos] >>> (27 - 5)) | (input[31 + inpos] << 5);
1932
+ }
1933
+ function fastpackwithoutmask28(input, inpos, output, outpos) {
1934
+ output[outpos] = input[inpos] | (input[1 + inpos] << 28);
1935
+ output[1 + outpos] = (input[1 + inpos] >>> (28 - 24)) | (input[2 + inpos] << 24);
1936
+ output[2 + outpos] = (input[2 + inpos] >>> (28 - 20)) | (input[3 + inpos] << 20);
1937
+ output[3 + outpos] = (input[3 + inpos] >>> (28 - 16)) | (input[4 + inpos] << 16);
1938
+ output[4 + outpos] = (input[4 + inpos] >>> (28 - 12)) | (input[5 + inpos] << 12);
1939
+ output[5 + outpos] = (input[5 + inpos] >>> (28 - 8)) | (input[6 + inpos] << 8);
1940
+ output[6 + outpos] = (input[6 + inpos] >>> (28 - 4)) | (input[7 + inpos] << 4);
1941
+ output[7 + outpos] = input[8 + inpos] | (input[9 + inpos] << 28);
1942
+ output[8 + outpos] = (input[9 + inpos] >>> (28 - 24)) | (input[10 + inpos] << 24);
1943
+ output[9 + outpos] = (input[10 + inpos] >>> (28 - 20)) | (input[11 + inpos] << 20);
1944
+ output[10 + outpos] = (input[11 + inpos] >>> (28 - 16)) | (input[12 + inpos] << 16);
1945
+ output[11 + outpos] = (input[12 + inpos] >>> (28 - 12)) | (input[13 + inpos] << 12);
1946
+ output[12 + outpos] = (input[13 + inpos] >>> (28 - 8)) | (input[14 + inpos] << 8);
1947
+ output[13 + outpos] = (input[14 + inpos] >>> (28 - 4)) | (input[15 + inpos] << 4);
1948
+ output[14 + outpos] = input[16 + inpos] | (input[17 + inpos] << 28);
1949
+ output[15 + outpos] = (input[17 + inpos] >>> (28 - 24)) | (input[18 + inpos] << 24);
1950
+ output[16 + outpos] = (input[18 + inpos] >>> (28 - 20)) | (input[19 + inpos] << 20);
1951
+ output[17 + outpos] = (input[19 + inpos] >>> (28 - 16)) | (input[20 + inpos] << 16);
1952
+ output[18 + outpos] = (input[20 + inpos] >>> (28 - 12)) | (input[21 + inpos] << 12);
1953
+ output[19 + outpos] = (input[21 + inpos] >>> (28 - 8)) | (input[22 + inpos] << 8);
1954
+ output[20 + outpos] = (input[22 + inpos] >>> (28 - 4)) | (input[23 + inpos] << 4);
1955
+ output[21 + outpos] = input[24 + inpos] | (input[25 + inpos] << 28);
1956
+ output[22 + outpos] = (input[25 + inpos] >>> (28 - 24)) | (input[26 + inpos] << 24);
1957
+ output[23 + outpos] = (input[26 + inpos] >>> (28 - 20)) | (input[27 + inpos] << 20);
1958
+ output[24 + outpos] = (input[27 + inpos] >>> (28 - 16)) | (input[28 + inpos] << 16);
1959
+ output[25 + outpos] = (input[28 + inpos] >>> (28 - 12)) | (input[29 + inpos] << 12);
1960
+ output[26 + outpos] = (input[29 + inpos] >>> (28 - 8)) | (input[30 + inpos] << 8);
1961
+ output[27 + outpos] = (input[30 + inpos] >>> (28 - 4)) | (input[31 + inpos] << 4);
1962
+ }
1963
+ function fastpackwithoutmask29(input, inpos, output, outpos) {
1964
+ output[outpos] = input[inpos] | (input[1 + inpos] << 29);
1965
+ output[1 + outpos] = (input[1 + inpos] >>> (29 - 26)) | (input[2 + inpos] << 26);
1966
+ output[2 + outpos] = (input[2 + inpos] >>> (29 - 23)) | (input[3 + inpos] << 23);
1967
+ output[3 + outpos] = (input[3 + inpos] >>> (29 - 20)) | (input[4 + inpos] << 20);
1968
+ output[4 + outpos] = (input[4 + inpos] >>> (29 - 17)) | (input[5 + inpos] << 17);
1969
+ output[5 + outpos] = (input[5 + inpos] >>> (29 - 14)) | (input[6 + inpos] << 14);
1970
+ output[6 + outpos] = (input[6 + inpos] >>> (29 - 11)) | (input[7 + inpos] << 11);
1971
+ output[7 + outpos] = (input[7 + inpos] >>> (29 - 8)) | (input[8 + inpos] << 8);
1972
+ output[8 + outpos] = (input[8 + inpos] >>> (29 - 5)) | (input[9 + inpos] << 5);
1973
+ output[9 + outpos] = (input[9 + inpos] >>> (29 - 2)) | (input[10 + inpos] << 2) | (input[11 + inpos] << 31);
1974
+ output[10 + outpos] = (input[11 + inpos] >>> (29 - 28)) | (input[12 + inpos] << 28);
1975
+ output[11 + outpos] = (input[12 + inpos] >>> (29 - 25)) | (input[13 + inpos] << 25);
1976
+ output[12 + outpos] = (input[13 + inpos] >>> (29 - 22)) | (input[14 + inpos] << 22);
1977
+ output[13 + outpos] = (input[14 + inpos] >>> (29 - 19)) | (input[15 + inpos] << 19);
1978
+ output[14 + outpos] = (input[15 + inpos] >>> (29 - 16)) | (input[16 + inpos] << 16);
1979
+ output[15 + outpos] = (input[16 + inpos] >>> (29 - 13)) | (input[17 + inpos] << 13);
1980
+ output[16 + outpos] = (input[17 + inpos] >>> (29 - 10)) | (input[18 + inpos] << 10);
1981
+ output[17 + outpos] = (input[18 + inpos] >>> (29 - 7)) | (input[19 + inpos] << 7);
1982
+ output[18 + outpos] = (input[19 + inpos] >>> (29 - 4)) | (input[20 + inpos] << 4);
1983
+ output[19 + outpos] = (input[20 + inpos] >>> (29 - 1)) | (input[21 + inpos] << 1) | (input[22 + inpos] << 30);
1984
+ output[20 + outpos] = (input[22 + inpos] >>> (29 - 27)) | (input[23 + inpos] << 27);
1985
+ output[21 + outpos] = (input[23 + inpos] >>> (29 - 24)) | (input[24 + inpos] << 24);
1986
+ output[22 + outpos] = (input[24 + inpos] >>> (29 - 21)) | (input[25 + inpos] << 21);
1987
+ output[23 + outpos] = (input[25 + inpos] >>> (29 - 18)) | (input[26 + inpos] << 18);
1988
+ output[24 + outpos] = (input[26 + inpos] >>> (29 - 15)) | (input[27 + inpos] << 15);
1989
+ output[25 + outpos] = (input[27 + inpos] >>> (29 - 12)) | (input[28 + inpos] << 12);
1990
+ output[26 + outpos] = (input[28 + inpos] >>> (29 - 9)) | (input[29 + inpos] << 9);
1991
+ output[27 + outpos] = (input[29 + inpos] >>> (29 - 6)) | (input[30 + inpos] << 6);
1992
+ output[28 + outpos] = (input[30 + inpos] >>> (29 - 3)) | (input[31 + inpos] << 3);
1993
+ }
1994
+ function fastpackwithoutmask3(input, inpos, output, outpos) {
1995
+ output[outpos] =
1996
+ input[inpos] |
1997
+ (input[1 + inpos] << 3) |
1998
+ (input[2 + inpos] << 6) |
1999
+ (input[3 + inpos] << 9) |
2000
+ (input[4 + inpos] << 12) |
2001
+ (input[5 + inpos] << 15) |
2002
+ (input[6 + inpos] << 18) |
2003
+ (input[7 + inpos] << 21) |
2004
+ (input[8 + inpos] << 24) |
2005
+ (input[9 + inpos] << 27) |
2006
+ (input[10 + inpos] << 30);
2007
+ output[1 + outpos] =
2008
+ (input[10 + inpos] >>> (3 - 1)) |
2009
+ (input[11 + inpos] << 1) |
2010
+ (input[12 + inpos] << 4) |
2011
+ (input[13 + inpos] << 7) |
2012
+ (input[14 + inpos] << 10) |
2013
+ (input[15 + inpos] << 13) |
2014
+ (input[16 + inpos] << 16) |
2015
+ (input[17 + inpos] << 19) |
2016
+ (input[18 + inpos] << 22) |
2017
+ (input[19 + inpos] << 25) |
2018
+ (input[20 + inpos] << 28) |
2019
+ (input[21 + inpos] << 31);
2020
+ output[2 + outpos] =
2021
+ (input[21 + inpos] >>> (3 - 2)) |
2022
+ (input[22 + inpos] << 2) |
2023
+ (input[23 + inpos] << 5) |
2024
+ (input[24 + inpos] << 8) |
2025
+ (input[25 + inpos] << 11) |
2026
+ (input[26 + inpos] << 14) |
2027
+ (input[27 + inpos] << 17) |
2028
+ (input[28 + inpos] << 20) |
2029
+ (input[29 + inpos] << 23) |
2030
+ (input[30 + inpos] << 26) |
2031
+ (input[31 + inpos] << 29);
2032
+ }
2033
+ function fastpackwithoutmask30(input, inpos, output, outpos) {
2034
+ output[outpos] = input[inpos] | (input[1 + inpos] << 30);
2035
+ output[1 + outpos] = (input[1 + inpos] >>> (30 - 28)) | (input[2 + inpos] << 28);
2036
+ output[2 + outpos] = (input[2 + inpos] >>> (30 - 26)) | (input[3 + inpos] << 26);
2037
+ output[3 + outpos] = (input[3 + inpos] >>> (30 - 24)) | (input[4 + inpos] << 24);
2038
+ output[4 + outpos] = (input[4 + inpos] >>> (30 - 22)) | (input[5 + inpos] << 22);
2039
+ output[5 + outpos] = (input[5 + inpos] >>> (30 - 20)) | (input[6 + inpos] << 20);
2040
+ output[6 + outpos] = (input[6 + inpos] >>> (30 - 18)) | (input[7 + inpos] << 18);
2041
+ output[7 + outpos] = (input[7 + inpos] >>> (30 - 16)) | (input[8 + inpos] << 16);
2042
+ output[8 + outpos] = (input[8 + inpos] >>> (30 - 14)) | (input[9 + inpos] << 14);
2043
+ output[9 + outpos] = (input[9 + inpos] >>> (30 - 12)) | (input[10 + inpos] << 12);
2044
+ output[10 + outpos] = (input[10 + inpos] >>> (30 - 10)) | (input[11 + inpos] << 10);
2045
+ output[11 + outpos] = (input[11 + inpos] >>> (30 - 8)) | (input[12 + inpos] << 8);
2046
+ output[12 + outpos] = (input[12 + inpos] >>> (30 - 6)) | (input[13 + inpos] << 6);
2047
+ output[13 + outpos] = (input[13 + inpos] >>> (30 - 4)) | (input[14 + inpos] << 4);
2048
+ output[14 + outpos] = (input[14 + inpos] >>> (30 - 2)) | (input[15 + inpos] << 2);
2049
+ output[15 + outpos] = input[16 + inpos] | (input[17 + inpos] << 30);
2050
+ output[16 + outpos] = (input[17 + inpos] >>> (30 - 28)) | (input[18 + inpos] << 28);
2051
+ output[17 + outpos] = (input[18 + inpos] >>> (30 - 26)) | (input[19 + inpos] << 26);
2052
+ output[18 + outpos] = (input[19 + inpos] >>> (30 - 24)) | (input[20 + inpos] << 24);
2053
+ output[19 + outpos] = (input[20 + inpos] >>> (30 - 22)) | (input[21 + inpos] << 22);
2054
+ output[20 + outpos] = (input[21 + inpos] >>> (30 - 20)) | (input[22 + inpos] << 20);
2055
+ output[21 + outpos] = (input[22 + inpos] >>> (30 - 18)) | (input[23 + inpos] << 18);
2056
+ output[22 + outpos] = (input[23 + inpos] >>> (30 - 16)) | (input[24 + inpos] << 16);
2057
+ output[23 + outpos] = (input[24 + inpos] >>> (30 - 14)) | (input[25 + inpos] << 14);
2058
+ output[24 + outpos] = (input[25 + inpos] >>> (30 - 12)) | (input[26 + inpos] << 12);
2059
+ output[25 + outpos] = (input[26 + inpos] >>> (30 - 10)) | (input[27 + inpos] << 10);
2060
+ output[26 + outpos] = (input[27 + inpos] >>> (30 - 8)) | (input[28 + inpos] << 8);
2061
+ output[27 + outpos] = (input[28 + inpos] >>> (30 - 6)) | (input[29 + inpos] << 6);
2062
+ output[28 + outpos] = (input[29 + inpos] >>> (30 - 4)) | (input[30 + inpos] << 4);
2063
+ output[29 + outpos] = (input[30 + inpos] >>> (30 - 2)) | (input[31 + inpos] << 2);
2064
+ }
2065
+ function fastpackwithoutmask31(input, inpos, output, outpos) {
2066
+ output[outpos] = input[inpos] | (input[1 + inpos] << 31);
2067
+ output[1 + outpos] = (input[1 + inpos] >>> (31 - 30)) | (input[2 + inpos] << 30);
2068
+ output[2 + outpos] = (input[2 + inpos] >>> (31 - 29)) | (input[3 + inpos] << 29);
2069
+ output[3 + outpos] = (input[3 + inpos] >>> (31 - 28)) | (input[4 + inpos] << 28);
2070
+ output[4 + outpos] = (input[4 + inpos] >>> (31 - 27)) | (input[5 + inpos] << 27);
2071
+ output[5 + outpos] = (input[5 + inpos] >>> (31 - 26)) | (input[6 + inpos] << 26);
2072
+ output[6 + outpos] = (input[6 + inpos] >>> (31 - 25)) | (input[7 + inpos] << 25);
2073
+ output[7 + outpos] = (input[7 + inpos] >>> (31 - 24)) | (input[8 + inpos] << 24);
2074
+ output[8 + outpos] = (input[8 + inpos] >>> (31 - 23)) | (input[9 + inpos] << 23);
2075
+ output[9 + outpos] = (input[9 + inpos] >>> (31 - 22)) | (input[10 + inpos] << 22);
2076
+ output[10 + outpos] = (input[10 + inpos] >>> (31 - 21)) | (input[11 + inpos] << 21);
2077
+ output[11 + outpos] = (input[11 + inpos] >>> (31 - 20)) | (input[12 + inpos] << 20);
2078
+ output[12 + outpos] = (input[12 + inpos] >>> (31 - 19)) | (input[13 + inpos] << 19);
2079
+ output[13 + outpos] = (input[13 + inpos] >>> (31 - 18)) | (input[14 + inpos] << 18);
2080
+ output[14 + outpos] = (input[14 + inpos] >>> (31 - 17)) | (input[15 + inpos] << 17);
2081
+ output[15 + outpos] = (input[15 + inpos] >>> (31 - 16)) | (input[16 + inpos] << 16);
2082
+ output[16 + outpos] = (input[16 + inpos] >>> (31 - 15)) | (input[17 + inpos] << 15);
2083
+ output[17 + outpos] = (input[17 + inpos] >>> (31 - 14)) | (input[18 + inpos] << 14);
2084
+ output[18 + outpos] = (input[18 + inpos] >>> (31 - 13)) | (input[19 + inpos] << 13);
2085
+ output[19 + outpos] = (input[19 + inpos] >>> (31 - 12)) | (input[20 + inpos] << 12);
2086
+ output[20 + outpos] = (input[20 + inpos] >>> (31 - 11)) | (input[21 + inpos] << 11);
2087
+ output[21 + outpos] = (input[21 + inpos] >>> (31 - 10)) | (input[22 + inpos] << 10);
2088
+ output[22 + outpos] = (input[22 + inpos] >>> (31 - 9)) | (input[23 + inpos] << 9);
2089
+ output[23 + outpos] = (input[23 + inpos] >>> (31 - 8)) | (input[24 + inpos] << 8);
2090
+ output[24 + outpos] = (input[24 + inpos] >>> (31 - 7)) | (input[25 + inpos] << 7);
2091
+ output[25 + outpos] = (input[25 + inpos] >>> (31 - 6)) | (input[26 + inpos] << 6);
2092
+ output[26 + outpos] = (input[26 + inpos] >>> (31 - 5)) | (input[27 + inpos] << 5);
2093
+ output[27 + outpos] = (input[27 + inpos] >>> (31 - 4)) | (input[28 + inpos] << 4);
2094
+ output[28 + outpos] = (input[28 + inpos] >>> (31 - 3)) | (input[29 + inpos] << 3);
2095
+ output[29 + outpos] = (input[29 + inpos] >>> (31 - 2)) | (input[30 + inpos] << 2);
2096
+ output[30 + outpos] = (input[30 + inpos] >>> (31 - 1)) | (input[31 + inpos] << 1);
2097
+ }
2098
+ function fastpackwithoutmask32(input, inpos, output, outpos) {
2099
+ (0, util_1.arraycopy)(input, inpos, output, outpos, 32);
2100
+ }
2101
+ function fastpackwithoutmask4(input, inpos, output, outpos) {
2102
+ output[outpos] =
2103
+ input[inpos] |
2104
+ (input[1 + inpos] << 4) |
2105
+ (input[2 + inpos] << 8) |
2106
+ (input[3 + inpos] << 12) |
2107
+ (input[4 + inpos] << 16) |
2108
+ (input[5 + inpos] << 20) |
2109
+ (input[6 + inpos] << 24) |
2110
+ (input[7 + inpos] << 28);
2111
+ output[1 + outpos] =
2112
+ input[8 + inpos] |
2113
+ (input[9 + inpos] << 4) |
2114
+ (input[10 + inpos] << 8) |
2115
+ (input[11 + inpos] << 12) |
2116
+ (input[12 + inpos] << 16) |
2117
+ (input[13 + inpos] << 20) |
2118
+ (input[14 + inpos] << 24) |
2119
+ (input[15 + inpos] << 28);
2120
+ output[2 + outpos] =
2121
+ input[16 + inpos] |
2122
+ (input[17 + inpos] << 4) |
2123
+ (input[18 + inpos] << 8) |
2124
+ (input[19 + inpos] << 12) |
2125
+ (input[20 + inpos] << 16) |
2126
+ (input[21 + inpos] << 20) |
2127
+ (input[22 + inpos] << 24) |
2128
+ (input[23 + inpos] << 28);
2129
+ output[3 + outpos] =
2130
+ input[24 + inpos] |
2131
+ (input[25 + inpos] << 4) |
2132
+ (input[26 + inpos] << 8) |
2133
+ (input[27 + inpos] << 12) |
2134
+ (input[28 + inpos] << 16) |
2135
+ (input[29 + inpos] << 20) |
2136
+ (input[30 + inpos] << 24) |
2137
+ (input[31 + inpos] << 28);
2138
+ }
2139
+ function fastpackwithoutmask5(input, inpos, output, outpos) {
2140
+ output[outpos] =
2141
+ input[inpos] |
2142
+ (input[1 + inpos] << 5) |
2143
+ (input[2 + inpos] << 10) |
2144
+ (input[3 + inpos] << 15) |
2145
+ (input[4 + inpos] << 20) |
2146
+ (input[5 + inpos] << 25) |
2147
+ (input[6 + inpos] << 30);
2148
+ output[1 + outpos] =
2149
+ (input[6 + inpos] >>> (5 - 3)) |
2150
+ (input[7 + inpos] << 3) |
2151
+ (input[8 + inpos] << 8) |
2152
+ (input[9 + inpos] << 13) |
2153
+ (input[10 + inpos] << 18) |
2154
+ (input[11 + inpos] << 23) |
2155
+ (input[12 + inpos] << 28);
2156
+ output[2 + outpos] =
2157
+ (input[12 + inpos] >>> (5 - 1)) |
2158
+ (input[13 + inpos] << 1) |
2159
+ (input[14 + inpos] << 6) |
2160
+ (input[15 + inpos] << 11) |
2161
+ (input[16 + inpos] << 16) |
2162
+ (input[17 + inpos] << 21) |
2163
+ (input[18 + inpos] << 26) |
2164
+ (input[19 + inpos] << 31);
2165
+ output[3 + outpos] =
2166
+ (input[19 + inpos] >>> (5 - 4)) |
2167
+ (input[20 + inpos] << 4) |
2168
+ (input[21 + inpos] << 9) |
2169
+ (input[22 + inpos] << 14) |
2170
+ (input[23 + inpos] << 19) |
2171
+ (input[24 + inpos] << 24) |
2172
+ (input[25 + inpos] << 29);
2173
+ output[4 + outpos] =
2174
+ (input[25 + inpos] >>> (5 - 2)) |
2175
+ (input[26 + inpos] << 2) |
2176
+ (input[27 + inpos] << 7) |
2177
+ (input[28 + inpos] << 12) |
2178
+ (input[29 + inpos] << 17) |
2179
+ (input[30 + inpos] << 22) |
2180
+ (input[31 + inpos] << 27);
2181
+ }
2182
+ function fastpackwithoutmask6(input, inpos, output, outpos) {
2183
+ output[outpos] =
2184
+ input[inpos] |
2185
+ (input[1 + inpos] << 6) |
2186
+ (input[2 + inpos] << 12) |
2187
+ (input[3 + inpos] << 18) |
2188
+ (input[4 + inpos] << 24) |
2189
+ (input[5 + inpos] << 30);
2190
+ output[1 + outpos] =
2191
+ (input[5 + inpos] >>> (6 - 4)) |
2192
+ (input[6 + inpos] << 4) |
2193
+ (input[7 + inpos] << 10) |
2194
+ (input[8 + inpos] << 16) |
2195
+ (input[9 + inpos] << 22) |
2196
+ (input[10 + inpos] << 28);
2197
+ output[2 + outpos] =
2198
+ (input[10 + inpos] >>> (6 - 2)) |
2199
+ (input[11 + inpos] << 2) |
2200
+ (input[12 + inpos] << 8) |
2201
+ (input[13 + inpos] << 14) |
2202
+ (input[14 + inpos] << 20) |
2203
+ (input[15 + inpos] << 26);
2204
+ output[3 + outpos] =
2205
+ input[16 + inpos] |
2206
+ (input[17 + inpos] << 6) |
2207
+ (input[18 + inpos] << 12) |
2208
+ (input[19 + inpos] << 18) |
2209
+ (input[20 + inpos] << 24) |
2210
+ (input[21 + inpos] << 30);
2211
+ output[4 + outpos] =
2212
+ (input[21 + inpos] >>> (6 - 4)) |
2213
+ (input[22 + inpos] << 4) |
2214
+ (input[23 + inpos] << 10) |
2215
+ (input[24 + inpos] << 16) |
2216
+ (input[25 + inpos] << 22) |
2217
+ (input[26 + inpos] << 28);
2218
+ output[5 + outpos] =
2219
+ (input[26 + inpos] >>> (6 - 2)) |
2220
+ (input[27 + inpos] << 2) |
2221
+ (input[28 + inpos] << 8) |
2222
+ (input[29 + inpos] << 14) |
2223
+ (input[30 + inpos] << 20) |
2224
+ (input[31 + inpos] << 26);
2225
+ }
2226
+ function fastpackwithoutmask7(input, inpos, output, outpos) {
2227
+ output[outpos] =
2228
+ input[inpos] |
2229
+ (input[1 + inpos] << 7) |
2230
+ (input[2 + inpos] << 14) |
2231
+ (input[3 + inpos] << 21) |
2232
+ (input[4 + inpos] << 28);
2233
+ output[1 + outpos] =
2234
+ (input[4 + inpos] >>> (7 - 3)) |
2235
+ (input[5 + inpos] << 3) |
2236
+ (input[6 + inpos] << 10) |
2237
+ (input[7 + inpos] << 17) |
2238
+ (input[8 + inpos] << 24) |
2239
+ (input[9 + inpos] << 31);
2240
+ output[2 + outpos] =
2241
+ (input[9 + inpos] >>> (7 - 6)) |
2242
+ (input[10 + inpos] << 6) |
2243
+ (input[11 + inpos] << 13) |
2244
+ (input[12 + inpos] << 20) |
2245
+ (input[13 + inpos] << 27);
2246
+ output[3 + outpos] =
2247
+ (input[13 + inpos] >>> (7 - 2)) |
2248
+ (input[14 + inpos] << 2) |
2249
+ (input[15 + inpos] << 9) |
2250
+ (input[16 + inpos] << 16) |
2251
+ (input[17 + inpos] << 23) |
2252
+ (input[18 + inpos] << 30);
2253
+ output[4 + outpos] =
2254
+ (input[18 + inpos] >>> (7 - 5)) |
2255
+ (input[19 + inpos] << 5) |
2256
+ (input[20 + inpos] << 12) |
2257
+ (input[21 + inpos] << 19) |
2258
+ (input[22 + inpos] << 26);
2259
+ output[5 + outpos] =
2260
+ (input[22 + inpos] >>> (7 - 1)) |
2261
+ (input[23 + inpos] << 1) |
2262
+ (input[24 + inpos] << 8) |
2263
+ (input[25 + inpos] << 15) |
2264
+ (input[26 + inpos] << 22) |
2265
+ (input[27 + inpos] << 29);
2266
+ output[6 + outpos] =
2267
+ (input[27 + inpos] >>> (7 - 4)) |
2268
+ (input[28 + inpos] << 4) |
2269
+ (input[29 + inpos] << 11) |
2270
+ (input[30 + inpos] << 18) |
2271
+ (input[31 + inpos] << 25);
2272
+ }
2273
+ function fastpackwithoutmask8(input, inpos, output, outpos) {
2274
+ output[outpos] = input[inpos] | (input[1 + inpos] << 8) | (input[2 + inpos] << 16) | (input[3 + inpos] << 24);
2275
+ output[1 + outpos] =
2276
+ input[4 + inpos] | (input[5 + inpos] << 8) | (input[6 + inpos] << 16) | (input[7 + inpos] << 24);
2277
+ output[2 + outpos] =
2278
+ input[8 + inpos] | (input[9 + inpos] << 8) | (input[10 + inpos] << 16) | (input[11 + inpos] << 24);
2279
+ output[3 + outpos] =
2280
+ input[12 + inpos] | (input[13 + inpos] << 8) | (input[14 + inpos] << 16) | (input[15 + inpos] << 24);
2281
+ output[4 + outpos] =
2282
+ input[16 + inpos] | (input[17 + inpos] << 8) | (input[18 + inpos] << 16) | (input[19 + inpos] << 24);
2283
+ output[5 + outpos] =
2284
+ input[20 + inpos] | (input[21 + inpos] << 8) | (input[22 + inpos] << 16) | (input[23 + inpos] << 24);
2285
+ output[6 + outpos] =
2286
+ input[24 + inpos] | (input[25 + inpos] << 8) | (input[26 + inpos] << 16) | (input[27 + inpos] << 24);
2287
+ output[7 + outpos] =
2288
+ input[28 + inpos] | (input[29 + inpos] << 8) | (input[30 + inpos] << 16) | (input[31 + inpos] << 24);
2289
+ }
2290
+ function fastpackwithoutmask9(input, inpos, output, outpos) {
2291
+ output[outpos] = input[inpos] | (input[1 + inpos] << 9) | (input[2 + inpos] << 18) | (input[3 + inpos] << 27);
2292
+ output[1 + outpos] =
2293
+ (input[3 + inpos] >>> (9 - 4)) |
2294
+ (input[4 + inpos] << 4) |
2295
+ (input[5 + inpos] << 13) |
2296
+ (input[6 + inpos] << 22) |
2297
+ (input[7 + inpos] << 31);
2298
+ output[2 + outpos] =
2299
+ (input[7 + inpos] >>> (9 - 8)) | (input[8 + inpos] << 8) | (input[9 + inpos] << 17) | (input[10 + inpos] << 26);
2300
+ output[3 + outpos] =
2301
+ (input[10 + inpos] >>> (9 - 3)) |
2302
+ (input[11 + inpos] << 3) |
2303
+ (input[12 + inpos] << 12) |
2304
+ (input[13 + inpos] << 21) |
2305
+ (input[14 + inpos] << 30);
2306
+ output[4 + outpos] =
2307
+ (input[14 + inpos] >>> (9 - 7)) |
2308
+ (input[15 + inpos] << 7) |
2309
+ (input[16 + inpos] << 16) |
2310
+ (input[17 + inpos] << 25);
2311
+ output[5 + outpos] =
2312
+ (input[17 + inpos] >>> (9 - 2)) |
2313
+ (input[18 + inpos] << 2) |
2314
+ (input[19 + inpos] << 11) |
2315
+ (input[20 + inpos] << 20) |
2316
+ (input[21 + inpos] << 29);
2317
+ output[6 + outpos] =
2318
+ (input[21 + inpos] >>> (9 - 6)) |
2319
+ (input[22 + inpos] << 6) |
2320
+ (input[23 + inpos] << 15) |
2321
+ (input[24 + inpos] << 24);
2322
+ output[7 + outpos] =
2323
+ (input[24 + inpos] >>> (9 - 1)) |
2324
+ (input[25 + inpos] << 1) |
2325
+ (input[26 + inpos] << 10) |
2326
+ (input[27 + inpos] << 19) |
2327
+ (input[28 + inpos] << 28);
2328
+ output[8 + outpos] =
2329
+ (input[28 + inpos] >>> (9 - 5)) |
2330
+ (input[29 + inpos] << 5) |
2331
+ (input[30 + inpos] << 14) |
2332
+ (input[31 + inpos] << 23);
2333
+ }
2334
+ /**
2335
+ * Pack the 32 numberegers
2336
+ *
2337
+ * @param input
2338
+ * source array
2339
+ * @param inpos
2340
+ * starting ponumber in the source array
2341
+ * @param output
2342
+ * output array
2343
+ * @param outpos
2344
+ * starting ponumber in the output array
2345
+ * @param bit
2346
+ * how many bits to use per numbereger
2347
+ */
2348
+ function fastunpack(model) {
2349
+ switch (model.bit) {
2350
+ case 0:
2351
+ fastunpack0(model);
2352
+ break;
2353
+ case 1:
2354
+ fastunpack1(model);
2355
+ break;
2356
+ case 2:
2357
+ fastunpack2(model);
2358
+ break;
2359
+ case 3:
2360
+ fastunpack3(model);
2361
+ break;
2362
+ case 4:
2363
+ fastunpack4(model);
2364
+ break;
2365
+ case 5:
2366
+ fastunpack5(model);
2367
+ break;
2368
+ case 6:
2369
+ fastunpack6(model);
2370
+ break;
2371
+ case 7:
2372
+ fastunpack7(model);
2373
+ break;
2374
+ case 8:
2375
+ fastunpack8(model);
2376
+ break;
2377
+ case 9:
2378
+ fastunpack9(model);
2379
+ break;
2380
+ case 10:
2381
+ fastunpack10(model);
2382
+ break;
2383
+ case 11:
2384
+ fastunpack11(model);
2385
+ break;
2386
+ case 12:
2387
+ fastunpack12(model);
2388
+ break;
2389
+ case 13:
2390
+ fastunpack13(model);
2391
+ break;
2392
+ case 14:
2393
+ fastunpack14(model);
2394
+ break;
2395
+ case 15:
2396
+ fastunpack15(model);
2397
+ break;
2398
+ case 16:
2399
+ fastunpack16(model);
2400
+ break;
2401
+ case 17:
2402
+ fastunpack17(model);
2403
+ break;
2404
+ case 18:
2405
+ fastunpack18(model);
2406
+ break;
2407
+ case 19:
2408
+ fastunpack19(model);
2409
+ break;
2410
+ case 20:
2411
+ fastunpack20(model);
2412
+ break;
2413
+ case 21:
2414
+ fastunpack21(model);
2415
+ break;
2416
+ case 22:
2417
+ fastunpack22(model);
2418
+ break;
2419
+ case 23:
2420
+ fastunpack23(model);
2421
+ break;
2422
+ case 24:
2423
+ fastunpack24(model);
2424
+ break;
2425
+ case 25:
2426
+ fastunpack25(model);
2427
+ break;
2428
+ case 26:
2429
+ fastunpack26(model);
2430
+ break;
2431
+ case 27:
2432
+ fastunpack27(model);
2433
+ break;
2434
+ case 28:
2435
+ fastunpack28(model);
2436
+ break;
2437
+ case 29:
2438
+ fastunpack29(model);
2439
+ break;
2440
+ case 30:
2441
+ fastunpack30(model);
2442
+ break;
2443
+ case 31:
2444
+ fastunpack31(model);
2445
+ break;
2446
+ case 32:
2447
+ fastunpack32(model);
2448
+ break;
2449
+ default:
2450
+ throw new Error("Unsupported bit width.");
2451
+ }
2452
+ }
2453
+ function fastunpack0(model) {
2454
+ model.output.fill(0, model.outpos, model.outpos + 32);
2455
+ }
2456
+ function fastunpack1(model) {
2457
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 1;
2458
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 1) & 1;
2459
+ model.output[2 + model.outpos] = (model.input[model.inpos] >>> 2) & 1;
2460
+ model.output[3 + model.outpos] = (model.input[model.inpos] >>> 3) & 1;
2461
+ model.output[4 + model.outpos] = (model.input[model.inpos] >>> 4) & 1;
2462
+ model.output[5 + model.outpos] = (model.input[model.inpos] >>> 5) & 1;
2463
+ model.output[6 + model.outpos] = (model.input[model.inpos] >>> 6) & 1;
2464
+ model.output[7 + model.outpos] = (model.input[model.inpos] >>> 7) & 1;
2465
+ model.output[8 + model.outpos] = (model.input[model.inpos] >>> 8) & 1;
2466
+ model.output[9 + model.outpos] = (model.input[model.inpos] >>> 9) & 1;
2467
+ model.output[10 + model.outpos] = (model.input[model.inpos] >>> 10) & 1;
2468
+ model.output[11 + model.outpos] = (model.input[model.inpos] >>> 11) & 1;
2469
+ model.output[12 + model.outpos] = (model.input[model.inpos] >>> 12) & 1;
2470
+ model.output[13 + model.outpos] = (model.input[model.inpos] >>> 13) & 1;
2471
+ model.output[14 + model.outpos] = (model.input[model.inpos] >>> 14) & 1;
2472
+ model.output[15 + model.outpos] = (model.input[model.inpos] >>> 15) & 1;
2473
+ model.output[16 + model.outpos] = (model.input[model.inpos] >>> 16) & 1;
2474
+ model.output[17 + model.outpos] = (model.input[model.inpos] >>> 17) & 1;
2475
+ model.output[18 + model.outpos] = (model.input[model.inpos] >>> 18) & 1;
2476
+ model.output[19 + model.outpos] = (model.input[model.inpos] >>> 19) & 1;
2477
+ model.output[20 + model.outpos] = (model.input[model.inpos] >>> 20) & 1;
2478
+ model.output[21 + model.outpos] = (model.input[model.inpos] >>> 21) & 1;
2479
+ model.output[22 + model.outpos] = (model.input[model.inpos] >>> 22) & 1;
2480
+ model.output[23 + model.outpos] = (model.input[model.inpos] >>> 23) & 1;
2481
+ model.output[24 + model.outpos] = (model.input[model.inpos] >>> 24) & 1;
2482
+ model.output[25 + model.outpos] = (model.input[model.inpos] >>> 25) & 1;
2483
+ model.output[26 + model.outpos] = (model.input[model.inpos] >>> 26) & 1;
2484
+ model.output[27 + model.outpos] = (model.input[model.inpos] >>> 27) & 1;
2485
+ model.output[28 + model.outpos] = (model.input[model.inpos] >>> 28) & 1;
2486
+ model.output[29 + model.outpos] = (model.input[model.inpos] >>> 29) & 1;
2487
+ model.output[30 + model.outpos] = (model.input[model.inpos] >>> 30) & 1;
2488
+ model.output[31 + model.outpos] = model.input[model.inpos] >>> 31;
2489
+ }
2490
+ function fastunpack10(model) {
2491
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 1023;
2492
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 10) & 1023;
2493
+ model.output[2 + model.outpos] = (model.input[model.inpos] >>> 20) & 1023;
2494
+ model.output[3 + model.outpos] =
2495
+ (model.input[model.inpos] >>> 30) | ((model.input[1 + model.inpos] & 255) << (10 - 8));
2496
+ model.output[4 + model.outpos] = (model.input[1 + model.inpos] >>> 8) & 1023;
2497
+ model.output[5 + model.outpos] = (model.input[1 + model.inpos] >>> 18) & 1023;
2498
+ model.output[6 + model.outpos] =
2499
+ (model.input[1 + model.inpos] >>> 28) | ((model.input[2 + model.inpos] & 63) << (10 - 6));
2500
+ model.output[7 + model.outpos] = (model.input[2 + model.inpos] >>> 6) & 1023;
2501
+ model.output[8 + model.outpos] = (model.input[2 + model.inpos] >>> 16) & 1023;
2502
+ model.output[9 + model.outpos] =
2503
+ (model.input[2 + model.inpos] >>> 26) | ((model.input[3 + model.inpos] & 15) << (10 - 4));
2504
+ model.output[10 + model.outpos] = (model.input[3 + model.inpos] >>> 4) & 1023;
2505
+ model.output[11 + model.outpos] = (model.input[3 + model.inpos] >>> 14) & 1023;
2506
+ model.output[12 + model.outpos] =
2507
+ (model.input[3 + model.inpos] >>> 24) | ((model.input[4 + model.inpos] & 3) << (10 - 2));
2508
+ model.output[13 + model.outpos] = (model.input[4 + model.inpos] >>> 2) & 1023;
2509
+ model.output[14 + model.outpos] = (model.input[4 + model.inpos] >>> 12) & 1023;
2510
+ model.output[15 + model.outpos] = model.input[4 + model.inpos] >>> 22;
2511
+ model.output[16 + model.outpos] = (model.input[5 + model.inpos] >>> 0) & 1023;
2512
+ model.output[17 + model.outpos] = (model.input[5 + model.inpos] >>> 10) & 1023;
2513
+ model.output[18 + model.outpos] = (model.input[5 + model.inpos] >>> 20) & 1023;
2514
+ model.output[19 + model.outpos] =
2515
+ (model.input[5 + model.inpos] >>> 30) | ((model.input[6 + model.inpos] & 255) << (10 - 8));
2516
+ model.output[20 + model.outpos] = (model.input[6 + model.inpos] >>> 8) & 1023;
2517
+ model.output[21 + model.outpos] = (model.input[6 + model.inpos] >>> 18) & 1023;
2518
+ model.output[22 + model.outpos] =
2519
+ (model.input[6 + model.inpos] >>> 28) | ((model.input[7 + model.inpos] & 63) << (10 - 6));
2520
+ model.output[23 + model.outpos] = (model.input[7 + model.inpos] >>> 6) & 1023;
2521
+ model.output[24 + model.outpos] = (model.input[7 + model.inpos] >>> 16) & 1023;
2522
+ model.output[25 + model.outpos] =
2523
+ (model.input[7 + model.inpos] >>> 26) | ((model.input[8 + model.inpos] & 15) << (10 - 4));
2524
+ model.output[26 + model.outpos] = (model.input[8 + model.inpos] >>> 4) & 1023;
2525
+ model.output[27 + model.outpos] = (model.input[8 + model.inpos] >>> 14) & 1023;
2526
+ model.output[28 + model.outpos] =
2527
+ (model.input[8 + model.inpos] >>> 24) | ((model.input[9 + model.inpos] & 3) << (10 - 2));
2528
+ model.output[29 + model.outpos] = (model.input[9 + model.inpos] >>> 2) & 1023;
2529
+ model.output[30 + model.outpos] = (model.input[9 + model.inpos] >>> 12) & 1023;
2530
+ model.output[31 + model.outpos] = model.input[9 + model.inpos] >>> 22;
2531
+ }
2532
+ function fastunpack11(model) {
2533
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 2047;
2534
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 11) & 2047;
2535
+ model.output[2 + model.outpos] =
2536
+ (model.input[model.inpos] >>> 22) | ((model.input[1 + model.inpos] & 1) << (11 - 1));
2537
+ model.output[3 + model.outpos] = (model.input[1 + model.inpos] >>> 1) & 2047;
2538
+ model.output[4 + model.outpos] = (model.input[1 + model.inpos] >>> 12) & 2047;
2539
+ model.output[5 + model.outpos] =
2540
+ (model.input[1 + model.inpos] >>> 23) | ((model.input[2 + model.inpos] & 3) << (11 - 2));
2541
+ model.output[6 + model.outpos] = (model.input[2 + model.inpos] >>> 2) & 2047;
2542
+ model.output[7 + model.outpos] = (model.input[2 + model.inpos] >>> 13) & 2047;
2543
+ model.output[8 + model.outpos] =
2544
+ (model.input[2 + model.inpos] >>> 24) | ((model.input[3 + model.inpos] & 7) << (11 - 3));
2545
+ model.output[9 + model.outpos] = (model.input[3 + model.inpos] >>> 3) & 2047;
2546
+ model.output[10 + model.outpos] = (model.input[3 + model.inpos] >>> 14) & 2047;
2547
+ model.output[11 + model.outpos] =
2548
+ (model.input[3 + model.inpos] >>> 25) | ((model.input[4 + model.inpos] & 15) << (11 - 4));
2549
+ model.output[12 + model.outpos] = (model.input[4 + model.inpos] >>> 4) & 2047;
2550
+ model.output[13 + model.outpos] = (model.input[4 + model.inpos] >>> 15) & 2047;
2551
+ model.output[14 + model.outpos] =
2552
+ (model.input[4 + model.inpos] >>> 26) | ((model.input[5 + model.inpos] & 31) << (11 - 5));
2553
+ model.output[15 + model.outpos] = (model.input[5 + model.inpos] >>> 5) & 2047;
2554
+ model.output[16 + model.outpos] = (model.input[5 + model.inpos] >>> 16) & 2047;
2555
+ model.output[17 + model.outpos] =
2556
+ (model.input[5 + model.inpos] >>> 27) | ((model.input[6 + model.inpos] & 63) << (11 - 6));
2557
+ model.output[18 + model.outpos] = (model.input[6 + model.inpos] >>> 6) & 2047;
2558
+ model.output[19 + model.outpos] = (model.input[6 + model.inpos] >>> 17) & 2047;
2559
+ model.output[20 + model.outpos] =
2560
+ (model.input[6 + model.inpos] >>> 28) | ((model.input[7 + model.inpos] & 127) << (11 - 7));
2561
+ model.output[21 + model.outpos] = (model.input[7 + model.inpos] >>> 7) & 2047;
2562
+ model.output[22 + model.outpos] = (model.input[7 + model.inpos] >>> 18) & 2047;
2563
+ model.output[23 + model.outpos] =
2564
+ (model.input[7 + model.inpos] >>> 29) | ((model.input[8 + model.inpos] & 255) << (11 - 8));
2565
+ model.output[24 + model.outpos] = (model.input[8 + model.inpos] >>> 8) & 2047;
2566
+ model.output[25 + model.outpos] = (model.input[8 + model.inpos] >>> 19) & 2047;
2567
+ model.output[26 + model.outpos] =
2568
+ (model.input[8 + model.inpos] >>> 30) | ((model.input[9 + model.inpos] & 511) << (11 - 9));
2569
+ model.output[27 + model.outpos] = (model.input[9 + model.inpos] >>> 9) & 2047;
2570
+ model.output[28 + model.outpos] = (model.input[9 + model.inpos] >>> 20) & 2047;
2571
+ model.output[29 + model.outpos] =
2572
+ (model.input[9 + model.inpos] >>> 31) | ((model.input[10 + model.inpos] & 1023) << (11 - 10));
2573
+ model.output[30 + model.outpos] = (model.input[10 + model.inpos] >>> 10) & 2047;
2574
+ model.output[31 + model.outpos] = model.input[10 + model.inpos] >>> 21;
2575
+ }
2576
+ function fastunpack12(model) {
2577
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 4095;
2578
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 12) & 4095;
2579
+ model.output[2 + model.outpos] =
2580
+ (model.input[model.inpos] >>> 24) | ((model.input[1 + model.inpos] & 15) << (12 - 4));
2581
+ model.output[3 + model.outpos] = (model.input[1 + model.inpos] >>> 4) & 4095;
2582
+ model.output[4 + model.outpos] = (model.input[1 + model.inpos] >>> 16) & 4095;
2583
+ model.output[5 + model.outpos] =
2584
+ (model.input[1 + model.inpos] >>> 28) | ((model.input[2 + model.inpos] & 255) << (12 - 8));
2585
+ model.output[6 + model.outpos] = (model.input[2 + model.inpos] >>> 8) & 4095;
2586
+ model.output[7 + model.outpos] = model.input[2 + model.inpos] >>> 20;
2587
+ model.output[8 + model.outpos] = (model.input[3 + model.inpos] >>> 0) & 4095;
2588
+ model.output[9 + model.outpos] = (model.input[3 + model.inpos] >>> 12) & 4095;
2589
+ model.output[10 + model.outpos] =
2590
+ (model.input[3 + model.inpos] >>> 24) | ((model.input[4 + model.inpos] & 15) << (12 - 4));
2591
+ model.output[11 + model.outpos] = (model.input[4 + model.inpos] >>> 4) & 4095;
2592
+ model.output[12 + model.outpos] = (model.input[4 + model.inpos] >>> 16) & 4095;
2593
+ model.output[13 + model.outpos] =
2594
+ (model.input[4 + model.inpos] >>> 28) | ((model.input[5 + model.inpos] & 255) << (12 - 8));
2595
+ model.output[14 + model.outpos] = (model.input[5 + model.inpos] >>> 8) & 4095;
2596
+ model.output[15 + model.outpos] = model.input[5 + model.inpos] >>> 20;
2597
+ model.output[16 + model.outpos] = (model.input[6 + model.inpos] >>> 0) & 4095;
2598
+ model.output[17 + model.outpos] = (model.input[6 + model.inpos] >>> 12) & 4095;
2599
+ model.output[18 + model.outpos] =
2600
+ (model.input[6 + model.inpos] >>> 24) | ((model.input[7 + model.inpos] & 15) << (12 - 4));
2601
+ model.output[19 + model.outpos] = (model.input[7 + model.inpos] >>> 4) & 4095;
2602
+ model.output[20 + model.outpos] = (model.input[7 + model.inpos] >>> 16) & 4095;
2603
+ model.output[21 + model.outpos] =
2604
+ (model.input[7 + model.inpos] >>> 28) | ((model.input[8 + model.inpos] & 255) << (12 - 8));
2605
+ model.output[22 + model.outpos] = (model.input[8 + model.inpos] >>> 8) & 4095;
2606
+ model.output[23 + model.outpos] = model.input[8 + model.inpos] >>> 20;
2607
+ model.output[24 + model.outpos] = (model.input[9 + model.inpos] >>> 0) & 4095;
2608
+ model.output[25 + model.outpos] = (model.input[9 + model.inpos] >>> 12) & 4095;
2609
+ model.output[26 + model.outpos] =
2610
+ (model.input[9 + model.inpos] >>> 24) | ((model.input[10 + model.inpos] & 15) << (12 - 4));
2611
+ model.output[27 + model.outpos] = (model.input[10 + model.inpos] >>> 4) & 4095;
2612
+ model.output[28 + model.outpos] = (model.input[10 + model.inpos] >>> 16) & 4095;
2613
+ model.output[29 + model.outpos] =
2614
+ (model.input[10 + model.inpos] >>> 28) | ((model.input[11 + model.inpos] & 255) << (12 - 8));
2615
+ model.output[30 + model.outpos] = (model.input[11 + model.inpos] >>> 8) & 4095;
2616
+ model.output[31 + model.outpos] = model.input[11 + model.inpos] >>> 20;
2617
+ }
2618
+ function fastunpack13(model) {
2619
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 8191;
2620
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 13) & 8191;
2621
+ model.output[2 + model.outpos] =
2622
+ (model.input[model.inpos] >>> 26) | ((model.input[1 + model.inpos] & 127) << (13 - 7));
2623
+ model.output[3 + model.outpos] = (model.input[1 + model.inpos] >>> 7) & 8191;
2624
+ model.output[4 + model.outpos] =
2625
+ (model.input[1 + model.inpos] >>> 20) | ((model.input[2 + model.inpos] & 1) << (13 - 1));
2626
+ model.output[5 + model.outpos] = (model.input[2 + model.inpos] >>> 1) & 8191;
2627
+ model.output[6 + model.outpos] = (model.input[2 + model.inpos] >>> 14) & 8191;
2628
+ model.output[7 + model.outpos] =
2629
+ (model.input[2 + model.inpos] >>> 27) | ((model.input[3 + model.inpos] & 255) << (13 - 8));
2630
+ model.output[8 + model.outpos] = (model.input[3 + model.inpos] >>> 8) & 8191;
2631
+ model.output[9 + model.outpos] =
2632
+ (model.input[3 + model.inpos] >>> 21) | ((model.input[4 + model.inpos] & 3) << (13 - 2));
2633
+ model.output[10 + model.outpos] = (model.input[4 + model.inpos] >>> 2) & 8191;
2634
+ model.output[11 + model.outpos] = (model.input[4 + model.inpos] >>> 15) & 8191;
2635
+ model.output[12 + model.outpos] =
2636
+ (model.input[4 + model.inpos] >>> 28) | ((model.input[5 + model.inpos] & 511) << (13 - 9));
2637
+ model.output[13 + model.outpos] = (model.input[5 + model.inpos] >>> 9) & 8191;
2638
+ model.output[14 + model.outpos] =
2639
+ (model.input[5 + model.inpos] >>> 22) | ((model.input[6 + model.inpos] & 7) << (13 - 3));
2640
+ model.output[15 + model.outpos] = (model.input[6 + model.inpos] >>> 3) & 8191;
2641
+ model.output[16 + model.outpos] = (model.input[6 + model.inpos] >>> 16) & 8191;
2642
+ model.output[17 + model.outpos] =
2643
+ (model.input[6 + model.inpos] >>> 29) | ((model.input[7 + model.inpos] & 1023) << (13 - 10));
2644
+ model.output[18 + model.outpos] = (model.input[7 + model.inpos] >>> 10) & 8191;
2645
+ model.output[19 + model.outpos] =
2646
+ (model.input[7 + model.inpos] >>> 23) | ((model.input[8 + model.inpos] & 15) << (13 - 4));
2647
+ model.output[20 + model.outpos] = (model.input[8 + model.inpos] >>> 4) & 8191;
2648
+ model.output[21 + model.outpos] = (model.input[8 + model.inpos] >>> 17) & 8191;
2649
+ model.output[22 + model.outpos] =
2650
+ (model.input[8 + model.inpos] >>> 30) | ((model.input[9 + model.inpos] & 2047) << (13 - 11));
2651
+ model.output[23 + model.outpos] = (model.input[9 + model.inpos] >>> 11) & 8191;
2652
+ model.output[24 + model.outpos] =
2653
+ (model.input[9 + model.inpos] >>> 24) | ((model.input[10 + model.inpos] & 31) << (13 - 5));
2654
+ model.output[25 + model.outpos] = (model.input[10 + model.inpos] >>> 5) & 8191;
2655
+ model.output[26 + model.outpos] = (model.input[10 + model.inpos] >>> 18) & 8191;
2656
+ model.output[27 + model.outpos] =
2657
+ (model.input[10 + model.inpos] >>> 31) | ((model.input[11 + model.inpos] & 4095) << (13 - 12));
2658
+ model.output[28 + model.outpos] = (model.input[11 + model.inpos] >>> 12) & 8191;
2659
+ model.output[29 + model.outpos] =
2660
+ (model.input[11 + model.inpos] >>> 25) | ((model.input[12 + model.inpos] & 63) << (13 - 6));
2661
+ model.output[30 + model.outpos] = (model.input[12 + model.inpos] >>> 6) & 8191;
2662
+ model.output[31 + model.outpos] = model.input[12 + model.inpos] >>> 19;
2663
+ }
2664
+ function fastunpack14(model) {
2665
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 16383;
2666
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 14) & 16383;
2667
+ model.output[2 + model.outpos] =
2668
+ (model.input[model.inpos] >>> 28) | ((model.input[1 + model.inpos] & 1023) << (14 - 10));
2669
+ model.output[3 + model.outpos] = (model.input[1 + model.inpos] >>> 10) & 16383;
2670
+ model.output[4 + model.outpos] =
2671
+ (model.input[1 + model.inpos] >>> 24) | ((model.input[2 + model.inpos] & 63) << (14 - 6));
2672
+ model.output[5 + model.outpos] = (model.input[2 + model.inpos] >>> 6) & 16383;
2673
+ model.output[6 + model.outpos] =
2674
+ (model.input[2 + model.inpos] >>> 20) | ((model.input[3 + model.inpos] & 3) << (14 - 2));
2675
+ model.output[7 + model.outpos] = (model.input[3 + model.inpos] >>> 2) & 16383;
2676
+ model.output[8 + model.outpos] = (model.input[3 + model.inpos] >>> 16) & 16383;
2677
+ model.output[9 + model.outpos] =
2678
+ (model.input[3 + model.inpos] >>> 30) | ((model.input[4 + model.inpos] & 4095) << (14 - 12));
2679
+ model.output[10 + model.outpos] = (model.input[4 + model.inpos] >>> 12) & 16383;
2680
+ model.output[11 + model.outpos] =
2681
+ (model.input[4 + model.inpos] >>> 26) | ((model.input[5 + model.inpos] & 255) << (14 - 8));
2682
+ model.output[12 + model.outpos] = (model.input[5 + model.inpos] >>> 8) & 16383;
2683
+ model.output[13 + model.outpos] =
2684
+ (model.input[5 + model.inpos] >>> 22) | ((model.input[6 + model.inpos] & 15) << (14 - 4));
2685
+ model.output[14 + model.outpos] = (model.input[6 + model.inpos] >>> 4) & 16383;
2686
+ model.output[15 + model.outpos] = model.input[6 + model.inpos] >>> 18;
2687
+ model.output[16 + model.outpos] = (model.input[7 + model.inpos] >>> 0) & 16383;
2688
+ model.output[17 + model.outpos] = (model.input[7 + model.inpos] >>> 14) & 16383;
2689
+ model.output[18 + model.outpos] =
2690
+ (model.input[7 + model.inpos] >>> 28) | ((model.input[8 + model.inpos] & 1023) << (14 - 10));
2691
+ model.output[19 + model.outpos] = (model.input[8 + model.inpos] >>> 10) & 16383;
2692
+ model.output[20 + model.outpos] =
2693
+ (model.input[8 + model.inpos] >>> 24) | ((model.input[9 + model.inpos] & 63) << (14 - 6));
2694
+ model.output[21 + model.outpos] = (model.input[9 + model.inpos] >>> 6) & 16383;
2695
+ model.output[22 + model.outpos] =
2696
+ (model.input[9 + model.inpos] >>> 20) | ((model.input[10 + model.inpos] & 3) << (14 - 2));
2697
+ model.output[23 + model.outpos] = (model.input[10 + model.inpos] >>> 2) & 16383;
2698
+ model.output[24 + model.outpos] = (model.input[10 + model.inpos] >>> 16) & 16383;
2699
+ model.output[25 + model.outpos] =
2700
+ (model.input[10 + model.inpos] >>> 30) | ((model.input[11 + model.inpos] & 4095) << (14 - 12));
2701
+ model.output[26 + model.outpos] = (model.input[11 + model.inpos] >>> 12) & 16383;
2702
+ model.output[27 + model.outpos] =
2703
+ (model.input[11 + model.inpos] >>> 26) | ((model.input[12 + model.inpos] & 255) << (14 - 8));
2704
+ model.output[28 + model.outpos] = (model.input[12 + model.inpos] >>> 8) & 16383;
2705
+ model.output[29 + model.outpos] =
2706
+ (model.input[12 + model.inpos] >>> 22) | ((model.input[13 + model.inpos] & 15) << (14 - 4));
2707
+ model.output[30 + model.outpos] = (model.input[13 + model.inpos] >>> 4) & 16383;
2708
+ model.output[31 + model.outpos] = model.input[13 + model.inpos] >>> 18;
2709
+ }
2710
+ function fastunpack15(model) {
2711
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 32767;
2712
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 15) & 32767;
2713
+ model.output[2 + model.outpos] =
2714
+ (model.input[model.inpos] >>> 30) | ((model.input[1 + model.inpos] & 8191) << (15 - 13));
2715
+ model.output[3 + model.outpos] = (model.input[1 + model.inpos] >>> 13) & 32767;
2716
+ model.output[4 + model.outpos] =
2717
+ (model.input[1 + model.inpos] >>> 28) | ((model.input[2 + model.inpos] & 2047) << (15 - 11));
2718
+ model.output[5 + model.outpos] = (model.input[2 + model.inpos] >>> 11) & 32767;
2719
+ model.output[6 + model.outpos] =
2720
+ (model.input[2 + model.inpos] >>> 26) | ((model.input[3 + model.inpos] & 511) << (15 - 9));
2721
+ model.output[7 + model.outpos] = (model.input[3 + model.inpos] >>> 9) & 32767;
2722
+ model.output[8 + model.outpos] =
2723
+ (model.input[3 + model.inpos] >>> 24) | ((model.input[4 + model.inpos] & 127) << (15 - 7));
2724
+ model.output[9 + model.outpos] = (model.input[4 + model.inpos] >>> 7) & 32767;
2725
+ model.output[10 + model.outpos] =
2726
+ (model.input[4 + model.inpos] >>> 22) | ((model.input[5 + model.inpos] & 31) << (15 - 5));
2727
+ model.output[11 + model.outpos] = (model.input[5 + model.inpos] >>> 5) & 32767;
2728
+ model.output[12 + model.outpos] =
2729
+ (model.input[5 + model.inpos] >>> 20) | ((model.input[6 + model.inpos] & 7) << (15 - 3));
2730
+ model.output[13 + model.outpos] = (model.input[6 + model.inpos] >>> 3) & 32767;
2731
+ model.output[14 + model.outpos] =
2732
+ (model.input[6 + model.inpos] >>> 18) | ((model.input[7 + model.inpos] & 1) << (15 - 1));
2733
+ model.output[15 + model.outpos] = (model.input[7 + model.inpos] >>> 1) & 32767;
2734
+ model.output[16 + model.outpos] = (model.input[7 + model.inpos] >>> 16) & 32767;
2735
+ model.output[17 + model.outpos] =
2736
+ (model.input[7 + model.inpos] >>> 31) | ((model.input[8 + model.inpos] & 16383) << (15 - 14));
2737
+ model.output[18 + model.outpos] = (model.input[8 + model.inpos] >>> 14) & 32767;
2738
+ model.output[19 + model.outpos] =
2739
+ (model.input[8 + model.inpos] >>> 29) | ((model.input[9 + model.inpos] & 4095) << (15 - 12));
2740
+ model.output[20 + model.outpos] = (model.input[9 + model.inpos] >>> 12) & 32767;
2741
+ model.output[21 + model.outpos] =
2742
+ (model.input[9 + model.inpos] >>> 27) | ((model.input[10 + model.inpos] & 1023) << (15 - 10));
2743
+ model.output[22 + model.outpos] = (model.input[10 + model.inpos] >>> 10) & 32767;
2744
+ model.output[23 + model.outpos] =
2745
+ (model.input[10 + model.inpos] >>> 25) | ((model.input[11 + model.inpos] & 255) << (15 - 8));
2746
+ model.output[24 + model.outpos] = (model.input[11 + model.inpos] >>> 8) & 32767;
2747
+ model.output[25 + model.outpos] =
2748
+ (model.input[11 + model.inpos] >>> 23) | ((model.input[12 + model.inpos] & 63) << (15 - 6));
2749
+ model.output[26 + model.outpos] = (model.input[12 + model.inpos] >>> 6) & 32767;
2750
+ model.output[27 + model.outpos] =
2751
+ (model.input[12 + model.inpos] >>> 21) | ((model.input[13 + model.inpos] & 15) << (15 - 4));
2752
+ model.output[28 + model.outpos] = (model.input[13 + model.inpos] >>> 4) & 32767;
2753
+ model.output[29 + model.outpos] =
2754
+ (model.input[13 + model.inpos] >>> 19) | ((model.input[14 + model.inpos] & 3) << (15 - 2));
2755
+ model.output[30 + model.outpos] = (model.input[14 + model.inpos] >>> 2) & 32767;
2756
+ model.output[31 + model.outpos] = model.input[14 + model.inpos] >>> 17;
2757
+ }
2758
+ function fastunpack16(model) {
2759
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 65535;
2760
+ model.output[1 + model.outpos] = model.input[model.inpos] >>> 16;
2761
+ model.output[2 + model.outpos] = (model.input[1 + model.inpos] >>> 0) & 65535;
2762
+ model.output[3 + model.outpos] = model.input[1 + model.inpos] >>> 16;
2763
+ model.output[4 + model.outpos] = (model.input[2 + model.inpos] >>> 0) & 65535;
2764
+ model.output[5 + model.outpos] = model.input[2 + model.inpos] >>> 16;
2765
+ model.output[6 + model.outpos] = (model.input[3 + model.inpos] >>> 0) & 65535;
2766
+ model.output[7 + model.outpos] = model.input[3 + model.inpos] >>> 16;
2767
+ model.output[8 + model.outpos] = (model.input[4 + model.inpos] >>> 0) & 65535;
2768
+ model.output[9 + model.outpos] = model.input[4 + model.inpos] >>> 16;
2769
+ model.output[10 + model.outpos] = (model.input[5 + model.inpos] >>> 0) & 65535;
2770
+ model.output[11 + model.outpos] = model.input[5 + model.inpos] >>> 16;
2771
+ model.output[12 + model.outpos] = (model.input[6 + model.inpos] >>> 0) & 65535;
2772
+ model.output[13 + model.outpos] = model.input[6 + model.inpos] >>> 16;
2773
+ model.output[14 + model.outpos] = (model.input[7 + model.inpos] >>> 0) & 65535;
2774
+ model.output[15 + model.outpos] = model.input[7 + model.inpos] >>> 16;
2775
+ model.output[16 + model.outpos] = (model.input[8 + model.inpos] >>> 0) & 65535;
2776
+ model.output[17 + model.outpos] = model.input[8 + model.inpos] >>> 16;
2777
+ model.output[18 + model.outpos] = (model.input[9 + model.inpos] >>> 0) & 65535;
2778
+ model.output[19 + model.outpos] = model.input[9 + model.inpos] >>> 16;
2779
+ model.output[20 + model.outpos] = (model.input[10 + model.inpos] >>> 0) & 65535;
2780
+ model.output[21 + model.outpos] = model.input[10 + model.inpos] >>> 16;
2781
+ model.output[22 + model.outpos] = (model.input[11 + model.inpos] >>> 0) & 65535;
2782
+ model.output[23 + model.outpos] = model.input[11 + model.inpos] >>> 16;
2783
+ model.output[24 + model.outpos] = (model.input[12 + model.inpos] >>> 0) & 65535;
2784
+ model.output[25 + model.outpos] = model.input[12 + model.inpos] >>> 16;
2785
+ model.output[26 + model.outpos] = (model.input[13 + model.inpos] >>> 0) & 65535;
2786
+ model.output[27 + model.outpos] = model.input[13 + model.inpos] >>> 16;
2787
+ model.output[28 + model.outpos] = (model.input[14 + model.inpos] >>> 0) & 65535;
2788
+ model.output[29 + model.outpos] = model.input[14 + model.inpos] >>> 16;
2789
+ model.output[30 + model.outpos] = (model.input[15 + model.inpos] >>> 0) & 65535;
2790
+ model.output[31 + model.outpos] = model.input[15 + model.inpos] >>> 16;
2791
+ }
2792
+ function fastunpack17(model) {
2793
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 131071;
2794
+ model.output[1 + model.outpos] =
2795
+ (model.input[model.inpos] >>> 17) | ((model.input[1 + model.inpos] & 3) << (17 - 2));
2796
+ model.output[2 + model.outpos] = (model.input[1 + model.inpos] >>> 2) & 131071;
2797
+ model.output[3 + model.outpos] =
2798
+ (model.input[1 + model.inpos] >>> 19) | ((model.input[2 + model.inpos] & 15) << (17 - 4));
2799
+ model.output[4 + model.outpos] = (model.input[2 + model.inpos] >>> 4) & 131071;
2800
+ model.output[5 + model.outpos] =
2801
+ (model.input[2 + model.inpos] >>> 21) | ((model.input[3 + model.inpos] & 63) << (17 - 6));
2802
+ model.output[6 + model.outpos] = (model.input[3 + model.inpos] >>> 6) & 131071;
2803
+ model.output[7 + model.outpos] =
2804
+ (model.input[3 + model.inpos] >>> 23) | ((model.input[4 + model.inpos] & 255) << (17 - 8));
2805
+ model.output[8 + model.outpos] = (model.input[4 + model.inpos] >>> 8) & 131071;
2806
+ model.output[9 + model.outpos] =
2807
+ (model.input[4 + model.inpos] >>> 25) | ((model.input[5 + model.inpos] & 1023) << (17 - 10));
2808
+ model.output[10 + model.outpos] = (model.input[5 + model.inpos] >>> 10) & 131071;
2809
+ model.output[11 + model.outpos] =
2810
+ (model.input[5 + model.inpos] >>> 27) | ((model.input[6 + model.inpos] & 4095) << (17 - 12));
2811
+ model.output[12 + model.outpos] = (model.input[6 + model.inpos] >>> 12) & 131071;
2812
+ model.output[13 + model.outpos] =
2813
+ (model.input[6 + model.inpos] >>> 29) | ((model.input[7 + model.inpos] & 16383) << (17 - 14));
2814
+ model.output[14 + model.outpos] = (model.input[7 + model.inpos] >>> 14) & 131071;
2815
+ model.output[15 + model.outpos] =
2816
+ (model.input[7 + model.inpos] >>> 31) | ((model.input[8 + model.inpos] & 65535) << (17 - 16));
2817
+ model.output[16 + model.outpos] =
2818
+ (model.input[8 + model.inpos] >>> 16) | ((model.input[9 + model.inpos] & 1) << (17 - 1));
2819
+ model.output[17 + model.outpos] = (model.input[9 + model.inpos] >>> 1) & 131071;
2820
+ model.output[18 + model.outpos] =
2821
+ (model.input[9 + model.inpos] >>> 18) | ((model.input[10 + model.inpos] & 7) << (17 - 3));
2822
+ model.output[19 + model.outpos] = (model.input[10 + model.inpos] >>> 3) & 131071;
2823
+ model.output[20 + model.outpos] =
2824
+ (model.input[10 + model.inpos] >>> 20) | ((model.input[11 + model.inpos] & 31) << (17 - 5));
2825
+ model.output[21 + model.outpos] = (model.input[11 + model.inpos] >>> 5) & 131071;
2826
+ model.output[22 + model.outpos] =
2827
+ (model.input[11 + model.inpos] >>> 22) | ((model.input[12 + model.inpos] & 127) << (17 - 7));
2828
+ model.output[23 + model.outpos] = (model.input[12 + model.inpos] >>> 7) & 131071;
2829
+ model.output[24 + model.outpos] =
2830
+ (model.input[12 + model.inpos] >>> 24) | ((model.input[13 + model.inpos] & 511) << (17 - 9));
2831
+ model.output[25 + model.outpos] = (model.input[13 + model.inpos] >>> 9) & 131071;
2832
+ model.output[26 + model.outpos] =
2833
+ (model.input[13 + model.inpos] >>> 26) | ((model.input[14 + model.inpos] & 2047) << (17 - 11));
2834
+ model.output[27 + model.outpos] = (model.input[14 + model.inpos] >>> 11) & 131071;
2835
+ model.output[28 + model.outpos] =
2836
+ (model.input[14 + model.inpos] >>> 28) | ((model.input[15 + model.inpos] & 8191) << (17 - 13));
2837
+ model.output[29 + model.outpos] = (model.input[15 + model.inpos] >>> 13) & 131071;
2838
+ model.output[30 + model.outpos] =
2839
+ (model.input[15 + model.inpos] >>> 30) | ((model.input[16 + model.inpos] & 32767) << (17 - 15));
2840
+ model.output[31 + model.outpos] = model.input[16 + model.inpos] >>> 15;
2841
+ }
2842
+ function fastunpack18(model) {
2843
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 262143;
2844
+ model.output[1 + model.outpos] =
2845
+ (model.input[model.inpos] >>> 18) | ((model.input[1 + model.inpos] & 15) << (18 - 4));
2846
+ model.output[2 + model.outpos] = (model.input[1 + model.inpos] >>> 4) & 262143;
2847
+ model.output[3 + model.outpos] =
2848
+ (model.input[1 + model.inpos] >>> 22) | ((model.input[2 + model.inpos] & 255) << (18 - 8));
2849
+ model.output[4 + model.outpos] = (model.input[2 + model.inpos] >>> 8) & 262143;
2850
+ model.output[5 + model.outpos] =
2851
+ (model.input[2 + model.inpos] >>> 26) | ((model.input[3 + model.inpos] & 4095) << (18 - 12));
2852
+ model.output[6 + model.outpos] = (model.input[3 + model.inpos] >>> 12) & 262143;
2853
+ model.output[7 + model.outpos] =
2854
+ (model.input[3 + model.inpos] >>> 30) | ((model.input[4 + model.inpos] & 65535) << (18 - 16));
2855
+ model.output[8 + model.outpos] =
2856
+ (model.input[4 + model.inpos] >>> 16) | ((model.input[5 + model.inpos] & 3) << (18 - 2));
2857
+ model.output[9 + model.outpos] = (model.input[5 + model.inpos] >>> 2) & 262143;
2858
+ model.output[10 + model.outpos] =
2859
+ (model.input[5 + model.inpos] >>> 20) | ((model.input[6 + model.inpos] & 63) << (18 - 6));
2860
+ model.output[11 + model.outpos] = (model.input[6 + model.inpos] >>> 6) & 262143;
2861
+ model.output[12 + model.outpos] =
2862
+ (model.input[6 + model.inpos] >>> 24) | ((model.input[7 + model.inpos] & 1023) << (18 - 10));
2863
+ model.output[13 + model.outpos] = (model.input[7 + model.inpos] >>> 10) & 262143;
2864
+ model.output[14 + model.outpos] =
2865
+ (model.input[7 + model.inpos] >>> 28) | ((model.input[8 + model.inpos] & 16383) << (18 - 14));
2866
+ model.output[15 + model.outpos] = model.input[8 + model.inpos] >>> 14;
2867
+ model.output[16 + model.outpos] = (model.input[9 + model.inpos] >>> 0) & 262143;
2868
+ model.output[17 + model.outpos] =
2869
+ (model.input[9 + model.inpos] >>> 18) | ((model.input[10 + model.inpos] & 15) << (18 - 4));
2870
+ model.output[18 + model.outpos] = (model.input[10 + model.inpos] >>> 4) & 262143;
2871
+ model.output[19 + model.outpos] =
2872
+ (model.input[10 + model.inpos] >>> 22) | ((model.input[11 + model.inpos] & 255) << (18 - 8));
2873
+ model.output[20 + model.outpos] = (model.input[11 + model.inpos] >>> 8) & 262143;
2874
+ model.output[21 + model.outpos] =
2875
+ (model.input[11 + model.inpos] >>> 26) | ((model.input[12 + model.inpos] & 4095) << (18 - 12));
2876
+ model.output[22 + model.outpos] = (model.input[12 + model.inpos] >>> 12) & 262143;
2877
+ model.output[23 + model.outpos] =
2878
+ (model.input[12 + model.inpos] >>> 30) | ((model.input[13 + model.inpos] & 65535) << (18 - 16));
2879
+ model.output[24 + model.outpos] =
2880
+ (model.input[13 + model.inpos] >>> 16) | ((model.input[14 + model.inpos] & 3) << (18 - 2));
2881
+ model.output[25 + model.outpos] = (model.input[14 + model.inpos] >>> 2) & 262143;
2882
+ model.output[26 + model.outpos] =
2883
+ (model.input[14 + model.inpos] >>> 20) | ((model.input[15 + model.inpos] & 63) << (18 - 6));
2884
+ model.output[27 + model.outpos] = (model.input[15 + model.inpos] >>> 6) & 262143;
2885
+ model.output[28 + model.outpos] =
2886
+ (model.input[15 + model.inpos] >>> 24) | ((model.input[16 + model.inpos] & 1023) << (18 - 10));
2887
+ model.output[29 + model.outpos] = (model.input[16 + model.inpos] >>> 10) & 262143;
2888
+ model.output[30 + model.outpos] =
2889
+ (model.input[16 + model.inpos] >>> 28) | ((model.input[17 + model.inpos] & 16383) << (18 - 14));
2890
+ model.output[31 + model.outpos] = model.input[17 + model.inpos] >>> 14;
2891
+ }
2892
+ function fastunpack19(model) {
2893
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 524287;
2894
+ model.output[1 + model.outpos] =
2895
+ (model.input[model.inpos] >>> 19) | ((model.input[1 + model.inpos] & 63) << (19 - 6));
2896
+ model.output[2 + model.outpos] = (model.input[1 + model.inpos] >>> 6) & 524287;
2897
+ model.output[3 + model.outpos] =
2898
+ (model.input[1 + model.inpos] >>> 25) | ((model.input[2 + model.inpos] & 4095) << (19 - 12));
2899
+ model.output[4 + model.outpos] = (model.input[2 + model.inpos] >>> 12) & 524287;
2900
+ model.output[5 + model.outpos] =
2901
+ (model.input[2 + model.inpos] >>> 31) | ((model.input[3 + model.inpos] & 262143) << (19 - 18));
2902
+ model.output[6 + model.outpos] =
2903
+ (model.input[3 + model.inpos] >>> 18) | ((model.input[4 + model.inpos] & 31) << (19 - 5));
2904
+ model.output[7 + model.outpos] = (model.input[4 + model.inpos] >>> 5) & 524287;
2905
+ model.output[8 + model.outpos] =
2906
+ (model.input[4 + model.inpos] >>> 24) | ((model.input[5 + model.inpos] & 2047) << (19 - 11));
2907
+ model.output[9 + model.outpos] = (model.input[5 + model.inpos] >>> 11) & 524287;
2908
+ model.output[10 + model.outpos] =
2909
+ (model.input[5 + model.inpos] >>> 30) | ((model.input[6 + model.inpos] & 131071) << (19 - 17));
2910
+ model.output[11 + model.outpos] =
2911
+ (model.input[6 + model.inpos] >>> 17) | ((model.input[7 + model.inpos] & 15) << (19 - 4));
2912
+ model.output[12 + model.outpos] = (model.input[7 + model.inpos] >>> 4) & 524287;
2913
+ model.output[13 + model.outpos] =
2914
+ (model.input[7 + model.inpos] >>> 23) | ((model.input[8 + model.inpos] & 1023) << (19 - 10));
2915
+ model.output[14 + model.outpos] = (model.input[8 + model.inpos] >>> 10) & 524287;
2916
+ model.output[15 + model.outpos] =
2917
+ (model.input[8 + model.inpos] >>> 29) | ((model.input[9 + model.inpos] & 65535) << (19 - 16));
2918
+ model.output[16 + model.outpos] =
2919
+ (model.input[9 + model.inpos] >>> 16) | ((model.input[10 + model.inpos] & 7) << (19 - 3));
2920
+ model.output[17 + model.outpos] = (model.input[10 + model.inpos] >>> 3) & 524287;
2921
+ model.output[18 + model.outpos] =
2922
+ (model.input[10 + model.inpos] >>> 22) | ((model.input[11 + model.inpos] & 511) << (19 - 9));
2923
+ model.output[19 + model.outpos] = (model.input[11 + model.inpos] >>> 9) & 524287;
2924
+ model.output[20 + model.outpos] =
2925
+ (model.input[11 + model.inpos] >>> 28) | ((model.input[12 + model.inpos] & 32767) << (19 - 15));
2926
+ model.output[21 + model.outpos] =
2927
+ (model.input[12 + model.inpos] >>> 15) | ((model.input[13 + model.inpos] & 3) << (19 - 2));
2928
+ model.output[22 + model.outpos] = (model.input[13 + model.inpos] >>> 2) & 524287;
2929
+ model.output[23 + model.outpos] =
2930
+ (model.input[13 + model.inpos] >>> 21) | ((model.input[14 + model.inpos] & 255) << (19 - 8));
2931
+ model.output[24 + model.outpos] = (model.input[14 + model.inpos] >>> 8) & 524287;
2932
+ model.output[25 + model.outpos] =
2933
+ (model.input[14 + model.inpos] >>> 27) | ((model.input[15 + model.inpos] & 16383) << (19 - 14));
2934
+ model.output[26 + model.outpos] =
2935
+ (model.input[15 + model.inpos] >>> 14) | ((model.input[16 + model.inpos] & 1) << (19 - 1));
2936
+ model.output[27 + model.outpos] = (model.input[16 + model.inpos] >>> 1) & 524287;
2937
+ model.output[28 + model.outpos] =
2938
+ (model.input[16 + model.inpos] >>> 20) | ((model.input[17 + model.inpos] & 127) << (19 - 7));
2939
+ model.output[29 + model.outpos] = (model.input[17 + model.inpos] >>> 7) & 524287;
2940
+ model.output[30 + model.outpos] =
2941
+ (model.input[17 + model.inpos] >>> 26) | ((model.input[18 + model.inpos] & 8191) << (19 - 13));
2942
+ model.output[31 + model.outpos] = model.input[18 + model.inpos] >>> 13;
2943
+ }
2944
+ function fastunpack2(model) {
2945
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 3;
2946
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 2) & 3;
2947
+ model.output[2 + model.outpos] = (model.input[model.inpos] >>> 4) & 3;
2948
+ model.output[3 + model.outpos] = (model.input[model.inpos] >>> 6) & 3;
2949
+ model.output[4 + model.outpos] = (model.input[model.inpos] >>> 8) & 3;
2950
+ model.output[5 + model.outpos] = (model.input[model.inpos] >>> 10) & 3;
2951
+ model.output[6 + model.outpos] = (model.input[model.inpos] >>> 12) & 3;
2952
+ model.output[7 + model.outpos] = (model.input[model.inpos] >>> 14) & 3;
2953
+ model.output[8 + model.outpos] = (model.input[model.inpos] >>> 16) & 3;
2954
+ model.output[9 + model.outpos] = (model.input[model.inpos] >>> 18) & 3;
2955
+ model.output[10 + model.outpos] = (model.input[model.inpos] >>> 20) & 3;
2956
+ model.output[11 + model.outpos] = (model.input[model.inpos] >>> 22) & 3;
2957
+ model.output[12 + model.outpos] = (model.input[model.inpos] >>> 24) & 3;
2958
+ model.output[13 + model.outpos] = (model.input[model.inpos] >>> 26) & 3;
2959
+ model.output[14 + model.outpos] = (model.input[model.inpos] >>> 28) & 3;
2960
+ model.output[15 + model.outpos] = model.input[model.inpos] >>> 30;
2961
+ model.output[16 + model.outpos] = (model.input[1 + model.inpos] >>> 0) & 3;
2962
+ model.output[17 + model.outpos] = (model.input[1 + model.inpos] >>> 2) & 3;
2963
+ model.output[18 + model.outpos] = (model.input[1 + model.inpos] >>> 4) & 3;
2964
+ model.output[19 + model.outpos] = (model.input[1 + model.inpos] >>> 6) & 3;
2965
+ model.output[20 + model.outpos] = (model.input[1 + model.inpos] >>> 8) & 3;
2966
+ model.output[21 + model.outpos] = (model.input[1 + model.inpos] >>> 10) & 3;
2967
+ model.output[22 + model.outpos] = (model.input[1 + model.inpos] >>> 12) & 3;
2968
+ model.output[23 + model.outpos] = (model.input[1 + model.inpos] >>> 14) & 3;
2969
+ model.output[24 + model.outpos] = (model.input[1 + model.inpos] >>> 16) & 3;
2970
+ model.output[25 + model.outpos] = (model.input[1 + model.inpos] >>> 18) & 3;
2971
+ model.output[26 + model.outpos] = (model.input[1 + model.inpos] >>> 20) & 3;
2972
+ model.output[27 + model.outpos] = (model.input[1 + model.inpos] >>> 22) & 3;
2973
+ model.output[28 + model.outpos] = (model.input[1 + model.inpos] >>> 24) & 3;
2974
+ model.output[29 + model.outpos] = (model.input[1 + model.inpos] >>> 26) & 3;
2975
+ model.output[30 + model.outpos] = (model.input[1 + model.inpos] >>> 28) & 3;
2976
+ model.output[31 + model.outpos] = model.input[1 + model.inpos] >>> 30;
2977
+ }
2978
+ function fastunpack20(model) {
2979
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 1048575;
2980
+ model.output[1 + model.outpos] =
2981
+ (model.input[model.inpos] >>> 20) | ((model.input[1 + model.inpos] & 255) << (20 - 8));
2982
+ model.output[2 + model.outpos] = (model.input[1 + model.inpos] >>> 8) & 1048575;
2983
+ model.output[3 + model.outpos] =
2984
+ (model.input[1 + model.inpos] >>> 28) | ((model.input[2 + model.inpos] & 65535) << (20 - 16));
2985
+ model.output[4 + model.outpos] =
2986
+ (model.input[2 + model.inpos] >>> 16) | ((model.input[3 + model.inpos] & 15) << (20 - 4));
2987
+ model.output[5 + model.outpos] = (model.input[3 + model.inpos] >>> 4) & 1048575;
2988
+ model.output[6 + model.outpos] =
2989
+ (model.input[3 + model.inpos] >>> 24) | ((model.input[4 + model.inpos] & 4095) << (20 - 12));
2990
+ model.output[7 + model.outpos] = model.input[4 + model.inpos] >>> 12;
2991
+ model.output[8 + model.outpos] = (model.input[5 + model.inpos] >>> 0) & 1048575;
2992
+ model.output[9 + model.outpos] =
2993
+ (model.input[5 + model.inpos] >>> 20) | ((model.input[6 + model.inpos] & 255) << (20 - 8));
2994
+ model.output[10 + model.outpos] = (model.input[6 + model.inpos] >>> 8) & 1048575;
2995
+ model.output[11 + model.outpos] =
2996
+ (model.input[6 + model.inpos] >>> 28) | ((model.input[7 + model.inpos] & 65535) << (20 - 16));
2997
+ model.output[12 + model.outpos] =
2998
+ (model.input[7 + model.inpos] >>> 16) | ((model.input[8 + model.inpos] & 15) << (20 - 4));
2999
+ model.output[13 + model.outpos] = (model.input[8 + model.inpos] >>> 4) & 1048575;
3000
+ model.output[14 + model.outpos] =
3001
+ (model.input[8 + model.inpos] >>> 24) | ((model.input[9 + model.inpos] & 4095) << (20 - 12));
3002
+ model.output[15 + model.outpos] = model.input[9 + model.inpos] >>> 12;
3003
+ model.output[16 + model.outpos] = (model.input[10 + model.inpos] >>> 0) & 1048575;
3004
+ model.output[17 + model.outpos] =
3005
+ (model.input[10 + model.inpos] >>> 20) | ((model.input[11 + model.inpos] & 255) << (20 - 8));
3006
+ model.output[18 + model.outpos] = (model.input[11 + model.inpos] >>> 8) & 1048575;
3007
+ model.output[19 + model.outpos] =
3008
+ (model.input[11 + model.inpos] >>> 28) | ((model.input[12 + model.inpos] & 65535) << (20 - 16));
3009
+ model.output[20 + model.outpos] =
3010
+ (model.input[12 + model.inpos] >>> 16) | ((model.input[13 + model.inpos] & 15) << (20 - 4));
3011
+ model.output[21 + model.outpos] = (model.input[13 + model.inpos] >>> 4) & 1048575;
3012
+ model.output[22 + model.outpos] =
3013
+ (model.input[13 + model.inpos] >>> 24) | ((model.input[14 + model.inpos] & 4095) << (20 - 12));
3014
+ model.output[23 + model.outpos] = model.input[14 + model.inpos] >>> 12;
3015
+ model.output[24 + model.outpos] = (model.input[15 + model.inpos] >>> 0) & 1048575;
3016
+ model.output[25 + model.outpos] =
3017
+ (model.input[15 + model.inpos] >>> 20) | ((model.input[16 + model.inpos] & 255) << (20 - 8));
3018
+ model.output[26 + model.outpos] = (model.input[16 + model.inpos] >>> 8) & 1048575;
3019
+ model.output[27 + model.outpos] =
3020
+ (model.input[16 + model.inpos] >>> 28) | ((model.input[17 + model.inpos] & 65535) << (20 - 16));
3021
+ model.output[28 + model.outpos] =
3022
+ (model.input[17 + model.inpos] >>> 16) | ((model.input[18 + model.inpos] & 15) << (20 - 4));
3023
+ model.output[29 + model.outpos] = (model.input[18 + model.inpos] >>> 4) & 1048575;
3024
+ model.output[30 + model.outpos] =
3025
+ (model.input[18 + model.inpos] >>> 24) | ((model.input[19 + model.inpos] & 4095) << (20 - 12));
3026
+ model.output[31 + model.outpos] = model.input[19 + model.inpos] >>> 12;
3027
+ }
3028
+ function fastunpack21(model) {
3029
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 2097151;
3030
+ model.output[1 + model.outpos] =
3031
+ (model.input[model.inpos] >>> 21) | ((model.input[1 + model.inpos] & 1023) << (21 - 10));
3032
+ model.output[2 + model.outpos] = (model.input[1 + model.inpos] >>> 10) & 2097151;
3033
+ model.output[3 + model.outpos] =
3034
+ (model.input[1 + model.inpos] >>> 31) | ((model.input[2 + model.inpos] & 1048575) << (21 - 20));
3035
+ model.output[4 + model.outpos] =
3036
+ (model.input[2 + model.inpos] >>> 20) | ((model.input[3 + model.inpos] & 511) << (21 - 9));
3037
+ model.output[5 + model.outpos] = (model.input[3 + model.inpos] >>> 9) & 2097151;
3038
+ model.output[6 + model.outpos] =
3039
+ (model.input[3 + model.inpos] >>> 30) | ((model.input[4 + model.inpos] & 524287) << (21 - 19));
3040
+ model.output[7 + model.outpos] =
3041
+ (model.input[4 + model.inpos] >>> 19) | ((model.input[5 + model.inpos] & 255) << (21 - 8));
3042
+ model.output[8 + model.outpos] = (model.input[5 + model.inpos] >>> 8) & 2097151;
3043
+ model.output[9 + model.outpos] =
3044
+ (model.input[5 + model.inpos] >>> 29) | ((model.input[6 + model.inpos] & 262143) << (21 - 18));
3045
+ model.output[10 + model.outpos] =
3046
+ (model.input[6 + model.inpos] >>> 18) | ((model.input[7 + model.inpos] & 127) << (21 - 7));
3047
+ model.output[11 + model.outpos] = (model.input[7 + model.inpos] >>> 7) & 2097151;
3048
+ model.output[12 + model.outpos] =
3049
+ (model.input[7 + model.inpos] >>> 28) | ((model.input[8 + model.inpos] & 131071) << (21 - 17));
3050
+ model.output[13 + model.outpos] =
3051
+ (model.input[8 + model.inpos] >>> 17) | ((model.input[9 + model.inpos] & 63) << (21 - 6));
3052
+ model.output[14 + model.outpos] = (model.input[9 + model.inpos] >>> 6) & 2097151;
3053
+ model.output[15 + model.outpos] =
3054
+ (model.input[9 + model.inpos] >>> 27) | ((model.input[10 + model.inpos] & 65535) << (21 - 16));
3055
+ model.output[16 + model.outpos] =
3056
+ (model.input[10 + model.inpos] >>> 16) | ((model.input[11 + model.inpos] & 31) << (21 - 5));
3057
+ model.output[17 + model.outpos] = (model.input[11 + model.inpos] >>> 5) & 2097151;
3058
+ model.output[18 + model.outpos] =
3059
+ (model.input[11 + model.inpos] >>> 26) | ((model.input[12 + model.inpos] & 32767) << (21 - 15));
3060
+ model.output[19 + model.outpos] =
3061
+ (model.input[12 + model.inpos] >>> 15) | ((model.input[13 + model.inpos] & 15) << (21 - 4));
3062
+ model.output[20 + model.outpos] = (model.input[13 + model.inpos] >>> 4) & 2097151;
3063
+ model.output[21 + model.outpos] =
3064
+ (model.input[13 + model.inpos] >>> 25) | ((model.input[14 + model.inpos] & 16383) << (21 - 14));
3065
+ model.output[22 + model.outpos] =
3066
+ (model.input[14 + model.inpos] >>> 14) | ((model.input[15 + model.inpos] & 7) << (21 - 3));
3067
+ model.output[23 + model.outpos] = (model.input[15 + model.inpos] >>> 3) & 2097151;
3068
+ model.output[24 + model.outpos] =
3069
+ (model.input[15 + model.inpos] >>> 24) | ((model.input[16 + model.inpos] & 8191) << (21 - 13));
3070
+ model.output[25 + model.outpos] =
3071
+ (model.input[16 + model.inpos] >>> 13) | ((model.input[17 + model.inpos] & 3) << (21 - 2));
3072
+ model.output[26 + model.outpos] = (model.input[17 + model.inpos] >>> 2) & 2097151;
3073
+ model.output[27 + model.outpos] =
3074
+ (model.input[17 + model.inpos] >>> 23) | ((model.input[18 + model.inpos] & 4095) << (21 - 12));
3075
+ model.output[28 + model.outpos] =
3076
+ (model.input[18 + model.inpos] >>> 12) | ((model.input[19 + model.inpos] & 1) << (21 - 1));
3077
+ model.output[29 + model.outpos] = (model.input[19 + model.inpos] >>> 1) & 2097151;
3078
+ model.output[30 + model.outpos] =
3079
+ (model.input[19 + model.inpos] >>> 22) | ((model.input[20 + model.inpos] & 2047) << (21 - 11));
3080
+ model.output[31 + model.outpos] = model.input[20 + model.inpos] >>> 11;
3081
+ }
3082
+ function fastunpack22(model) {
3083
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 4194303;
3084
+ model.output[1 + model.outpos] =
3085
+ (model.input[model.inpos] >>> 22) | ((model.input[1 + model.inpos] & 4095) << (22 - 12));
3086
+ model.output[2 + model.outpos] =
3087
+ (model.input[1 + model.inpos] >>> 12) | ((model.input[2 + model.inpos] & 3) << (22 - 2));
3088
+ model.output[3 + model.outpos] = (model.input[2 + model.inpos] >>> 2) & 4194303;
3089
+ model.output[4 + model.outpos] =
3090
+ (model.input[2 + model.inpos] >>> 24) | ((model.input[3 + model.inpos] & 16383) << (22 - 14));
3091
+ model.output[5 + model.outpos] =
3092
+ (model.input[3 + model.inpos] >>> 14) | ((model.input[4 + model.inpos] & 15) << (22 - 4));
3093
+ model.output[6 + model.outpos] = (model.input[4 + model.inpos] >>> 4) & 4194303;
3094
+ model.output[7 + model.outpos] =
3095
+ (model.input[4 + model.inpos] >>> 26) | ((model.input[5 + model.inpos] & 65535) << (22 - 16));
3096
+ model.output[8 + model.outpos] =
3097
+ (model.input[5 + model.inpos] >>> 16) | ((model.input[6 + model.inpos] & 63) << (22 - 6));
3098
+ model.output[9 + model.outpos] = (model.input[6 + model.inpos] >>> 6) & 4194303;
3099
+ model.output[10 + model.outpos] =
3100
+ (model.input[6 + model.inpos] >>> 28) | ((model.input[7 + model.inpos] & 262143) << (22 - 18));
3101
+ model.output[11 + model.outpos] =
3102
+ (model.input[7 + model.inpos] >>> 18) | ((model.input[8 + model.inpos] & 255) << (22 - 8));
3103
+ model.output[12 + model.outpos] = (model.input[8 + model.inpos] >>> 8) & 4194303;
3104
+ model.output[13 + model.outpos] =
3105
+ (model.input[8 + model.inpos] >>> 30) | ((model.input[9 + model.inpos] & 1048575) << (22 - 20));
3106
+ model.output[14 + model.outpos] =
3107
+ (model.input[9 + model.inpos] >>> 20) | ((model.input[10 + model.inpos] & 1023) << (22 - 10));
3108
+ model.output[15 + model.outpos] = model.input[10 + model.inpos] >>> 10;
3109
+ model.output[16 + model.outpos] = (model.input[11 + model.inpos] >>> 0) & 4194303;
3110
+ model.output[17 + model.outpos] =
3111
+ (model.input[11 + model.inpos] >>> 22) | ((model.input[12 + model.inpos] & 4095) << (22 - 12));
3112
+ model.output[18 + model.outpos] =
3113
+ (model.input[12 + model.inpos] >>> 12) | ((model.input[13 + model.inpos] & 3) << (22 - 2));
3114
+ model.output[19 + model.outpos] = (model.input[13 + model.inpos] >>> 2) & 4194303;
3115
+ model.output[20 + model.outpos] =
3116
+ (model.input[13 + model.inpos] >>> 24) | ((model.input[14 + model.inpos] & 16383) << (22 - 14));
3117
+ model.output[21 + model.outpos] =
3118
+ (model.input[14 + model.inpos] >>> 14) | ((model.input[15 + model.inpos] & 15) << (22 - 4));
3119
+ model.output[22 + model.outpos] = (model.input[15 + model.inpos] >>> 4) & 4194303;
3120
+ model.output[23 + model.outpos] =
3121
+ (model.input[15 + model.inpos] >>> 26) | ((model.input[16 + model.inpos] & 65535) << (22 - 16));
3122
+ model.output[24 + model.outpos] =
3123
+ (model.input[16 + model.inpos] >>> 16) | ((model.input[17 + model.inpos] & 63) << (22 - 6));
3124
+ model.output[25 + model.outpos] = (model.input[17 + model.inpos] >>> 6) & 4194303;
3125
+ model.output[26 + model.outpos] =
3126
+ (model.input[17 + model.inpos] >>> 28) | ((model.input[18 + model.inpos] & 262143) << (22 - 18));
3127
+ model.output[27 + model.outpos] =
3128
+ (model.input[18 + model.inpos] >>> 18) | ((model.input[19 + model.inpos] & 255) << (22 - 8));
3129
+ model.output[28 + model.outpos] = (model.input[19 + model.inpos] >>> 8) & 4194303;
3130
+ model.output[29 + model.outpos] =
3131
+ (model.input[19 + model.inpos] >>> 30) | ((model.input[20 + model.inpos] & 1048575) << (22 - 20));
3132
+ model.output[30 + model.outpos] =
3133
+ (model.input[20 + model.inpos] >>> 20) | ((model.input[21 + model.inpos] & 1023) << (22 - 10));
3134
+ model.output[31 + model.outpos] = model.input[21 + model.inpos] >>> 10;
3135
+ }
3136
+ function fastunpack23(model) {
3137
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 8388607;
3138
+ model.output[1 + model.outpos] =
3139
+ (model.input[model.inpos] >>> 23) | ((model.input[1 + model.inpos] & 16383) << (23 - 14));
3140
+ model.output[2 + model.outpos] =
3141
+ (model.input[1 + model.inpos] >>> 14) | ((model.input[2 + model.inpos] & 31) << (23 - 5));
3142
+ model.output[3 + model.outpos] = (model.input[2 + model.inpos] >>> 5) & 8388607;
3143
+ model.output[4 + model.outpos] =
3144
+ (model.input[2 + model.inpos] >>> 28) | ((model.input[3 + model.inpos] & 524287) << (23 - 19));
3145
+ model.output[5 + model.outpos] =
3146
+ (model.input[3 + model.inpos] >>> 19) | ((model.input[4 + model.inpos] & 1023) << (23 - 10));
3147
+ model.output[6 + model.outpos] =
3148
+ (model.input[4 + model.inpos] >>> 10) | ((model.input[5 + model.inpos] & 1) << (23 - 1));
3149
+ model.output[7 + model.outpos] = (model.input[5 + model.inpos] >>> 1) & 8388607;
3150
+ model.output[8 + model.outpos] =
3151
+ (model.input[5 + model.inpos] >>> 24) | ((model.input[6 + model.inpos] & 32767) << (23 - 15));
3152
+ model.output[9 + model.outpos] =
3153
+ (model.input[6 + model.inpos] >>> 15) | ((model.input[7 + model.inpos] & 63) << (23 - 6));
3154
+ model.output[10 + model.outpos] = (model.input[7 + model.inpos] >>> 6) & 8388607;
3155
+ model.output[11 + model.outpos] =
3156
+ (model.input[7 + model.inpos] >>> 29) | ((model.input[8 + model.inpos] & 1048575) << (23 - 20));
3157
+ model.output[12 + model.outpos] =
3158
+ (model.input[8 + model.inpos] >>> 20) | ((model.input[9 + model.inpos] & 2047) << (23 - 11));
3159
+ model.output[13 + model.outpos] =
3160
+ (model.input[9 + model.inpos] >>> 11) | ((model.input[10 + model.inpos] & 3) << (23 - 2));
3161
+ model.output[14 + model.outpos] = (model.input[10 + model.inpos] >>> 2) & 8388607;
3162
+ model.output[15 + model.outpos] =
3163
+ (model.input[10 + model.inpos] >>> 25) | ((model.input[11 + model.inpos] & 65535) << (23 - 16));
3164
+ model.output[16 + model.outpos] =
3165
+ (model.input[11 + model.inpos] >>> 16) | ((model.input[12 + model.inpos] & 127) << (23 - 7));
3166
+ model.output[17 + model.outpos] = (model.input[12 + model.inpos] >>> 7) & 8388607;
3167
+ model.output[18 + model.outpos] =
3168
+ (model.input[12 + model.inpos] >>> 30) | ((model.input[13 + model.inpos] & 2097151) << (23 - 21));
3169
+ model.output[19 + model.outpos] =
3170
+ (model.input[13 + model.inpos] >>> 21) | ((model.input[14 + model.inpos] & 4095) << (23 - 12));
3171
+ model.output[20 + model.outpos] =
3172
+ (model.input[14 + model.inpos] >>> 12) | ((model.input[15 + model.inpos] & 7) << (23 - 3));
3173
+ model.output[21 + model.outpos] = (model.input[15 + model.inpos] >>> 3) & 8388607;
3174
+ model.output[22 + model.outpos] =
3175
+ (model.input[15 + model.inpos] >>> 26) | ((model.input[16 + model.inpos] & 131071) << (23 - 17));
3176
+ model.output[23 + model.outpos] =
3177
+ (model.input[16 + model.inpos] >>> 17) | ((model.input[17 + model.inpos] & 255) << (23 - 8));
3178
+ model.output[24 + model.outpos] = (model.input[17 + model.inpos] >>> 8) & 8388607;
3179
+ model.output[25 + model.outpos] =
3180
+ (model.input[17 + model.inpos] >>> 31) | ((model.input[18 + model.inpos] & 4194303) << (23 - 22));
3181
+ model.output[26 + model.outpos] =
3182
+ (model.input[18 + model.inpos] >>> 22) | ((model.input[19 + model.inpos] & 8191) << (23 - 13));
3183
+ model.output[27 + model.outpos] =
3184
+ (model.input[19 + model.inpos] >>> 13) | ((model.input[20 + model.inpos] & 15) << (23 - 4));
3185
+ model.output[28 + model.outpos] = (model.input[20 + model.inpos] >>> 4) & 8388607;
3186
+ model.output[29 + model.outpos] =
3187
+ (model.input[20 + model.inpos] >>> 27) | ((model.input[21 + model.inpos] & 262143) << (23 - 18));
3188
+ model.output[30 + model.outpos] =
3189
+ (model.input[21 + model.inpos] >>> 18) | ((model.input[22 + model.inpos] & 511) << (23 - 9));
3190
+ model.output[31 + model.outpos] = model.input[22 + model.inpos] >>> 9;
3191
+ }
3192
+ function fastunpack24(model) {
3193
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 16777215;
3194
+ model.output[1 + model.outpos] =
3195
+ (model.input[model.inpos] >>> 24) | ((model.input[1 + model.inpos] & 65535) << (24 - 16));
3196
+ model.output[2 + model.outpos] =
3197
+ (model.input[1 + model.inpos] >>> 16) | ((model.input[2 + model.inpos] & 255) << (24 - 8));
3198
+ model.output[3 + model.outpos] = model.input[2 + model.inpos] >>> 8;
3199
+ model.output[4 + model.outpos] = (model.input[3 + model.inpos] >>> 0) & 16777215;
3200
+ model.output[5 + model.outpos] =
3201
+ (model.input[3 + model.inpos] >>> 24) | ((model.input[4 + model.inpos] & 65535) << (24 - 16));
3202
+ model.output[6 + model.outpos] =
3203
+ (model.input[4 + model.inpos] >>> 16) | ((model.input[5 + model.inpos] & 255) << (24 - 8));
3204
+ model.output[7 + model.outpos] = model.input[5 + model.inpos] >>> 8;
3205
+ model.output[8 + model.outpos] = (model.input[6 + model.inpos] >>> 0) & 16777215;
3206
+ model.output[9 + model.outpos] =
3207
+ (model.input[6 + model.inpos] >>> 24) | ((model.input[7 + model.inpos] & 65535) << (24 - 16));
3208
+ model.output[10 + model.outpos] =
3209
+ (model.input[7 + model.inpos] >>> 16) | ((model.input[8 + model.inpos] & 255) << (24 - 8));
3210
+ model.output[11 + model.outpos] = model.input[8 + model.inpos] >>> 8;
3211
+ model.output[12 + model.outpos] = (model.input[9 + model.inpos] >>> 0) & 16777215;
3212
+ model.output[13 + model.outpos] =
3213
+ (model.input[9 + model.inpos] >>> 24) | ((model.input[10 + model.inpos] & 65535) << (24 - 16));
3214
+ model.output[14 + model.outpos] =
3215
+ (model.input[10 + model.inpos] >>> 16) | ((model.input[11 + model.inpos] & 255) << (24 - 8));
3216
+ model.output[15 + model.outpos] = model.input[11 + model.inpos] >>> 8;
3217
+ model.output[16 + model.outpos] = (model.input[12 + model.inpos] >>> 0) & 16777215;
3218
+ model.output[17 + model.outpos] =
3219
+ (model.input[12 + model.inpos] >>> 24) | ((model.input[13 + model.inpos] & 65535) << (24 - 16));
3220
+ model.output[18 + model.outpos] =
3221
+ (model.input[13 + model.inpos] >>> 16) | ((model.input[14 + model.inpos] & 255) << (24 - 8));
3222
+ model.output[19 + model.outpos] = model.input[14 + model.inpos] >>> 8;
3223
+ model.output[20 + model.outpos] = (model.input[15 + model.inpos] >>> 0) & 16777215;
3224
+ model.output[21 + model.outpos] =
3225
+ (model.input[15 + model.inpos] >>> 24) | ((model.input[16 + model.inpos] & 65535) << (24 - 16));
3226
+ model.output[22 + model.outpos] =
3227
+ (model.input[16 + model.inpos] >>> 16) | ((model.input[17 + model.inpos] & 255) << (24 - 8));
3228
+ model.output[23 + model.outpos] = model.input[17 + model.inpos] >>> 8;
3229
+ model.output[24 + model.outpos] = (model.input[18 + model.inpos] >>> 0) & 16777215;
3230
+ model.output[25 + model.outpos] =
3231
+ (model.input[18 + model.inpos] >>> 24) | ((model.input[19 + model.inpos] & 65535) << (24 - 16));
3232
+ model.output[26 + model.outpos] =
3233
+ (model.input[19 + model.inpos] >>> 16) | ((model.input[20 + model.inpos] & 255) << (24 - 8));
3234
+ model.output[27 + model.outpos] = model.input[20 + model.inpos] >>> 8;
3235
+ model.output[28 + model.outpos] = (model.input[21 + model.inpos] >>> 0) & 16777215;
3236
+ model.output[29 + model.outpos] =
3237
+ (model.input[21 + model.inpos] >>> 24) | ((model.input[22 + model.inpos] & 65535) << (24 - 16));
3238
+ model.output[30 + model.outpos] =
3239
+ (model.input[22 + model.inpos] >>> 16) | ((model.input[23 + model.inpos] & 255) << (24 - 8));
3240
+ model.output[31 + model.outpos] = model.input[23 + model.inpos] >>> 8;
3241
+ }
3242
+ function fastunpack25(model) {
3243
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 33554431;
3244
+ model.output[1 + model.outpos] =
3245
+ (model.input[model.inpos] >>> 25) | ((model.input[1 + model.inpos] & 262143) << (25 - 18));
3246
+ model.output[2 + model.outpos] =
3247
+ (model.input[1 + model.inpos] >>> 18) | ((model.input[2 + model.inpos] & 2047) << (25 - 11));
3248
+ model.output[3 + model.outpos] =
3249
+ (model.input[2 + model.inpos] >>> 11) | ((model.input[3 + model.inpos] & 15) << (25 - 4));
3250
+ model.output[4 + model.outpos] = (model.input[3 + model.inpos] >>> 4) & 33554431;
3251
+ model.output[5 + model.outpos] =
3252
+ (model.input[3 + model.inpos] >>> 29) | ((model.input[4 + model.inpos] & 4194303) << (25 - 22));
3253
+ model.output[6 + model.outpos] =
3254
+ (model.input[4 + model.inpos] >>> 22) | ((model.input[5 + model.inpos] & 32767) << (25 - 15));
3255
+ model.output[7 + model.outpos] =
3256
+ (model.input[5 + model.inpos] >>> 15) | ((model.input[6 + model.inpos] & 255) << (25 - 8));
3257
+ model.output[8 + model.outpos] =
3258
+ (model.input[6 + model.inpos] >>> 8) | ((model.input[7 + model.inpos] & 1) << (25 - 1));
3259
+ model.output[9 + model.outpos] = (model.input[7 + model.inpos] >>> 1) & 33554431;
3260
+ model.output[10 + model.outpos] =
3261
+ (model.input[7 + model.inpos] >>> 26) | ((model.input[8 + model.inpos] & 524287) << (25 - 19));
3262
+ model.output[11 + model.outpos] =
3263
+ (model.input[8 + model.inpos] >>> 19) | ((model.input[9 + model.inpos] & 4095) << (25 - 12));
3264
+ model.output[12 + model.outpos] =
3265
+ (model.input[9 + model.inpos] >>> 12) | ((model.input[10 + model.inpos] & 31) << (25 - 5));
3266
+ model.output[13 + model.outpos] = (model.input[10 + model.inpos] >>> 5) & 33554431;
3267
+ model.output[14 + model.outpos] =
3268
+ (model.input[10 + model.inpos] >>> 30) | ((model.input[11 + model.inpos] & 8388607) << (25 - 23));
3269
+ model.output[15 + model.outpos] =
3270
+ (model.input[11 + model.inpos] >>> 23) | ((model.input[12 + model.inpos] & 65535) << (25 - 16));
3271
+ model.output[16 + model.outpos] =
3272
+ (model.input[12 + model.inpos] >>> 16) | ((model.input[13 + model.inpos] & 511) << (25 - 9));
3273
+ model.output[17 + model.outpos] =
3274
+ (model.input[13 + model.inpos] >>> 9) | ((model.input[14 + model.inpos] & 3) << (25 - 2));
3275
+ model.output[18 + model.outpos] = (model.input[14 + model.inpos] >>> 2) & 33554431;
3276
+ model.output[19 + model.outpos] =
3277
+ (model.input[14 + model.inpos] >>> 27) | ((model.input[15 + model.inpos] & 1048575) << (25 - 20));
3278
+ model.output[20 + model.outpos] =
3279
+ (model.input[15 + model.inpos] >>> 20) | ((model.input[16 + model.inpos] & 8191) << (25 - 13));
3280
+ model.output[21 + model.outpos] =
3281
+ (model.input[16 + model.inpos] >>> 13) | ((model.input[17 + model.inpos] & 63) << (25 - 6));
3282
+ model.output[22 + model.outpos] = (model.input[17 + model.inpos] >>> 6) & 33554431;
3283
+ model.output[23 + model.outpos] =
3284
+ (model.input[17 + model.inpos] >>> 31) | ((model.input[18 + model.inpos] & 16777215) << (25 - 24));
3285
+ model.output[24 + model.outpos] =
3286
+ (model.input[18 + model.inpos] >>> 24) | ((model.input[19 + model.inpos] & 131071) << (25 - 17));
3287
+ model.output[25 + model.outpos] =
3288
+ (model.input[19 + model.inpos] >>> 17) | ((model.input[20 + model.inpos] & 1023) << (25 - 10));
3289
+ model.output[26 + model.outpos] =
3290
+ (model.input[20 + model.inpos] >>> 10) | ((model.input[21 + model.inpos] & 7) << (25 - 3));
3291
+ model.output[27 + model.outpos] = (model.input[21 + model.inpos] >>> 3) & 33554431;
3292
+ model.output[28 + model.outpos] =
3293
+ (model.input[21 + model.inpos] >>> 28) | ((model.input[22 + model.inpos] & 2097151) << (25 - 21));
3294
+ model.output[29 + model.outpos] =
3295
+ (model.input[22 + model.inpos] >>> 21) | ((model.input[23 + model.inpos] & 16383) << (25 - 14));
3296
+ model.output[30 + model.outpos] =
3297
+ (model.input[23 + model.inpos] >>> 14) | ((model.input[24 + model.inpos] & 127) << (25 - 7));
3298
+ model.output[31 + model.outpos] = model.input[24 + model.inpos] >>> 7;
3299
+ }
3300
+ function fastunpack26(model) {
3301
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 67108863;
3302
+ model.output[1 + model.outpos] =
3303
+ (model.input[model.inpos] >>> 26) | ((model.input[1 + model.inpos] & 1048575) << (26 - 20));
3304
+ model.output[2 + model.outpos] =
3305
+ (model.input[1 + model.inpos] >>> 20) | ((model.input[2 + model.inpos] & 16383) << (26 - 14));
3306
+ model.output[3 + model.outpos] =
3307
+ (model.input[2 + model.inpos] >>> 14) | ((model.input[3 + model.inpos] & 255) << (26 - 8));
3308
+ model.output[4 + model.outpos] =
3309
+ (model.input[3 + model.inpos] >>> 8) | ((model.input[4 + model.inpos] & 3) << (26 - 2));
3310
+ model.output[5 + model.outpos] = (model.input[4 + model.inpos] >>> 2) & 67108863;
3311
+ model.output[6 + model.outpos] =
3312
+ (model.input[4 + model.inpos] >>> 28) | ((model.input[5 + model.inpos] & 4194303) << (26 - 22));
3313
+ model.output[7 + model.outpos] =
3314
+ (model.input[5 + model.inpos] >>> 22) | ((model.input[6 + model.inpos] & 65535) << (26 - 16));
3315
+ model.output[8 + model.outpos] =
3316
+ (model.input[6 + model.inpos] >>> 16) | ((model.input[7 + model.inpos] & 1023) << (26 - 10));
3317
+ model.output[9 + model.outpos] =
3318
+ (model.input[7 + model.inpos] >>> 10) | ((model.input[8 + model.inpos] & 15) << (26 - 4));
3319
+ model.output[10 + model.outpos] = (model.input[8 + model.inpos] >>> 4) & 67108863;
3320
+ model.output[11 + model.outpos] =
3321
+ (model.input[8 + model.inpos] >>> 30) | ((model.input[9 + model.inpos] & 16777215) << (26 - 24));
3322
+ model.output[12 + model.outpos] =
3323
+ (model.input[9 + model.inpos] >>> 24) | ((model.input[10 + model.inpos] & 262143) << (26 - 18));
3324
+ model.output[13 + model.outpos] =
3325
+ (model.input[10 + model.inpos] >>> 18) | ((model.input[11 + model.inpos] & 4095) << (26 - 12));
3326
+ model.output[14 + model.outpos] =
3327
+ (model.input[11 + model.inpos] >>> 12) | ((model.input[12 + model.inpos] & 63) << (26 - 6));
3328
+ model.output[15 + model.outpos] = model.input[12 + model.inpos] >>> 6;
3329
+ model.output[16 + model.outpos] = (model.input[13 + model.inpos] >>> 0) & 67108863;
3330
+ model.output[17 + model.outpos] =
3331
+ (model.input[13 + model.inpos] >>> 26) | ((model.input[14 + model.inpos] & 1048575) << (26 - 20));
3332
+ model.output[18 + model.outpos] =
3333
+ (model.input[14 + model.inpos] >>> 20) | ((model.input[15 + model.inpos] & 16383) << (26 - 14));
3334
+ model.output[19 + model.outpos] =
3335
+ (model.input[15 + model.inpos] >>> 14) | ((model.input[16 + model.inpos] & 255) << (26 - 8));
3336
+ model.output[20 + model.outpos] =
3337
+ (model.input[16 + model.inpos] >>> 8) | ((model.input[17 + model.inpos] & 3) << (26 - 2));
3338
+ model.output[21 + model.outpos] = (model.input[17 + model.inpos] >>> 2) & 67108863;
3339
+ model.output[22 + model.outpos] =
3340
+ (model.input[17 + model.inpos] >>> 28) | ((model.input[18 + model.inpos] & 4194303) << (26 - 22));
3341
+ model.output[23 + model.outpos] =
3342
+ (model.input[18 + model.inpos] >>> 22) | ((model.input[19 + model.inpos] & 65535) << (26 - 16));
3343
+ model.output[24 + model.outpos] =
3344
+ (model.input[19 + model.inpos] >>> 16) | ((model.input[20 + model.inpos] & 1023) << (26 - 10));
3345
+ model.output[25 + model.outpos] =
3346
+ (model.input[20 + model.inpos] >>> 10) | ((model.input[21 + model.inpos] & 15) << (26 - 4));
3347
+ model.output[26 + model.outpos] = (model.input[21 + model.inpos] >>> 4) & 67108863;
3348
+ model.output[27 + model.outpos] =
3349
+ (model.input[21 + model.inpos] >>> 30) | ((model.input[22 + model.inpos] & 16777215) << (26 - 24));
3350
+ model.output[28 + model.outpos] =
3351
+ (model.input[22 + model.inpos] >>> 24) | ((model.input[23 + model.inpos] & 262143) << (26 - 18));
3352
+ model.output[29 + model.outpos] =
3353
+ (model.input[23 + model.inpos] >>> 18) | ((model.input[24 + model.inpos] & 4095) << (26 - 12));
3354
+ model.output[30 + model.outpos] =
3355
+ (model.input[24 + model.inpos] >>> 12) | ((model.input[25 + model.inpos] & 63) << (26 - 6));
3356
+ model.output[31 + model.outpos] = model.input[25 + model.inpos] >>> 6;
3357
+ }
3358
+ function fastunpack27(model) {
3359
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 134217727;
3360
+ model.output[1 + model.outpos] =
3361
+ (model.input[model.inpos] >>> 27) | ((model.input[1 + model.inpos] & 4194303) << (27 - 22));
3362
+ model.output[2 + model.outpos] =
3363
+ (model.input[1 + model.inpos] >>> 22) | ((model.input[2 + model.inpos] & 131071) << (27 - 17));
3364
+ model.output[3 + model.outpos] =
3365
+ (model.input[2 + model.inpos] >>> 17) | ((model.input[3 + model.inpos] & 4095) << (27 - 12));
3366
+ model.output[4 + model.outpos] =
3367
+ (model.input[3 + model.inpos] >>> 12) | ((model.input[4 + model.inpos] & 127) << (27 - 7));
3368
+ model.output[5 + model.outpos] =
3369
+ (model.input[4 + model.inpos] >>> 7) | ((model.input[5 + model.inpos] & 3) << (27 - 2));
3370
+ model.output[6 + model.outpos] = (model.input[5 + model.inpos] >>> 2) & 134217727;
3371
+ model.output[7 + model.outpos] =
3372
+ (model.input[5 + model.inpos] >>> 29) | ((model.input[6 + model.inpos] & 16777215) << (27 - 24));
3373
+ model.output[8 + model.outpos] =
3374
+ (model.input[6 + model.inpos] >>> 24) | ((model.input[7 + model.inpos] & 524287) << (27 - 19));
3375
+ model.output[9 + model.outpos] =
3376
+ (model.input[7 + model.inpos] >>> 19) | ((model.input[8 + model.inpos] & 16383) << (27 - 14));
3377
+ model.output[10 + model.outpos] =
3378
+ (model.input[8 + model.inpos] >>> 14) | ((model.input[9 + model.inpos] & 511) << (27 - 9));
3379
+ model.output[11 + model.outpos] =
3380
+ (model.input[9 + model.inpos] >>> 9) | ((model.input[10 + model.inpos] & 15) << (27 - 4));
3381
+ model.output[12 + model.outpos] = (model.input[10 + model.inpos] >>> 4) & 134217727;
3382
+ model.output[13 + model.outpos] =
3383
+ (model.input[10 + model.inpos] >>> 31) | ((model.input[11 + model.inpos] & 67108863) << (27 - 26));
3384
+ model.output[14 + model.outpos] =
3385
+ (model.input[11 + model.inpos] >>> 26) | ((model.input[12 + model.inpos] & 2097151) << (27 - 21));
3386
+ model.output[15 + model.outpos] =
3387
+ (model.input[12 + model.inpos] >>> 21) | ((model.input[13 + model.inpos] & 65535) << (27 - 16));
3388
+ model.output[16 + model.outpos] =
3389
+ (model.input[13 + model.inpos] >>> 16) | ((model.input[14 + model.inpos] & 2047) << (27 - 11));
3390
+ model.output[17 + model.outpos] =
3391
+ (model.input[14 + model.inpos] >>> 11) | ((model.input[15 + model.inpos] & 63) << (27 - 6));
3392
+ model.output[18 + model.outpos] =
3393
+ (model.input[15 + model.inpos] >>> 6) | ((model.input[16 + model.inpos] & 1) << (27 - 1));
3394
+ model.output[19 + model.outpos] = (model.input[16 + model.inpos] >>> 1) & 134217727;
3395
+ model.output[20 + model.outpos] =
3396
+ (model.input[16 + model.inpos] >>> 28) | ((model.input[17 + model.inpos] & 8388607) << (27 - 23));
3397
+ model.output[21 + model.outpos] =
3398
+ (model.input[17 + model.inpos] >>> 23) | ((model.input[18 + model.inpos] & 262143) << (27 - 18));
3399
+ model.output[22 + model.outpos] =
3400
+ (model.input[18 + model.inpos] >>> 18) | ((model.input[19 + model.inpos] & 8191) << (27 - 13));
3401
+ model.output[23 + model.outpos] =
3402
+ (model.input[19 + model.inpos] >>> 13) | ((model.input[20 + model.inpos] & 255) << (27 - 8));
3403
+ model.output[24 + model.outpos] =
3404
+ (model.input[20 + model.inpos] >>> 8) | ((model.input[21 + model.inpos] & 7) << (27 - 3));
3405
+ model.output[25 + model.outpos] = (model.input[21 + model.inpos] >>> 3) & 134217727;
3406
+ model.output[26 + model.outpos] =
3407
+ (model.input[21 + model.inpos] >>> 30) | ((model.input[22 + model.inpos] & 33554431) << (27 - 25));
3408
+ model.output[27 + model.outpos] =
3409
+ (model.input[22 + model.inpos] >>> 25) | ((model.input[23 + model.inpos] & 1048575) << (27 - 20));
3410
+ model.output[28 + model.outpos] =
3411
+ (model.input[23 + model.inpos] >>> 20) | ((model.input[24 + model.inpos] & 32767) << (27 - 15));
3412
+ model.output[29 + model.outpos] =
3413
+ (model.input[24 + model.inpos] >>> 15) | ((model.input[25 + model.inpos] & 1023) << (27 - 10));
3414
+ model.output[30 + model.outpos] =
3415
+ (model.input[25 + model.inpos] >>> 10) | ((model.input[26 + model.inpos] & 31) << (27 - 5));
3416
+ model.output[31 + model.outpos] = model.input[26 + model.inpos] >>> 5;
3417
+ }
3418
+ function fastunpack28(model) {
3419
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 268435455;
3420
+ model.output[1 + model.outpos] =
3421
+ (model.input[model.inpos] >>> 28) | ((model.input[1 + model.inpos] & 16777215) << (28 - 24));
3422
+ model.output[2 + model.outpos] =
3423
+ (model.input[1 + model.inpos] >>> 24) | ((model.input[2 + model.inpos] & 1048575) << (28 - 20));
3424
+ model.output[3 + model.outpos] =
3425
+ (model.input[2 + model.inpos] >>> 20) | ((model.input[3 + model.inpos] & 65535) << (28 - 16));
3426
+ model.output[4 + model.outpos] =
3427
+ (model.input[3 + model.inpos] >>> 16) | ((model.input[4 + model.inpos] & 4095) << (28 - 12));
3428
+ model.output[5 + model.outpos] =
3429
+ (model.input[4 + model.inpos] >>> 12) | ((model.input[5 + model.inpos] & 255) << (28 - 8));
3430
+ model.output[6 + model.outpos] =
3431
+ (model.input[5 + model.inpos] >>> 8) | ((model.input[6 + model.inpos] & 15) << (28 - 4));
3432
+ model.output[7 + model.outpos] = model.input[6 + model.inpos] >>> 4;
3433
+ model.output[8 + model.outpos] = (model.input[7 + model.inpos] >>> 0) & 268435455;
3434
+ model.output[9 + model.outpos] =
3435
+ (model.input[7 + model.inpos] >>> 28) | ((model.input[8 + model.inpos] & 16777215) << (28 - 24));
3436
+ model.output[10 + model.outpos] =
3437
+ (model.input[8 + model.inpos] >>> 24) | ((model.input[9 + model.inpos] & 1048575) << (28 - 20));
3438
+ model.output[11 + model.outpos] =
3439
+ (model.input[9 + model.inpos] >>> 20) | ((model.input[10 + model.inpos] & 65535) << (28 - 16));
3440
+ model.output[12 + model.outpos] =
3441
+ (model.input[10 + model.inpos] >>> 16) | ((model.input[11 + model.inpos] & 4095) << (28 - 12));
3442
+ model.output[13 + model.outpos] =
3443
+ (model.input[11 + model.inpos] >>> 12) | ((model.input[12 + model.inpos] & 255) << (28 - 8));
3444
+ model.output[14 + model.outpos] =
3445
+ (model.input[12 + model.inpos] >>> 8) | ((model.input[13 + model.inpos] & 15) << (28 - 4));
3446
+ model.output[15 + model.outpos] = model.input[13 + model.inpos] >>> 4;
3447
+ model.output[16 + model.outpos] = (model.input[14 + model.inpos] >>> 0) & 268435455;
3448
+ model.output[17 + model.outpos] =
3449
+ (model.input[14 + model.inpos] >>> 28) | ((model.input[15 + model.inpos] & 16777215) << (28 - 24));
3450
+ model.output[18 + model.outpos] =
3451
+ (model.input[15 + model.inpos] >>> 24) | ((model.input[16 + model.inpos] & 1048575) << (28 - 20));
3452
+ model.output[19 + model.outpos] =
3453
+ (model.input[16 + model.inpos] >>> 20) | ((model.input[17 + model.inpos] & 65535) << (28 - 16));
3454
+ model.output[20 + model.outpos] =
3455
+ (model.input[17 + model.inpos] >>> 16) | ((model.input[18 + model.inpos] & 4095) << (28 - 12));
3456
+ model.output[21 + model.outpos] =
3457
+ (model.input[18 + model.inpos] >>> 12) | ((model.input[19 + model.inpos] & 255) << (28 - 8));
3458
+ model.output[22 + model.outpos] =
3459
+ (model.input[19 + model.inpos] >>> 8) | ((model.input[20 + model.inpos] & 15) << (28 - 4));
3460
+ model.output[23 + model.outpos] = model.input[20 + model.inpos] >>> 4;
3461
+ model.output[24 + model.outpos] = (model.input[21 + model.inpos] >>> 0) & 268435455;
3462
+ model.output[25 + model.outpos] =
3463
+ (model.input[21 + model.inpos] >>> 28) | ((model.input[22 + model.inpos] & 16777215) << (28 - 24));
3464
+ model.output[26 + model.outpos] =
3465
+ (model.input[22 + model.inpos] >>> 24) | ((model.input[23 + model.inpos] & 1048575) << (28 - 20));
3466
+ model.output[27 + model.outpos] =
3467
+ (model.input[23 + model.inpos] >>> 20) | ((model.input[24 + model.inpos] & 65535) << (28 - 16));
3468
+ model.output[28 + model.outpos] =
3469
+ (model.input[24 + model.inpos] >>> 16) | ((model.input[25 + model.inpos] & 4095) << (28 - 12));
3470
+ model.output[29 + model.outpos] =
3471
+ (model.input[25 + model.inpos] >>> 12) | ((model.input[26 + model.inpos] & 255) << (28 - 8));
3472
+ model.output[30 + model.outpos] =
3473
+ (model.input[26 + model.inpos] >>> 8) | ((model.input[27 + model.inpos] & 15) << (28 - 4));
3474
+ model.output[31 + model.outpos] = model.input[27 + model.inpos] >>> 4;
3475
+ }
3476
+ function fastunpack29(model) {
3477
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 536870911;
3478
+ model.output[1 + model.outpos] =
3479
+ (model.input[model.inpos] >>> 29) | ((model.input[1 + model.inpos] & 67108863) << (29 - 26));
3480
+ model.output[2 + model.outpos] =
3481
+ (model.input[1 + model.inpos] >>> 26) | ((model.input[2 + model.inpos] & 8388607) << (29 - 23));
3482
+ model.output[3 + model.outpos] =
3483
+ (model.input[2 + model.inpos] >>> 23) | ((model.input[3 + model.inpos] & 1048575) << (29 - 20));
3484
+ model.output[4 + model.outpos] =
3485
+ (model.input[3 + model.inpos] >>> 20) | ((model.input[4 + model.inpos] & 131071) << (29 - 17));
3486
+ model.output[5 + model.outpos] =
3487
+ (model.input[4 + model.inpos] >>> 17) | ((model.input[5 + model.inpos] & 16383) << (29 - 14));
3488
+ model.output[6 + model.outpos] =
3489
+ (model.input[5 + model.inpos] >>> 14) | ((model.input[6 + model.inpos] & 2047) << (29 - 11));
3490
+ model.output[7 + model.outpos] =
3491
+ (model.input[6 + model.inpos] >>> 11) | ((model.input[7 + model.inpos] & 255) << (29 - 8));
3492
+ model.output[8 + model.outpos] =
3493
+ (model.input[7 + model.inpos] >>> 8) | ((model.input[8 + model.inpos] & 31) << (29 - 5));
3494
+ model.output[9 + model.outpos] =
3495
+ (model.input[8 + model.inpos] >>> 5) | ((model.input[9 + model.inpos] & 3) << (29 - 2));
3496
+ model.output[10 + model.outpos] = (model.input[9 + model.inpos] >>> 2) & 536870911;
3497
+ model.output[11 + model.outpos] =
3498
+ (model.input[9 + model.inpos] >>> 31) | ((model.input[10 + model.inpos] & 268435455) << (29 - 28));
3499
+ model.output[12 + model.outpos] =
3500
+ (model.input[10 + model.inpos] >>> 28) | ((model.input[11 + model.inpos] & 33554431) << (29 - 25));
3501
+ model.output[13 + model.outpos] =
3502
+ (model.input[11 + model.inpos] >>> 25) | ((model.input[12 + model.inpos] & 4194303) << (29 - 22));
3503
+ model.output[14 + model.outpos] =
3504
+ (model.input[12 + model.inpos] >>> 22) | ((model.input[13 + model.inpos] & 524287) << (29 - 19));
3505
+ model.output[15 + model.outpos] =
3506
+ (model.input[13 + model.inpos] >>> 19) | ((model.input[14 + model.inpos] & 65535) << (29 - 16));
3507
+ model.output[16 + model.outpos] =
3508
+ (model.input[14 + model.inpos] >>> 16) | ((model.input[15 + model.inpos] & 8191) << (29 - 13));
3509
+ model.output[17 + model.outpos] =
3510
+ (model.input[15 + model.inpos] >>> 13) | ((model.input[16 + model.inpos] & 1023) << (29 - 10));
3511
+ model.output[18 + model.outpos] =
3512
+ (model.input[16 + model.inpos] >>> 10) | ((model.input[17 + model.inpos] & 127) << (29 - 7));
3513
+ model.output[19 + model.outpos] =
3514
+ (model.input[17 + model.inpos] >>> 7) | ((model.input[18 + model.inpos] & 15) << (29 - 4));
3515
+ model.output[20 + model.outpos] =
3516
+ (model.input[18 + model.inpos] >>> 4) | ((model.input[19 + model.inpos] & 1) << (29 - 1));
3517
+ model.output[21 + model.outpos] = (model.input[19 + model.inpos] >>> 1) & 536870911;
3518
+ model.output[22 + model.outpos] =
3519
+ (model.input[19 + model.inpos] >>> 30) | ((model.input[20 + model.inpos] & 134217727) << (29 - 27));
3520
+ model.output[23 + model.outpos] =
3521
+ (model.input[20 + model.inpos] >>> 27) | ((model.input[21 + model.inpos] & 16777215) << (29 - 24));
3522
+ model.output[24 + model.outpos] =
3523
+ (model.input[21 + model.inpos] >>> 24) | ((model.input[22 + model.inpos] & 2097151) << (29 - 21));
3524
+ model.output[25 + model.outpos] =
3525
+ (model.input[22 + model.inpos] >>> 21) | ((model.input[23 + model.inpos] & 262143) << (29 - 18));
3526
+ model.output[26 + model.outpos] =
3527
+ (model.input[23 + model.inpos] >>> 18) | ((model.input[24 + model.inpos] & 32767) << (29 - 15));
3528
+ model.output[27 + model.outpos] =
3529
+ (model.input[24 + model.inpos] >>> 15) | ((model.input[25 + model.inpos] & 4095) << (29 - 12));
3530
+ model.output[28 + model.outpos] =
3531
+ (model.input[25 + model.inpos] >>> 12) | ((model.input[26 + model.inpos] & 511) << (29 - 9));
3532
+ model.output[29 + model.outpos] =
3533
+ (model.input[26 + model.inpos] >>> 9) | ((model.input[27 + model.inpos] & 63) << (29 - 6));
3534
+ model.output[30 + model.outpos] =
3535
+ (model.input[27 + model.inpos] >>> 6) | ((model.input[28 + model.inpos] & 7) << (29 - 3));
3536
+ model.output[31 + model.outpos] = model.input[28 + model.inpos] >>> 3;
3537
+ }
3538
+ function fastunpack3(model) {
3539
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 7;
3540
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 3) & 7;
3541
+ model.output[2 + model.outpos] = (model.input[model.inpos] >>> 6) & 7;
3542
+ model.output[3 + model.outpos] = (model.input[model.inpos] >>> 9) & 7;
3543
+ model.output[4 + model.outpos] = (model.input[model.inpos] >>> 12) & 7;
3544
+ model.output[5 + model.outpos] = (model.input[model.inpos] >>> 15) & 7;
3545
+ model.output[6 + model.outpos] = (model.input[model.inpos] >>> 18) & 7;
3546
+ model.output[7 + model.outpos] = (model.input[model.inpos] >>> 21) & 7;
3547
+ model.output[8 + model.outpos] = (model.input[model.inpos] >>> 24) & 7;
3548
+ model.output[9 + model.outpos] = (model.input[model.inpos] >>> 27) & 7;
3549
+ model.output[10 + model.outpos] =
3550
+ (model.input[model.inpos] >>> 30) | ((model.input[1 + model.inpos] & 1) << (3 - 1));
3551
+ model.output[11 + model.outpos] = (model.input[1 + model.inpos] >>> 1) & 7;
3552
+ model.output[12 + model.outpos] = (model.input[1 + model.inpos] >>> 4) & 7;
3553
+ model.output[13 + model.outpos] = (model.input[1 + model.inpos] >>> 7) & 7;
3554
+ model.output[14 + model.outpos] = (model.input[1 + model.inpos] >>> 10) & 7;
3555
+ model.output[15 + model.outpos] = (model.input[1 + model.inpos] >>> 13) & 7;
3556
+ model.output[16 + model.outpos] = (model.input[1 + model.inpos] >>> 16) & 7;
3557
+ model.output[17 + model.outpos] = (model.input[1 + model.inpos] >>> 19) & 7;
3558
+ model.output[18 + model.outpos] = (model.input[1 + model.inpos] >>> 22) & 7;
3559
+ model.output[19 + model.outpos] = (model.input[1 + model.inpos] >>> 25) & 7;
3560
+ model.output[20 + model.outpos] = (model.input[1 + model.inpos] >>> 28) & 7;
3561
+ model.output[21 + model.outpos] =
3562
+ (model.input[1 + model.inpos] >>> 31) | ((model.input[2 + model.inpos] & 3) << (3 - 2));
3563
+ model.output[22 + model.outpos] = (model.input[2 + model.inpos] >>> 2) & 7;
3564
+ model.output[23 + model.outpos] = (model.input[2 + model.inpos] >>> 5) & 7;
3565
+ model.output[24 + model.outpos] = (model.input[2 + model.inpos] >>> 8) & 7;
3566
+ model.output[25 + model.outpos] = (model.input[2 + model.inpos] >>> 11) & 7;
3567
+ model.output[26 + model.outpos] = (model.input[2 + model.inpos] >>> 14) & 7;
3568
+ model.output[27 + model.outpos] = (model.input[2 + model.inpos] >>> 17) & 7;
3569
+ model.output[28 + model.outpos] = (model.input[2 + model.inpos] >>> 20) & 7;
3570
+ model.output[29 + model.outpos] = (model.input[2 + model.inpos] >>> 23) & 7;
3571
+ model.output[30 + model.outpos] = (model.input[2 + model.inpos] >>> 26) & 7;
3572
+ model.output[31 + model.outpos] = model.input[2 + model.inpos] >>> 29;
3573
+ }
3574
+ function fastunpack30(model) {
3575
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 1073741823;
3576
+ model.output[1 + model.outpos] =
3577
+ (model.input[model.inpos] >>> 30) | ((model.input[1 + model.inpos] & 268435455) << (30 - 28));
3578
+ model.output[2 + model.outpos] =
3579
+ (model.input[1 + model.inpos] >>> 28) | ((model.input[2 + model.inpos] & 67108863) << (30 - 26));
3580
+ model.output[3 + model.outpos] =
3581
+ (model.input[2 + model.inpos] >>> 26) | ((model.input[3 + model.inpos] & 16777215) << (30 - 24));
3582
+ model.output[4 + model.outpos] =
3583
+ (model.input[3 + model.inpos] >>> 24) | ((model.input[4 + model.inpos] & 4194303) << (30 - 22));
3584
+ model.output[5 + model.outpos] =
3585
+ (model.input[4 + model.inpos] >>> 22) | ((model.input[5 + model.inpos] & 1048575) << (30 - 20));
3586
+ model.output[6 + model.outpos] =
3587
+ (model.input[5 + model.inpos] >>> 20) | ((model.input[6 + model.inpos] & 262143) << (30 - 18));
3588
+ model.output[7 + model.outpos] =
3589
+ (model.input[6 + model.inpos] >>> 18) | ((model.input[7 + model.inpos] & 65535) << (30 - 16));
3590
+ model.output[8 + model.outpos] =
3591
+ (model.input[7 + model.inpos] >>> 16) | ((model.input[8 + model.inpos] & 16383) << (30 - 14));
3592
+ model.output[9 + model.outpos] =
3593
+ (model.input[8 + model.inpos] >>> 14) | ((model.input[9 + model.inpos] & 4095) << (30 - 12));
3594
+ model.output[10 + model.outpos] =
3595
+ (model.input[9 + model.inpos] >>> 12) | ((model.input[10 + model.inpos] & 1023) << (30 - 10));
3596
+ model.output[11 + model.outpos] =
3597
+ (model.input[10 + model.inpos] >>> 10) | ((model.input[11 + model.inpos] & 255) << (30 - 8));
3598
+ model.output[12 + model.outpos] =
3599
+ (model.input[11 + model.inpos] >>> 8) | ((model.input[12 + model.inpos] & 63) << (30 - 6));
3600
+ model.output[13 + model.outpos] =
3601
+ (model.input[12 + model.inpos] >>> 6) | ((model.input[13 + model.inpos] & 15) << (30 - 4));
3602
+ model.output[14 + model.outpos] =
3603
+ (model.input[13 + model.inpos] >>> 4) | ((model.input[14 + model.inpos] & 3) << (30 - 2));
3604
+ model.output[15 + model.outpos] = model.input[14 + model.inpos] >>> 2;
3605
+ model.output[16 + model.outpos] = (model.input[15 + model.inpos] >>> 0) & 1073741823;
3606
+ model.output[17 + model.outpos] =
3607
+ (model.input[15 + model.inpos] >>> 30) | ((model.input[16 + model.inpos] & 268435455) << (30 - 28));
3608
+ model.output[18 + model.outpos] =
3609
+ (model.input[16 + model.inpos] >>> 28) | ((model.input[17 + model.inpos] & 67108863) << (30 - 26));
3610
+ model.output[19 + model.outpos] =
3611
+ (model.input[17 + model.inpos] >>> 26) | ((model.input[18 + model.inpos] & 16777215) << (30 - 24));
3612
+ model.output[20 + model.outpos] =
3613
+ (model.input[18 + model.inpos] >>> 24) | ((model.input[19 + model.inpos] & 4194303) << (30 - 22));
3614
+ model.output[21 + model.outpos] =
3615
+ (model.input[19 + model.inpos] >>> 22) | ((model.input[20 + model.inpos] & 1048575) << (30 - 20));
3616
+ model.output[22 + model.outpos] =
3617
+ (model.input[20 + model.inpos] >>> 20) | ((model.input[21 + model.inpos] & 262143) << (30 - 18));
3618
+ model.output[23 + model.outpos] =
3619
+ (model.input[21 + model.inpos] >>> 18) | ((model.input[22 + model.inpos] & 65535) << (30 - 16));
3620
+ model.output[24 + model.outpos] =
3621
+ (model.input[22 + model.inpos] >>> 16) | ((model.input[23 + model.inpos] & 16383) << (30 - 14));
3622
+ model.output[25 + model.outpos] =
3623
+ (model.input[23 + model.inpos] >>> 14) | ((model.input[24 + model.inpos] & 4095) << (30 - 12));
3624
+ model.output[26 + model.outpos] =
3625
+ (model.input[24 + model.inpos] >>> 12) | ((model.input[25 + model.inpos] & 1023) << (30 - 10));
3626
+ model.output[27 + model.outpos] =
3627
+ (model.input[25 + model.inpos] >>> 10) | ((model.input[26 + model.inpos] & 255) << (30 - 8));
3628
+ model.output[28 + model.outpos] =
3629
+ (model.input[26 + model.inpos] >>> 8) | ((model.input[27 + model.inpos] & 63) << (30 - 6));
3630
+ model.output[29 + model.outpos] =
3631
+ (model.input[27 + model.inpos] >>> 6) | ((model.input[28 + model.inpos] & 15) << (30 - 4));
3632
+ model.output[30 + model.outpos] =
3633
+ (model.input[28 + model.inpos] >>> 4) | ((model.input[29 + model.inpos] & 3) << (30 - 2));
3634
+ model.output[31 + model.outpos] = model.input[29 + model.inpos] >>> 2;
3635
+ }
3636
+ function fastunpack31(model) {
3637
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 2147483647;
3638
+ model.output[1 + model.outpos] =
3639
+ (model.input[model.inpos] >>> 31) | ((model.input[1 + model.inpos] & 1073741823) << (31 - 30));
3640
+ model.output[2 + model.outpos] =
3641
+ (model.input[1 + model.inpos] >>> 30) | ((model.input[2 + model.inpos] & 536870911) << (31 - 29));
3642
+ model.output[3 + model.outpos] =
3643
+ (model.input[2 + model.inpos] >>> 29) | ((model.input[3 + model.inpos] & 268435455) << (31 - 28));
3644
+ model.output[4 + model.outpos] =
3645
+ (model.input[3 + model.inpos] >>> 28) | ((model.input[4 + model.inpos] & 134217727) << (31 - 27));
3646
+ model.output[5 + model.outpos] =
3647
+ (model.input[4 + model.inpos] >>> 27) | ((model.input[5 + model.inpos] & 67108863) << (31 - 26));
3648
+ model.output[6 + model.outpos] =
3649
+ (model.input[5 + model.inpos] >>> 26) | ((model.input[6 + model.inpos] & 33554431) << (31 - 25));
3650
+ model.output[7 + model.outpos] =
3651
+ (model.input[6 + model.inpos] >>> 25) | ((model.input[7 + model.inpos] & 16777215) << (31 - 24));
3652
+ model.output[8 + model.outpos] =
3653
+ (model.input[7 + model.inpos] >>> 24) | ((model.input[8 + model.inpos] & 8388607) << (31 - 23));
3654
+ model.output[9 + model.outpos] =
3655
+ (model.input[8 + model.inpos] >>> 23) | ((model.input[9 + model.inpos] & 4194303) << (31 - 22));
3656
+ model.output[10 + model.outpos] =
3657
+ (model.input[9 + model.inpos] >>> 22) | ((model.input[10 + model.inpos] & 2097151) << (31 - 21));
3658
+ model.output[11 + model.outpos] =
3659
+ (model.input[10 + model.inpos] >>> 21) | ((model.input[11 + model.inpos] & 1048575) << (31 - 20));
3660
+ model.output[12 + model.outpos] =
3661
+ (model.input[11 + model.inpos] >>> 20) | ((model.input[12 + model.inpos] & 524287) << (31 - 19));
3662
+ model.output[13 + model.outpos] =
3663
+ (model.input[12 + model.inpos] >>> 19) | ((model.input[13 + model.inpos] & 262143) << (31 - 18));
3664
+ model.output[14 + model.outpos] =
3665
+ (model.input[13 + model.inpos] >>> 18) | ((model.input[14 + model.inpos] & 131071) << (31 - 17));
3666
+ model.output[15 + model.outpos] =
3667
+ (model.input[14 + model.inpos] >>> 17) | ((model.input[15 + model.inpos] & 65535) << (31 - 16));
3668
+ model.output[16 + model.outpos] =
3669
+ (model.input[15 + model.inpos] >>> 16) | ((model.input[16 + model.inpos] & 32767) << (31 - 15));
3670
+ model.output[17 + model.outpos] =
3671
+ (model.input[16 + model.inpos] >>> 15) | ((model.input[17 + model.inpos] & 16383) << (31 - 14));
3672
+ model.output[18 + model.outpos] =
3673
+ (model.input[17 + model.inpos] >>> 14) | ((model.input[18 + model.inpos] & 8191) << (31 - 13));
3674
+ model.output[19 + model.outpos] =
3675
+ (model.input[18 + model.inpos] >>> 13) | ((model.input[19 + model.inpos] & 4095) << (31 - 12));
3676
+ model.output[20 + model.outpos] =
3677
+ (model.input[19 + model.inpos] >>> 12) | ((model.input[20 + model.inpos] & 2047) << (31 - 11));
3678
+ model.output[21 + model.outpos] =
3679
+ (model.input[20 + model.inpos] >>> 11) | ((model.input[21 + model.inpos] & 1023) << (31 - 10));
3680
+ model.output[22 + model.outpos] =
3681
+ (model.input[21 + model.inpos] >>> 10) | ((model.input[22 + model.inpos] & 511) << (31 - 9));
3682
+ model.output[23 + model.outpos] =
3683
+ (model.input[22 + model.inpos] >>> 9) | ((model.input[23 + model.inpos] & 255) << (31 - 8));
3684
+ model.output[24 + model.outpos] =
3685
+ (model.input[23 + model.inpos] >>> 8) | ((model.input[24 + model.inpos] & 127) << (31 - 7));
3686
+ model.output[25 + model.outpos] =
3687
+ (model.input[24 + model.inpos] >>> 7) | ((model.input[25 + model.inpos] & 63) << (31 - 6));
3688
+ model.output[26 + model.outpos] =
3689
+ (model.input[25 + model.inpos] >>> 6) | ((model.input[26 + model.inpos] & 31) << (31 - 5));
3690
+ model.output[27 + model.outpos] =
3691
+ (model.input[26 + model.inpos] >>> 5) | ((model.input[27 + model.inpos] & 15) << (31 - 4));
3692
+ model.output[28 + model.outpos] =
3693
+ (model.input[27 + model.inpos] >>> 4) | ((model.input[28 + model.inpos] & 7) << (31 - 3));
3694
+ model.output[29 + model.outpos] =
3695
+ (model.input[28 + model.inpos] >>> 3) | ((model.input[29 + model.inpos] & 3) << (31 - 2));
3696
+ model.output[30 + model.outpos] =
3697
+ (model.input[29 + model.inpos] >>> 2) | ((model.input[30 + model.inpos] & 1) << (31 - 1));
3698
+ model.output[31 + model.outpos] = model.input[30 + model.inpos] >>> 1;
3699
+ }
3700
+ function fastunpack32(model) {
3701
+ for (let i = 0; i < 32; i++)
3702
+ model.output[model.outpos + i] = model.input[model.inpos + i];
3703
+ }
3704
+ function fastunpack4(model) {
3705
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 15;
3706
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 4) & 15;
3707
+ model.output[2 + model.outpos] = (model.input[model.inpos] >>> 8) & 15;
3708
+ model.output[3 + model.outpos] = (model.input[model.inpos] >>> 12) & 15;
3709
+ model.output[4 + model.outpos] = (model.input[model.inpos] >>> 16) & 15;
3710
+ model.output[5 + model.outpos] = (model.input[model.inpos] >>> 20) & 15;
3711
+ model.output[6 + model.outpos] = (model.input[model.inpos] >>> 24) & 15;
3712
+ model.output[7 + model.outpos] = model.input[model.inpos] >>> 28;
3713
+ model.output[8 + model.outpos] = (model.input[1 + model.inpos] >>> 0) & 15;
3714
+ model.output[9 + model.outpos] = (model.input[1 + model.inpos] >>> 4) & 15;
3715
+ model.output[10 + model.outpos] = (model.input[1 + model.inpos] >>> 8) & 15;
3716
+ model.output[11 + model.outpos] = (model.input[1 + model.inpos] >>> 12) & 15;
3717
+ model.output[12 + model.outpos] = (model.input[1 + model.inpos] >>> 16) & 15;
3718
+ model.output[13 + model.outpos] = (model.input[1 + model.inpos] >>> 20) & 15;
3719
+ model.output[14 + model.outpos] = (model.input[1 + model.inpos] >>> 24) & 15;
3720
+ model.output[15 + model.outpos] = model.input[1 + model.inpos] >>> 28;
3721
+ model.output[16 + model.outpos] = (model.input[2 + model.inpos] >>> 0) & 15;
3722
+ model.output[17 + model.outpos] = (model.input[2 + model.inpos] >>> 4) & 15;
3723
+ model.output[18 + model.outpos] = (model.input[2 + model.inpos] >>> 8) & 15;
3724
+ model.output[19 + model.outpos] = (model.input[2 + model.inpos] >>> 12) & 15;
3725
+ model.output[20 + model.outpos] = (model.input[2 + model.inpos] >>> 16) & 15;
3726
+ model.output[21 + model.outpos] = (model.input[2 + model.inpos] >>> 20) & 15;
3727
+ model.output[22 + model.outpos] = (model.input[2 + model.inpos] >>> 24) & 15;
3728
+ model.output[23 + model.outpos] = model.input[2 + model.inpos] >>> 28;
3729
+ model.output[24 + model.outpos] = (model.input[3 + model.inpos] >>> 0) & 15;
3730
+ model.output[25 + model.outpos] = (model.input[3 + model.inpos] >>> 4) & 15;
3731
+ model.output[26 + model.outpos] = (model.input[3 + model.inpos] >>> 8) & 15;
3732
+ model.output[27 + model.outpos] = (model.input[3 + model.inpos] >>> 12) & 15;
3733
+ model.output[28 + model.outpos] = (model.input[3 + model.inpos] >>> 16) & 15;
3734
+ model.output[29 + model.outpos] = (model.input[3 + model.inpos] >>> 20) & 15;
3735
+ model.output[30 + model.outpos] = (model.input[3 + model.inpos] >>> 24) & 15;
3736
+ model.output[31 + model.outpos] = model.input[3 + model.inpos] >>> 28;
3737
+ }
3738
+ function fastunpack5(model) {
3739
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 31;
3740
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 5) & 31;
3741
+ model.output[2 + model.outpos] = (model.input[model.inpos] >>> 10) & 31;
3742
+ model.output[3 + model.outpos] = (model.input[model.inpos] >>> 15) & 31;
3743
+ model.output[4 + model.outpos] = (model.input[model.inpos] >>> 20) & 31;
3744
+ model.output[5 + model.outpos] = (model.input[model.inpos] >>> 25) & 31;
3745
+ model.output[6 + model.outpos] =
3746
+ (model.input[model.inpos] >>> 30) | ((model.input[1 + model.inpos] & 7) << (5 - 3));
3747
+ model.output[7 + model.outpos] = (model.input[1 + model.inpos] >>> 3) & 31;
3748
+ model.output[8 + model.outpos] = (model.input[1 + model.inpos] >>> 8) & 31;
3749
+ model.output[9 + model.outpos] = (model.input[1 + model.inpos] >>> 13) & 31;
3750
+ model.output[10 + model.outpos] = (model.input[1 + model.inpos] >>> 18) & 31;
3751
+ model.output[11 + model.outpos] = (model.input[1 + model.inpos] >>> 23) & 31;
3752
+ model.output[12 + model.outpos] =
3753
+ (model.input[1 + model.inpos] >>> 28) | ((model.input[2 + model.inpos] & 1) << (5 - 1));
3754
+ model.output[13 + model.outpos] = (model.input[2 + model.inpos] >>> 1) & 31;
3755
+ model.output[14 + model.outpos] = (model.input[2 + model.inpos] >>> 6) & 31;
3756
+ model.output[15 + model.outpos] = (model.input[2 + model.inpos] >>> 11) & 31;
3757
+ model.output[16 + model.outpos] = (model.input[2 + model.inpos] >>> 16) & 31;
3758
+ model.output[17 + model.outpos] = (model.input[2 + model.inpos] >>> 21) & 31;
3759
+ model.output[18 + model.outpos] = (model.input[2 + model.inpos] >>> 26) & 31;
3760
+ model.output[19 + model.outpos] =
3761
+ (model.input[2 + model.inpos] >>> 31) | ((model.input[3 + model.inpos] & 15) << (5 - 4));
3762
+ model.output[20 + model.outpos] = (model.input[3 + model.inpos] >>> 4) & 31;
3763
+ model.output[21 + model.outpos] = (model.input[3 + model.inpos] >>> 9) & 31;
3764
+ model.output[22 + model.outpos] = (model.input[3 + model.inpos] >>> 14) & 31;
3765
+ model.output[23 + model.outpos] = (model.input[3 + model.inpos] >>> 19) & 31;
3766
+ model.output[24 + model.outpos] = (model.input[3 + model.inpos] >>> 24) & 31;
3767
+ model.output[25 + model.outpos] =
3768
+ (model.input[3 + model.inpos] >>> 29) | ((model.input[4 + model.inpos] & 3) << (5 - 2));
3769
+ model.output[26 + model.outpos] = (model.input[4 + model.inpos] >>> 2) & 31;
3770
+ model.output[27 + model.outpos] = (model.input[4 + model.inpos] >>> 7) & 31;
3771
+ model.output[28 + model.outpos] = (model.input[4 + model.inpos] >>> 12) & 31;
3772
+ model.output[29 + model.outpos] = (model.input[4 + model.inpos] >>> 17) & 31;
3773
+ model.output[30 + model.outpos] = (model.input[4 + model.inpos] >>> 22) & 31;
3774
+ model.output[31 + model.outpos] = model.input[4 + model.inpos] >>> 27;
3775
+ }
3776
+ function fastunpack6(model) {
3777
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 63;
3778
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 6) & 63;
3779
+ model.output[2 + model.outpos] = (model.input[model.inpos] >>> 12) & 63;
3780
+ model.output[3 + model.outpos] = (model.input[model.inpos] >>> 18) & 63;
3781
+ model.output[4 + model.outpos] = (model.input[model.inpos] >>> 24) & 63;
3782
+ model.output[5 + model.outpos] =
3783
+ (model.input[model.inpos] >>> 30) | ((model.input[1 + model.inpos] & 15) << (6 - 4));
3784
+ model.output[6 + model.outpos] = (model.input[1 + model.inpos] >>> 4) & 63;
3785
+ model.output[7 + model.outpos] = (model.input[1 + model.inpos] >>> 10) & 63;
3786
+ model.output[8 + model.outpos] = (model.input[1 + model.inpos] >>> 16) & 63;
3787
+ model.output[9 + model.outpos] = (model.input[1 + model.inpos] >>> 22) & 63;
3788
+ model.output[10 + model.outpos] =
3789
+ (model.input[1 + model.inpos] >>> 28) | ((model.input[2 + model.inpos] & 3) << (6 - 2));
3790
+ model.output[11 + model.outpos] = (model.input[2 + model.inpos] >>> 2) & 63;
3791
+ model.output[12 + model.outpos] = (model.input[2 + model.inpos] >>> 8) & 63;
3792
+ model.output[13 + model.outpos] = (model.input[2 + model.inpos] >>> 14) & 63;
3793
+ model.output[14 + model.outpos] = (model.input[2 + model.inpos] >>> 20) & 63;
3794
+ model.output[15 + model.outpos] = model.input[2 + model.inpos] >>> 26;
3795
+ model.output[16 + model.outpos] = (model.input[3 + model.inpos] >>> 0) & 63;
3796
+ model.output[17 + model.outpos] = (model.input[3 + model.inpos] >>> 6) & 63;
3797
+ model.output[18 + model.outpos] = (model.input[3 + model.inpos] >>> 12) & 63;
3798
+ model.output[19 + model.outpos] = (model.input[3 + model.inpos] >>> 18) & 63;
3799
+ model.output[20 + model.outpos] = (model.input[3 + model.inpos] >>> 24) & 63;
3800
+ model.output[21 + model.outpos] =
3801
+ (model.input[3 + model.inpos] >>> 30) | ((model.input[4 + model.inpos] & 15) << (6 - 4));
3802
+ model.output[22 + model.outpos] = (model.input[4 + model.inpos] >>> 4) & 63;
3803
+ model.output[23 + model.outpos] = (model.input[4 + model.inpos] >>> 10) & 63;
3804
+ model.output[24 + model.outpos] = (model.input[4 + model.inpos] >>> 16) & 63;
3805
+ model.output[25 + model.outpos] = (model.input[4 + model.inpos] >>> 22) & 63;
3806
+ model.output[26 + model.outpos] =
3807
+ (model.input[4 + model.inpos] >>> 28) | ((model.input[5 + model.inpos] & 3) << (6 - 2));
3808
+ model.output[27 + model.outpos] = (model.input[5 + model.inpos] >>> 2) & 63;
3809
+ model.output[28 + model.outpos] = (model.input[5 + model.inpos] >>> 8) & 63;
3810
+ model.output[29 + model.outpos] = (model.input[5 + model.inpos] >>> 14) & 63;
3811
+ model.output[30 + model.outpos] = (model.input[5 + model.inpos] >>> 20) & 63;
3812
+ model.output[31 + model.outpos] = model.input[5 + model.inpos] >>> 26;
3813
+ }
3814
+ function fastunpack7(model) {
3815
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 127;
3816
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 7) & 127;
3817
+ model.output[2 + model.outpos] = (model.input[model.inpos] >>> 14) & 127;
3818
+ model.output[3 + model.outpos] = (model.input[model.inpos] >>> 21) & 127;
3819
+ model.output[4 + model.outpos] =
3820
+ (model.input[model.inpos] >>> 28) | ((model.input[1 + model.inpos] & 7) << (7 - 3));
3821
+ model.output[5 + model.outpos] = (model.input[1 + model.inpos] >>> 3) & 127;
3822
+ model.output[6 + model.outpos] = (model.input[1 + model.inpos] >>> 10) & 127;
3823
+ model.output[7 + model.outpos] = (model.input[1 + model.inpos] >>> 17) & 127;
3824
+ model.output[8 + model.outpos] = (model.input[1 + model.inpos] >>> 24) & 127;
3825
+ model.output[9 + model.outpos] =
3826
+ (model.input[1 + model.inpos] >>> 31) | ((model.input[2 + model.inpos] & 63) << (7 - 6));
3827
+ model.output[10 + model.outpos] = (model.input[2 + model.inpos] >>> 6) & 127;
3828
+ model.output[11 + model.outpos] = (model.input[2 + model.inpos] >>> 13) & 127;
3829
+ model.output[12 + model.outpos] = (model.input[2 + model.inpos] >>> 20) & 127;
3830
+ model.output[13 + model.outpos] =
3831
+ (model.input[2 + model.inpos] >>> 27) | ((model.input[3 + model.inpos] & 3) << (7 - 2));
3832
+ model.output[14 + model.outpos] = (model.input[3 + model.inpos] >>> 2) & 127;
3833
+ model.output[15 + model.outpos] = (model.input[3 + model.inpos] >>> 9) & 127;
3834
+ model.output[16 + model.outpos] = (model.input[3 + model.inpos] >>> 16) & 127;
3835
+ model.output[17 + model.outpos] = (model.input[3 + model.inpos] >>> 23) & 127;
3836
+ model.output[18 + model.outpos] =
3837
+ (model.input[3 + model.inpos] >>> 30) | ((model.input[4 + model.inpos] & 31) << (7 - 5));
3838
+ model.output[19 + model.outpos] = (model.input[4 + model.inpos] >>> 5) & 127;
3839
+ model.output[20 + model.outpos] = (model.input[4 + model.inpos] >>> 12) & 127;
3840
+ model.output[21 + model.outpos] = (model.input[4 + model.inpos] >>> 19) & 127;
3841
+ model.output[22 + model.outpos] =
3842
+ (model.input[4 + model.inpos] >>> 26) | ((model.input[5 + model.inpos] & 1) << (7 - 1));
3843
+ model.output[23 + model.outpos] = (model.input[5 + model.inpos] >>> 1) & 127;
3844
+ model.output[24 + model.outpos] = (model.input[5 + model.inpos] >>> 8) & 127;
3845
+ model.output[25 + model.outpos] = (model.input[5 + model.inpos] >>> 15) & 127;
3846
+ model.output[26 + model.outpos] = (model.input[5 + model.inpos] >>> 22) & 127;
3847
+ model.output[27 + model.outpos] =
3848
+ (model.input[5 + model.inpos] >>> 29) | ((model.input[6 + model.inpos] & 15) << (7 - 4));
3849
+ model.output[28 + model.outpos] = (model.input[6 + model.inpos] >>> 4) & 127;
3850
+ model.output[29 + model.outpos] = (model.input[6 + model.inpos] >>> 11) & 127;
3851
+ model.output[30 + model.outpos] = (model.input[6 + model.inpos] >>> 18) & 127;
3852
+ model.output[31 + model.outpos] = model.input[6 + model.inpos] >>> 25;
3853
+ }
3854
+ function fastunpack8(model) {
3855
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 255;
3856
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 8) & 255;
3857
+ model.output[2 + model.outpos] = (model.input[model.inpos] >>> 16) & 255;
3858
+ model.output[3 + model.outpos] = model.input[model.inpos] >>> 24;
3859
+ model.output[4 + model.outpos] = (model.input[1 + model.inpos] >>> 0) & 255;
3860
+ model.output[5 + model.outpos] = (model.input[1 + model.inpos] >>> 8) & 255;
3861
+ model.output[6 + model.outpos] = (model.input[1 + model.inpos] >>> 16) & 255;
3862
+ model.output[7 + model.outpos] = model.input[1 + model.inpos] >>> 24;
3863
+ model.output[8 + model.outpos] = (model.input[2 + model.inpos] >>> 0) & 255;
3864
+ model.output[9 + model.outpos] = (model.input[2 + model.inpos] >>> 8) & 255;
3865
+ model.output[10 + model.outpos] = (model.input[2 + model.inpos] >>> 16) & 255;
3866
+ model.output[11 + model.outpos] = model.input[2 + model.inpos] >>> 24;
3867
+ model.output[12 + model.outpos] = (model.input[3 + model.inpos] >>> 0) & 255;
3868
+ model.output[13 + model.outpos] = (model.input[3 + model.inpos] >>> 8) & 255;
3869
+ model.output[14 + model.outpos] = (model.input[3 + model.inpos] >>> 16) & 255;
3870
+ model.output[15 + model.outpos] = model.input[3 + model.inpos] >>> 24;
3871
+ model.output[16 + model.outpos] = (model.input[4 + model.inpos] >>> 0) & 255;
3872
+ model.output[17 + model.outpos] = (model.input[4 + model.inpos] >>> 8) & 255;
3873
+ model.output[18 + model.outpos] = (model.input[4 + model.inpos] >>> 16) & 255;
3874
+ model.output[19 + model.outpos] = model.input[4 + model.inpos] >>> 24;
3875
+ model.output[20 + model.outpos] = (model.input[5 + model.inpos] >>> 0) & 255;
3876
+ model.output[21 + model.outpos] = (model.input[5 + model.inpos] >>> 8) & 255;
3877
+ model.output[22 + model.outpos] = (model.input[5 + model.inpos] >>> 16) & 255;
3878
+ model.output[23 + model.outpos] = model.input[5 + model.inpos] >>> 24;
3879
+ model.output[24 + model.outpos] = (model.input[6 + model.inpos] >>> 0) & 255;
3880
+ model.output[25 + model.outpos] = (model.input[6 + model.inpos] >>> 8) & 255;
3881
+ model.output[26 + model.outpos] = (model.input[6 + model.inpos] >>> 16) & 255;
3882
+ model.output[27 + model.outpos] = model.input[6 + model.inpos] >>> 24;
3883
+ model.output[28 + model.outpos] = (model.input[7 + model.inpos] >>> 0) & 255;
3884
+ model.output[29 + model.outpos] = (model.input[7 + model.inpos] >>> 8) & 255;
3885
+ model.output[30 + model.outpos] = (model.input[7 + model.inpos] >>> 16) & 255;
3886
+ model.output[31 + model.outpos] = model.input[7 + model.inpos] >>> 24;
3887
+ }
3888
+ function fastunpack9(model) {
3889
+ model.output[model.outpos] = (model.input[model.inpos] >>> 0) & 511;
3890
+ model.output[1 + model.outpos] = (model.input[model.inpos] >>> 9) & 511;
3891
+ model.output[2 + model.outpos] = (model.input[model.inpos] >>> 18) & 511;
3892
+ model.output[3 + model.outpos] =
3893
+ (model.input[model.inpos] >>> 27) | ((model.input[1 + model.inpos] & 15) << (9 - 4));
3894
+ model.output[4 + model.outpos] = (model.input[1 + model.inpos] >>> 4) & 511;
3895
+ model.output[5 + model.outpos] = (model.input[1 + model.inpos] >>> 13) & 511;
3896
+ model.output[6 + model.outpos] = (model.input[1 + model.inpos] >>> 22) & 511;
3897
+ model.output[7 + model.outpos] =
3898
+ (model.input[1 + model.inpos] >>> 31) | ((model.input[2 + model.inpos] & 255) << (9 - 8));
3899
+ model.output[8 + model.outpos] = (model.input[2 + model.inpos] >>> 8) & 511;
3900
+ model.output[9 + model.outpos] = (model.input[2 + model.inpos] >>> 17) & 511;
3901
+ model.output[10 + model.outpos] =
3902
+ (model.input[2 + model.inpos] >>> 26) | ((model.input[3 + model.inpos] & 7) << (9 - 3));
3903
+ model.output[11 + model.outpos] = (model.input[3 + model.inpos] >>> 3) & 511;
3904
+ model.output[12 + model.outpos] = (model.input[3 + model.inpos] >>> 12) & 511;
3905
+ model.output[13 + model.outpos] = (model.input[3 + model.inpos] >>> 21) & 511;
3906
+ model.output[14 + model.outpos] =
3907
+ (model.input[3 + model.inpos] >>> 30) | ((model.input[4 + model.inpos] & 127) << (9 - 7));
3908
+ model.output[15 + model.outpos] = (model.input[4 + model.inpos] >>> 7) & 511;
3909
+ model.output[16 + model.outpos] = (model.input[4 + model.inpos] >>> 16) & 511;
3910
+ model.output[17 + model.outpos] =
3911
+ (model.input[4 + model.inpos] >>> 25) | ((model.input[5 + model.inpos] & 3) << (9 - 2));
3912
+ model.output[18 + model.outpos] = (model.input[5 + model.inpos] >>> 2) & 511;
3913
+ model.output[19 + model.outpos] = (model.input[5 + model.inpos] >>> 11) & 511;
3914
+ model.output[20 + model.outpos] = (model.input[5 + model.inpos] >>> 20) & 511;
3915
+ model.output[21 + model.outpos] =
3916
+ (model.input[5 + model.inpos] >>> 29) | ((model.input[6 + model.inpos] & 63) << (9 - 6));
3917
+ model.output[22 + model.outpos] = (model.input[6 + model.inpos] >>> 6) & 511;
3918
+ model.output[23 + model.outpos] = (model.input[6 + model.inpos] >>> 15) & 511;
3919
+ model.output[24 + model.outpos] =
3920
+ (model.input[6 + model.inpos] >>> 24) | ((model.input[7 + model.inpos] & 1) << (9 - 1));
3921
+ model.output[25 + model.outpos] = (model.input[7 + model.inpos] >>> 1) & 511;
3922
+ model.output[26 + model.outpos] = (model.input[7 + model.inpos] >>> 10) & 511;
3923
+ model.output[27 + model.outpos] = (model.input[7 + model.inpos] >>> 19) & 511;
3924
+ model.output[28 + model.outpos] =
3925
+ (model.input[7 + model.inpos] >>> 28) | ((model.input[8 + model.inpos] & 31) << (9 - 5));
3926
+ model.output[29 + model.outpos] = (model.input[8 + model.inpos] >>> 5) & 511;
3927
+ model.output[30 + model.outpos] = (model.input[8 + model.inpos] >>> 14) & 511;
3928
+ model.output[31 + model.outpos] = model.input[8 + model.inpos] >>> 23;
3929
+ }
3930
+ //# sourceMappingURL=bitpacking.js.map