@maplibre/mlt 0.0.1-alpha.9 → 1.0.0

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 (253) hide show
  1. package/dist/{encodings → decoding}/decodingUtils.js +18 -33
  2. package/dist/decoding/decodingUtils.js.map +1 -0
  3. package/dist/decoding/decodingUtils.spec.d.ts +1 -0
  4. package/dist/decoding/decodingUtils.spec.js +125 -0
  5. package/dist/decoding/decodingUtils.spec.js.map +1 -0
  6. package/dist/{encodings → decoding}/fsstDecoder.js +1 -4
  7. package/dist/decoding/fsstDecoder.js.map +1 -0
  8. package/dist/decoding/fsstDecoder.spec.d.ts +1 -0
  9. package/dist/decoding/fsstDecoder.spec.js +36 -0
  10. package/dist/decoding/fsstDecoder.spec.js.map +1 -0
  11. package/dist/{encodings → decoding}/geometryDecoder.js +65 -71
  12. package/dist/decoding/geometryDecoder.js.map +1 -0
  13. package/dist/decoding/geometryDecoder.spec.d.ts +1 -0
  14. package/dist/decoding/geometryDecoder.spec.js +5 -0
  15. package/dist/decoding/geometryDecoder.spec.js.map +1 -0
  16. package/dist/decoding/geometryScaling.js +2 -0
  17. package/dist/decoding/geometryScaling.js.map +1 -0
  18. package/dist/{encodings → decoding}/intWrapper.js +2 -4
  19. package/dist/decoding/intWrapper.js.map +1 -0
  20. package/dist/{encodings → decoding}/integerDecodingUtils.d.ts +13 -0
  21. package/dist/{encodings → decoding}/integerDecodingUtils.js +89 -88
  22. package/dist/decoding/integerDecodingUtils.js.map +1 -0
  23. package/dist/decoding/integerDecodingUtils.spec.d.ts +1 -0
  24. package/dist/decoding/integerDecodingUtils.spec.js +194 -0
  25. package/dist/decoding/integerDecodingUtils.spec.js.map +1 -0
  26. package/dist/{encodings → decoding}/integerStreamDecoder.d.ts +1 -1
  27. package/dist/decoding/integerStreamDecoder.js +263 -0
  28. package/dist/decoding/integerStreamDecoder.js.map +1 -0
  29. package/dist/decoding/integerStreamDecoder.spec.d.ts +1 -0
  30. package/dist/decoding/integerStreamDecoder.spec.js +125 -0
  31. package/dist/decoding/integerStreamDecoder.spec.js.map +1 -0
  32. package/dist/{encodings → decoding}/propertyDecoder.d.ts +1 -1
  33. package/dist/decoding/propertyDecoder.js +140 -0
  34. package/dist/decoding/propertyDecoder.js.map +1 -0
  35. package/dist/decoding/propertyDecoder.spec.d.ts +1 -0
  36. package/dist/decoding/propertyDecoder.spec.js +682 -0
  37. package/dist/decoding/propertyDecoder.spec.js.map +1 -0
  38. package/dist/{encodings → decoding}/stringDecoder.d.ts +1 -1
  39. package/dist/decoding/stringDecoder.js +142 -0
  40. package/dist/decoding/stringDecoder.js.map +1 -0
  41. package/dist/decoding/stringDecoder.spec.d.ts +1 -0
  42. package/dist/decoding/stringDecoder.spec.js +311 -0
  43. package/dist/decoding/stringDecoder.spec.js.map +1 -0
  44. package/dist/index.d.ts +2 -4
  45. package/dist/index.js +5 -20
  46. package/dist/index.js.map +1 -1
  47. package/dist/metadata/tile/dictionaryType.js +2 -5
  48. package/dist/metadata/tile/dictionaryType.js.map +1 -1
  49. package/dist/metadata/tile/lengthType.js +2 -5
  50. package/dist/metadata/tile/lengthType.js.map +1 -1
  51. package/dist/metadata/tile/logicalLevelTechnique.js +2 -5
  52. package/dist/metadata/tile/logicalLevelTechnique.js.map +1 -1
  53. package/dist/metadata/tile/logicalStreamType.js +4 -5
  54. package/dist/metadata/tile/logicalStreamType.js.map +1 -1
  55. package/dist/metadata/tile/mortonEncodedStreamMetadata.d.ts +1 -1
  56. package/dist/metadata/tile/mortonEncodedStreamMetadata.js +8 -10
  57. package/dist/metadata/tile/mortonEncodedStreamMetadata.js.map +1 -1
  58. package/dist/metadata/tile/offsetType.js +2 -5
  59. package/dist/metadata/tile/offsetType.js.map +1 -1
  60. package/dist/metadata/tile/physicalLevelTechnique.js +2 -5
  61. package/dist/metadata/tile/physicalLevelTechnique.js.map +1 -1
  62. package/dist/metadata/tile/physicalStreamType.js +2 -5
  63. package/dist/metadata/tile/physicalStreamType.js.map +1 -1
  64. package/dist/metadata/tile/rleEncodedStreamMetadata.d.ts +5 -1
  65. package/dist/metadata/tile/rleEncodedStreamMetadata.js +14 -10
  66. package/dist/metadata/tile/rleEncodedStreamMetadata.js.map +1 -1
  67. package/dist/metadata/tile/scalarType.js +2 -5
  68. package/dist/metadata/tile/scalarType.js.map +1 -1
  69. package/dist/metadata/tile/streamMetadata.d.ts +7 -1
  70. package/dist/metadata/tile/streamMetadata.js +35 -24
  71. package/dist/metadata/tile/streamMetadata.js.map +1 -1
  72. package/dist/metadata/tile/streamMetadataDecoder.d.ts +1 -1
  73. package/dist/metadata/tile/streamMetadataDecoder.js +13 -17
  74. package/dist/metadata/tile/streamMetadataDecoder.js.map +1 -1
  75. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.d.ts +2 -2
  76. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js +40 -32
  77. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js.map +1 -1
  78. package/dist/metadata/tileset/tilesetMetadata.d.ts +80 -0
  79. package/dist/metadata/tileset/tilesetMetadata.js +29 -0
  80. package/dist/metadata/tileset/tilesetMetadata.js.map +1 -0
  81. package/dist/metadata/tileset/typeMap.d.ts +1 -1
  82. package/dist/metadata/tileset/typeMap.js +63 -59
  83. package/dist/metadata/tileset/typeMap.js.map +1 -1
  84. package/dist/mltDecoder.d.ts +1 -1
  85. package/dist/mltDecoder.js +58 -64
  86. package/dist/mltDecoder.js.map +1 -1
  87. package/dist/mltDecoder.spec.d.ts +1 -0
  88. package/dist/mltDecoder.spec.js +152 -0
  89. package/dist/mltDecoder.spec.js.map +1 -0
  90. package/dist/mltMetadata.js +4 -7
  91. package/dist/mltMetadata.js.map +1 -1
  92. package/dist/vector/constant/intConstVector.d.ts +0 -13
  93. package/dist/vector/constant/intConstVector.js +2 -82
  94. package/dist/vector/constant/intConstVector.js.map +1 -1
  95. package/dist/vector/constant/longConstVector.d.ts +0 -13
  96. package/dist/vector/constant/longConstVector.js +2 -80
  97. package/dist/vector/constant/longConstVector.js.map +1 -1
  98. package/dist/vector/dictionary/stringDictionaryVector.d.ts +0 -14
  99. package/dist/vector/dictionary/stringDictionaryVector.js +6 -178
  100. package/dist/vector/dictionary/stringDictionaryVector.js.map +1 -1
  101. package/dist/vector/featureTable.d.ts +7 -2
  102. package/dist/vector/featureTable.js +45 -11
  103. package/dist/vector/featureTable.js.map +1 -1
  104. package/dist/vector/fixedSizeVector.js +2 -9
  105. package/dist/vector/fixedSizeVector.js.map +1 -1
  106. package/dist/vector/flat/bitVector.js +3 -4
  107. package/dist/vector/flat/bitVector.js.map +1 -1
  108. package/dist/vector/flat/booleanFlatVector.d.ts +0 -13
  109. package/dist/vector/flat/booleanFlatVector.js +3 -45
  110. package/dist/vector/flat/booleanFlatVector.js.map +1 -1
  111. package/dist/vector/flat/doubleFlatVector.d.ts +0 -13
  112. package/dist/vector/flat/doubleFlatVector.js +2 -104
  113. package/dist/vector/flat/doubleFlatVector.js.map +1 -1
  114. package/dist/vector/flat/floatFlatVector.d.ts +0 -13
  115. package/dist/vector/flat/floatFlatVector.js +2 -104
  116. package/dist/vector/flat/floatFlatVector.js.map +1 -1
  117. package/dist/vector/flat/floatFlatVector.spec.d.ts +1 -0
  118. package/dist/vector/flat/floatFlatVector.spec.js +14 -0
  119. package/dist/vector/flat/floatFlatVector.spec.js.map +1 -0
  120. package/dist/vector/flat/intFlatVector.d.ts +0 -13
  121. package/dist/vector/flat/intFlatVector.js +2 -117
  122. package/dist/vector/flat/intFlatVector.js.map +1 -1
  123. package/dist/vector/flat/intFlatVector.spec.d.ts +1 -0
  124. package/dist/vector/flat/intFlatVector.spec.js +15 -0
  125. package/dist/vector/flat/intFlatVector.spec.js.map +1 -0
  126. package/dist/vector/flat/longFlatVector.d.ts +0 -13
  127. package/dist/vector/flat/longFlatVector.js +2 -118
  128. package/dist/vector/flat/longFlatVector.js.map +1 -1
  129. package/dist/vector/flat/longFlatVector.spec.d.ts +1 -0
  130. package/dist/vector/flat/longFlatVector.spec.js +14 -0
  131. package/dist/vector/flat/longFlatVector.spec.js.map +1 -0
  132. package/dist/vector/flat/stringFlatVector.d.ts +0 -13
  133. package/dist/vector/flat/stringFlatVector.js +5 -166
  134. package/dist/vector/flat/stringFlatVector.js.map +1 -1
  135. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.d.ts +0 -13
  136. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js +14 -51
  137. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js.map +1 -1
  138. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.d.ts +1 -0
  139. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js +28 -0
  140. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js.map +1 -0
  141. package/dist/vector/geometry/constGeometryVector.d.ts +0 -4
  142. package/dist/vector/geometry/constGeometryVector.js +9 -30
  143. package/dist/vector/geometry/constGeometryVector.js.map +1 -1
  144. package/dist/vector/geometry/constGpuVector.d.ts +0 -4
  145. package/dist/vector/geometry/constGpuVector.js +4 -25
  146. package/dist/vector/geometry/constGpuVector.js.map +1 -1
  147. package/dist/vector/geometry/flatGeometryVector.d.ts +0 -4
  148. package/dist/vector/geometry/flatGeometryVector.js +8 -35
  149. package/dist/vector/geometry/flatGeometryVector.js.map +1 -1
  150. package/dist/vector/geometry/flatGpuVector.d.ts +0 -4
  151. package/dist/vector/geometry/flatGpuVector.js +3 -29
  152. package/dist/vector/geometry/flatGpuVector.js.map +1 -1
  153. package/dist/vector/geometry/geometryType.js +4 -7
  154. package/dist/vector/geometry/geometryType.js.map +1 -1
  155. package/dist/vector/geometry/geometryVector.d.ts +2 -5
  156. package/dist/vector/geometry/geometryVector.js +11 -13
  157. package/dist/vector/geometry/geometryVector.js.map +1 -1
  158. package/dist/vector/geometry/geometryVectorConverter.js +28 -34
  159. package/dist/vector/geometry/geometryVectorConverter.js.map +1 -1
  160. package/dist/vector/geometry/gpuVector.d.ts +5 -4
  161. package/dist/vector/geometry/gpuVector.js +89 -5
  162. package/dist/vector/geometry/gpuVector.js.map +1 -1
  163. package/dist/vector/geometry/spaceFillingCurve.js +6 -4
  164. package/dist/vector/geometry/spaceFillingCurve.js.map +1 -1
  165. package/dist/vector/geometry/topologyVector.js +4 -4
  166. package/dist/vector/geometry/topologyVector.js.map +1 -1
  167. package/dist/vector/geometry/vertexBufferType.js +2 -5
  168. package/dist/vector/geometry/vertexBufferType.js.map +1 -1
  169. package/dist/vector/geometry/zOrderCurve.js +2 -8
  170. package/dist/vector/geometry/zOrderCurve.js.map +1 -1
  171. package/dist/vector/geometry/zOrderCurve.spec.d.ts +1 -0
  172. package/dist/vector/geometry/zOrderCurve.spec.js +14 -0
  173. package/dist/vector/geometry/zOrderCurve.spec.js.map +1 -0
  174. package/dist/vector/intVector.js +1 -2
  175. package/dist/vector/sequence/intSequenceVector.d.ts +0 -13
  176. package/dist/vector/sequence/intSequenceVector.js +2 -64
  177. package/dist/vector/sequence/intSequenceVector.js.map +1 -1
  178. package/dist/vector/sequence/longSequenceVector.d.ts +0 -13
  179. package/dist/vector/sequence/longSequenceVector.js +2 -49
  180. package/dist/vector/sequence/longSequenceVector.js.map +1 -1
  181. package/dist/vector/sequence/longSequenceVektor.spec.d.ts +1 -0
  182. package/dist/vector/sequence/longSequenceVektor.spec.js +11 -0
  183. package/dist/vector/sequence/longSequenceVektor.spec.js.map +1 -0
  184. package/dist/vector/sequence/sequenceVector.js +3 -9
  185. package/dist/vector/sequence/sequenceVector.js.map +1 -1
  186. package/dist/vector/variableSizeVector.js +3 -9
  187. package/dist/vector/variableSizeVector.js.map +1 -1
  188. package/dist/vector/vector.d.ts +0 -17
  189. package/dist/vector/vector.js +5 -47
  190. package/dist/vector/vector.js.map +1 -1
  191. package/dist/vector/vectorType.js +2 -5
  192. package/dist/vector/vectorType.js.map +1 -1
  193. package/package.json +10 -31
  194. package/dist/encodings/decodingUtils.js.map +0 -1
  195. package/dist/encodings/doubleDecoder.d.ts +0 -4
  196. package/dist/encodings/doubleDecoder.js +0 -22
  197. package/dist/encodings/doubleDecoder.js.map +0 -1
  198. package/dist/encodings/fastpfor/bitpacking.d.ts +0 -51
  199. package/dist/encodings/fastpfor/bitpacking.js +0 -3930
  200. package/dist/encodings/fastpfor/bitpacking.js.map +0 -1
  201. package/dist/encodings/fastpfor/codec.d.ts +0 -19
  202. package/dist/encodings/fastpfor/codec.js +0 -3
  203. package/dist/encodings/fastpfor/codec.js.map +0 -1
  204. package/dist/encodings/fastpfor/fastpfor.d.ts +0 -38
  205. package/dist/encodings/fastpfor/fastpfor.js +0 -146
  206. package/dist/encodings/fastpfor/fastpfor.js.map +0 -1
  207. package/dist/encodings/fastpfor/index.d.ts +0 -20
  208. package/dist/encodings/fastpfor/index.js +0 -47
  209. package/dist/encodings/fastpfor/index.js.map +0 -1
  210. package/dist/encodings/fastpfor/util.d.ts +0 -2
  211. package/dist/encodings/fastpfor/util.js +0 -16
  212. package/dist/encodings/fastpfor/util.js.map +0 -1
  213. package/dist/encodings/fastpfor/varint.d.ts +0 -18
  214. package/dist/encodings/fastpfor/varint.js +0 -125
  215. package/dist/encodings/fastpfor/varint.js.map +0 -1
  216. package/dist/encodings/fsstDecoder.js.map +0 -1
  217. package/dist/encodings/geometryDecoder.js.map +0 -1
  218. package/dist/encodings/geometryScaling.js +0 -3
  219. package/dist/encodings/geometryScaling.js.map +0 -1
  220. package/dist/encodings/intWrapper.js.map +0 -1
  221. package/dist/encodings/integerDecodingUtils.js.map +0 -1
  222. package/dist/encodings/integerStreamDecoder.js +0 -249
  223. package/dist/encodings/integerStreamDecoder.js.map +0 -1
  224. package/dist/encodings/propertyDecoder.js +0 -146
  225. package/dist/encodings/propertyDecoder.js.map +0 -1
  226. package/dist/encodings/stringDecoder.js +0 -149
  227. package/dist/encodings/stringDecoder.js.map +0 -1
  228. package/dist/metadata/tileset/tilesetMetadata.g.d.ts +0 -418
  229. package/dist/metadata/tileset/tilesetMetadata.g.js +0 -476
  230. package/dist/metadata/tileset/tilesetMetadata.g.js.map +0 -1
  231. package/dist/vector/filter/constSelectionVector.d.ts +0 -0
  232. package/dist/vector/filter/constSelectionVector.js +0 -1
  233. package/dist/vector/filter/constSelectionVector.js.map +0 -1
  234. package/dist/vector/filter/flatSelectionVector.d.ts +0 -16
  235. package/dist/vector/filter/flatSelectionVector.js +0 -42
  236. package/dist/vector/filter/flatSelectionVector.js.map +0 -1
  237. package/dist/vector/filter/selectionVector.d.ts +0 -8
  238. package/dist/vector/filter/selectionVector.js +0 -3
  239. package/dist/vector/filter/selectionVector.js.map +0 -1
  240. package/dist/vector/filter/selectionVectorUtils.d.ts +0 -7
  241. package/dist/vector/filter/selectionVectorUtils.js +0 -44
  242. package/dist/vector/filter/selectionVectorUtils.js.map +0 -1
  243. package/dist/vector/filter/sequenceSelectionVector.d.ts +0 -0
  244. package/dist/vector/filter/sequenceSelectionVector.js +0 -1
  245. package/dist/vector/filter/sequenceSelectionVector.js.map +0 -1
  246. package/dist/vector/geometry/point.d.ts +0 -195
  247. package/dist/vector/geometry/point.js +0 -308
  248. package/dist/vector/geometry/point.js.map +0 -1
  249. /package/dist/{encodings → decoding}/decodingUtils.d.ts +0 -0
  250. /package/dist/{encodings → decoding}/fsstDecoder.d.ts +0 -0
  251. /package/dist/{encodings → decoding}/geometryDecoder.d.ts +0 -0
  252. /package/dist/{encodings → decoding}/geometryScaling.d.ts +0 -0
  253. /package/dist/{encodings → decoding}/intWrapper.d.ts +0 -0
@@ -1,3930 +0,0 @@
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