@maplibre/mlt 0.0.1-alpha.7 → 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 (256) 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 +83 -101
  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 +127 -130
  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 +5 -4
  45. package/dist/index.js +5 -18
  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.d.ts +3 -3
  54. package/dist/metadata/tile/logicalStreamType.js +4 -5
  55. package/dist/metadata/tile/logicalStreamType.js.map +1 -1
  56. package/dist/metadata/tile/mortonEncodedStreamMetadata.d.ts +6 -6
  57. package/dist/metadata/tile/mortonEncodedStreamMetadata.js +8 -10
  58. package/dist/metadata/tile/mortonEncodedStreamMetadata.js.map +1 -1
  59. package/dist/metadata/tile/offsetType.js +2 -5
  60. package/dist/metadata/tile/offsetType.js.map +1 -1
  61. package/dist/metadata/tile/physicalLevelTechnique.js +2 -5
  62. package/dist/metadata/tile/physicalLevelTechnique.js.map +1 -1
  63. package/dist/metadata/tile/physicalStreamType.js +2 -5
  64. package/dist/metadata/tile/physicalStreamType.js.map +1 -1
  65. package/dist/metadata/tile/rleEncodedStreamMetadata.d.ts +10 -6
  66. package/dist/metadata/tile/rleEncodedStreamMetadata.js +14 -10
  67. package/dist/metadata/tile/rleEncodedStreamMetadata.js.map +1 -1
  68. package/dist/metadata/tile/scalarType.js +2 -5
  69. package/dist/metadata/tile/scalarType.js.map +1 -1
  70. package/dist/metadata/tile/streamMetadata.d.ts +11 -5
  71. package/dist/metadata/tile/streamMetadata.js +35 -24
  72. package/dist/metadata/tile/streamMetadata.js.map +1 -1
  73. package/dist/metadata/tile/streamMetadataDecoder.d.ts +2 -2
  74. package/dist/metadata/tile/streamMetadataDecoder.js +13 -17
  75. package/dist/metadata/tile/streamMetadataDecoder.js.map +1 -1
  76. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.d.ts +2 -2
  77. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js +40 -32
  78. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js.map +1 -1
  79. package/dist/metadata/tileset/tilesetMetadata.d.ts +80 -0
  80. package/dist/metadata/tileset/tilesetMetadata.js +29 -0
  81. package/dist/metadata/tileset/tilesetMetadata.js.map +1 -0
  82. package/dist/metadata/tileset/typeMap.d.ts +1 -1
  83. package/dist/metadata/tileset/typeMap.js +63 -59
  84. package/dist/metadata/tileset/typeMap.js.map +1 -1
  85. package/dist/mltDecoder.d.ts +1 -1
  86. package/dist/mltDecoder.js +58 -64
  87. package/dist/mltDecoder.js.map +1 -1
  88. package/dist/mltDecoder.spec.d.ts +1 -0
  89. package/dist/mltDecoder.spec.js +152 -0
  90. package/dist/mltDecoder.spec.js.map +1 -0
  91. package/dist/mltMetadata.js +4 -7
  92. package/dist/mltMetadata.js.map +1 -1
  93. package/dist/vector/constant/intConstVector.d.ts +0 -13
  94. package/dist/vector/constant/intConstVector.js +2 -81
  95. package/dist/vector/constant/intConstVector.js.map +1 -1
  96. package/dist/vector/constant/longConstVector.d.ts +0 -13
  97. package/dist/vector/constant/longConstVector.js +2 -79
  98. package/dist/vector/constant/longConstVector.js.map +1 -1
  99. package/dist/vector/dictionary/stringDictionaryVector.d.ts +0 -14
  100. package/dist/vector/dictionary/stringDictionaryVector.js +6 -167
  101. package/dist/vector/dictionary/stringDictionaryVector.js.map +1 -1
  102. package/dist/vector/featureTable.d.ts +4 -0
  103. package/dist/vector/featureTable.js +48 -12
  104. package/dist/vector/featureTable.js.map +1 -1
  105. package/dist/vector/fixedSizeVector.js +2 -9
  106. package/dist/vector/fixedSizeVector.js.map +1 -1
  107. package/dist/vector/flat/bitVector.js +3 -4
  108. package/dist/vector/flat/bitVector.js.map +1 -1
  109. package/dist/vector/flat/booleanFlatVector.d.ts +0 -13
  110. package/dist/vector/flat/booleanFlatVector.js +3 -46
  111. package/dist/vector/flat/booleanFlatVector.js.map +1 -1
  112. package/dist/vector/flat/doubleFlatVector.d.ts +0 -13
  113. package/dist/vector/flat/doubleFlatVector.js +2 -101
  114. package/dist/vector/flat/doubleFlatVector.js.map +1 -1
  115. package/dist/vector/flat/floatFlatVector.d.ts +0 -13
  116. package/dist/vector/flat/floatFlatVector.js +2 -101
  117. package/dist/vector/flat/floatFlatVector.js.map +1 -1
  118. package/dist/vector/flat/floatFlatVector.spec.d.ts +1 -0
  119. package/dist/vector/flat/floatFlatVector.spec.js +14 -0
  120. package/dist/vector/flat/floatFlatVector.spec.js.map +1 -0
  121. package/dist/vector/flat/intFlatVector.d.ts +0 -13
  122. package/dist/vector/flat/intFlatVector.js +2 -115
  123. package/dist/vector/flat/intFlatVector.js.map +1 -1
  124. package/dist/vector/flat/intFlatVector.spec.d.ts +1 -0
  125. package/dist/vector/flat/intFlatVector.spec.js +15 -0
  126. package/dist/vector/flat/intFlatVector.spec.js.map +1 -0
  127. package/dist/vector/flat/longFlatVector.d.ts +0 -13
  128. package/dist/vector/flat/longFlatVector.js +2 -116
  129. package/dist/vector/flat/longFlatVector.js.map +1 -1
  130. package/dist/vector/flat/longFlatVector.spec.d.ts +1 -0
  131. package/dist/vector/flat/longFlatVector.spec.js +14 -0
  132. package/dist/vector/flat/longFlatVector.spec.js.map +1 -0
  133. package/dist/vector/flat/stringFlatVector.d.ts +0 -13
  134. package/dist/vector/flat/stringFlatVector.js +5 -155
  135. package/dist/vector/flat/stringFlatVector.js.map +1 -1
  136. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.d.ts +0 -13
  137. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js +14 -51
  138. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js.map +1 -1
  139. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.d.ts +1 -0
  140. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js +28 -0
  141. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js.map +1 -0
  142. package/dist/vector/geometry/constGeometryVector.d.ts +0 -4
  143. package/dist/vector/geometry/constGeometryVector.js +9 -30
  144. package/dist/vector/geometry/constGeometryVector.js.map +1 -1
  145. package/dist/vector/geometry/constGpuVector.d.ts +0 -4
  146. package/dist/vector/geometry/constGpuVector.js +4 -25
  147. package/dist/vector/geometry/constGpuVector.js.map +1 -1
  148. package/dist/vector/geometry/flatGeometryVector.d.ts +0 -4
  149. package/dist/vector/geometry/flatGeometryVector.js +8 -36
  150. package/dist/vector/geometry/flatGeometryVector.js.map +1 -1
  151. package/dist/vector/geometry/flatGpuVector.d.ts +0 -4
  152. package/dist/vector/geometry/flatGpuVector.js +3 -29
  153. package/dist/vector/geometry/flatGpuVector.js.map +1 -1
  154. package/dist/vector/geometry/geometryType.js +4 -7
  155. package/dist/vector/geometry/geometryType.js.map +1 -1
  156. package/dist/vector/geometry/geometryVector.d.ts +8 -7
  157. package/dist/vector/geometry/geometryVector.js +13 -14
  158. package/dist/vector/geometry/geometryVector.js.map +1 -1
  159. package/dist/vector/geometry/geometryVectorConverter.d.ts +2 -2
  160. package/dist/vector/geometry/geometryVectorConverter.js +38 -41
  161. package/dist/vector/geometry/geometryVectorConverter.js.map +1 -1
  162. package/dist/vector/geometry/gpuVector.d.ts +8 -7
  163. package/dist/vector/geometry/gpuVector.js +97 -13
  164. package/dist/vector/geometry/gpuVector.js.map +1 -1
  165. package/dist/vector/geometry/spaceFillingCurve.js +10 -5
  166. package/dist/vector/geometry/spaceFillingCurve.js.map +1 -1
  167. package/dist/vector/geometry/topologyVector.js +4 -4
  168. package/dist/vector/geometry/topologyVector.js.map +1 -1
  169. package/dist/vector/geometry/vertexBufferType.js +2 -5
  170. package/dist/vector/geometry/vertexBufferType.js.map +1 -1
  171. package/dist/vector/geometry/zOrderCurve.d.ts +1 -1
  172. package/dist/vector/geometry/zOrderCurve.js +3 -9
  173. package/dist/vector/geometry/zOrderCurve.js.map +1 -1
  174. package/dist/vector/geometry/zOrderCurve.spec.d.ts +1 -0
  175. package/dist/vector/geometry/zOrderCurve.spec.js +14 -0
  176. package/dist/vector/geometry/zOrderCurve.spec.js.map +1 -0
  177. package/dist/vector/intVector.js +1 -2
  178. package/dist/vector/sequence/intSequenceVector.d.ts +0 -13
  179. package/dist/vector/sequence/intSequenceVector.js +2 -64
  180. package/dist/vector/sequence/intSequenceVector.js.map +1 -1
  181. package/dist/vector/sequence/longSequenceVector.d.ts +0 -13
  182. package/dist/vector/sequence/longSequenceVector.js +2 -49
  183. package/dist/vector/sequence/longSequenceVector.js.map +1 -1
  184. package/dist/vector/sequence/longSequenceVektor.spec.d.ts +1 -0
  185. package/dist/vector/sequence/longSequenceVektor.spec.js +11 -0
  186. package/dist/vector/sequence/longSequenceVektor.spec.js.map +1 -0
  187. package/dist/vector/sequence/sequenceVector.js +3 -9
  188. package/dist/vector/sequence/sequenceVector.js.map +1 -1
  189. package/dist/vector/variableSizeVector.js +3 -9
  190. package/dist/vector/variableSizeVector.js.map +1 -1
  191. package/dist/vector/vector.d.ts +0 -17
  192. package/dist/vector/vector.js +6 -49
  193. package/dist/vector/vector.js.map +1 -1
  194. package/dist/vector/vectorType.js +2 -5
  195. package/dist/vector/vectorType.js.map +1 -1
  196. package/package.json +10 -31
  197. package/dist/encodings/decodingUtils.js.map +0 -1
  198. package/dist/encodings/doubleDecoder.d.ts +0 -4
  199. package/dist/encodings/doubleDecoder.js +0 -22
  200. package/dist/encodings/doubleDecoder.js.map +0 -1
  201. package/dist/encodings/fastpfor/bitpacking.d.ts +0 -51
  202. package/dist/encodings/fastpfor/bitpacking.js +0 -4444
  203. package/dist/encodings/fastpfor/bitpacking.js.map +0 -1
  204. package/dist/encodings/fastpfor/codec.d.ts +0 -19
  205. package/dist/encodings/fastpfor/codec.js +0 -3
  206. package/dist/encodings/fastpfor/codec.js.map +0 -1
  207. package/dist/encodings/fastpfor/fastpfor.d.ts +0 -38
  208. package/dist/encodings/fastpfor/fastpfor.js +0 -123
  209. package/dist/encodings/fastpfor/fastpfor.js.map +0 -1
  210. package/dist/encodings/fastpfor/index.d.ts +0 -20
  211. package/dist/encodings/fastpfor/index.js +0 -47
  212. package/dist/encodings/fastpfor/index.js.map +0 -1
  213. package/dist/encodings/fastpfor/util.d.ts +0 -2
  214. package/dist/encodings/fastpfor/util.js +0 -16
  215. package/dist/encodings/fastpfor/util.js.map +0 -1
  216. package/dist/encodings/fastpfor/varint.d.ts +0 -18
  217. package/dist/encodings/fastpfor/varint.js +0 -125
  218. package/dist/encodings/fastpfor/varint.js.map +0 -1
  219. package/dist/encodings/fsstDecoder.js.map +0 -1
  220. package/dist/encodings/geometryDecoder.js.map +0 -1
  221. package/dist/encodings/geometryScaling.js +0 -3
  222. package/dist/encodings/geometryScaling.js.map +0 -1
  223. package/dist/encodings/intWrapper.js.map +0 -1
  224. package/dist/encodings/integerDecodingUtils.js.map +0 -1
  225. package/dist/encodings/integerStreamDecoder.js +0 -254
  226. package/dist/encodings/integerStreamDecoder.js.map +0 -1
  227. package/dist/encodings/propertyDecoder.js +0 -146
  228. package/dist/encodings/propertyDecoder.js.map +0 -1
  229. package/dist/encodings/stringDecoder.js +0 -147
  230. package/dist/encodings/stringDecoder.js.map +0 -1
  231. package/dist/metadata/tileset/tilesetMetadata.g.d.ts +0 -418
  232. package/dist/metadata/tileset/tilesetMetadata.g.js +0 -476
  233. package/dist/metadata/tileset/tilesetMetadata.g.js.map +0 -1
  234. package/dist/vector/filter/constSelectionVector.d.ts +0 -0
  235. package/dist/vector/filter/constSelectionVector.js +0 -1
  236. package/dist/vector/filter/constSelectionVector.js.map +0 -1
  237. package/dist/vector/filter/flatSelectionVector.d.ts +0 -16
  238. package/dist/vector/filter/flatSelectionVector.js +0 -42
  239. package/dist/vector/filter/flatSelectionVector.js.map +0 -1
  240. package/dist/vector/filter/selectionVector.d.ts +0 -8
  241. package/dist/vector/filter/selectionVector.js +0 -3
  242. package/dist/vector/filter/selectionVector.js.map +0 -1
  243. package/dist/vector/filter/selectionVectorUtils.d.ts +0 -7
  244. package/dist/vector/filter/selectionVectorUtils.js +0 -44
  245. package/dist/vector/filter/selectionVectorUtils.js.map +0 -1
  246. package/dist/vector/filter/sequenceSelectionVector.d.ts +0 -0
  247. package/dist/vector/filter/sequenceSelectionVector.js +0 -1
  248. package/dist/vector/filter/sequenceSelectionVector.js.map +0 -1
  249. package/dist/vector/geometry/point.d.ts +0 -195
  250. package/dist/vector/geometry/point.js +0 -283
  251. package/dist/vector/geometry/point.js.map +0 -1
  252. /package/dist/{encodings → decoding}/decodingUtils.d.ts +0 -0
  253. /package/dist/{encodings → decoding}/fsstDecoder.d.ts +0 -0
  254. /package/dist/{encodings → decoding}/geometryDecoder.d.ts +0 -0
  255. /package/dist/{encodings → decoding}/geometryScaling.d.ts +0 -0
  256. /package/dist/{encodings → decoding}/intWrapper.d.ts +0 -0
@@ -1,50 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.decodeVarintInt32 = decodeVarintInt32;
4
- exports.decodeVarintInt64 = decodeVarintInt64;
5
- exports.decodeVarintFloat64 = decodeVarintFloat64;
6
- exports.decodeFastPfor = decodeFastPfor;
7
- exports.decodeZigZag = decodeZigZag;
8
- exports.decodeZigZagInt64 = decodeZigZagInt64;
9
- exports.decodeZigZagFloat64 = decodeZigZagFloat64;
10
- exports.decodeZigZagValue = decodeZigZagValue;
11
- exports.decodeZigZagValueInt64 = decodeZigZagValueInt64;
12
- exports.decodeRle = decodeRle;
13
- exports.decodeRleInt64 = decodeRleInt64;
14
- exports.decodeRleFloat64 = decodeRleFloat64;
15
- exports.decodeUnsignedRle = decodeUnsignedRle;
16
- exports.decodeUnsignedRleInt64 = decodeUnsignedRleInt64;
17
- exports.decodeUnsignedRleFloat64 = decodeUnsignedRleFloat64;
18
- exports.decodeZigZagDelta = decodeZigZagDelta;
19
- exports.decodeZigZagDeltaInt64 = decodeZigZagDeltaInt64;
20
- exports.decodeZigZagDeltaFloat64 = decodeZigZagDeltaFloat64;
21
- exports.decodeZigZagRle = decodeZigZagRle;
22
- exports.decodeZigZagRleInt64 = decodeZigZagRleInt64;
23
- exports.decodeZigZagRleFloat64 = decodeZigZagRleFloat64;
24
- exports.fastInverseDelta = fastInverseDelta;
25
- exports.inverseDelta = inverseDelta;
26
- exports.decodeComponentwiseDeltaVec2 = decodeComponentwiseDeltaVec2;
27
- exports.decodeComponentwiseDeltaVec2Scaled = decodeComponentwiseDeltaVec2Scaled;
28
- exports.decodeNullableZigZagDelta = decodeNullableZigZagDelta;
29
- exports.decodeNullableZigZagDeltaInt64 = decodeNullableZigZagDeltaInt64;
30
- exports.zigZagDeltaOfDeltaDecoding = zigZagDeltaOfDeltaDecoding;
31
- exports.zigZagRleDeltaDecoding = zigZagRleDeltaDecoding;
32
- exports.rleDeltaDecoding = rleDeltaDecoding;
33
- exports.padWithZeros = padWithZeros;
34
- exports.padZigZagWithZeros = padZigZagWithZeros;
35
- exports.padWithZerosInt64 = padWithZerosInt64;
36
- exports.padZigZagWithZerosInt64 = padZigZagWithZerosInt64;
37
- exports.decodeNullableRle = decodeNullableRle;
38
- exports.decodeNullableRleInt64 = decodeNullableRleInt64;
39
- exports.decodeUnsignedConstRle = decodeUnsignedConstRle;
40
- exports.decodeZigZagConstRle = decodeZigZagConstRle;
41
- exports.decodeZigZagSequenceRle = decodeZigZagSequenceRle;
42
- exports.decodeUnsignedConstRleInt64 = decodeUnsignedConstRleInt64;
43
- exports.decodeZigZagConstRleInt64 = decodeZigZagConstRleInt64;
44
- exports.decodeZigZagSequenceRleInt64 = decodeZigZagSequenceRleInt64;
45
1
  /* Null suppression (physical level) techniques ------------------------------------------------------------------*/
46
2
  //based on https://github.com/mapbox/pbf/blob/main/index.js
47
- function decodeVarintInt32(buf, bufferOffset, numValues) {
3
+ export function decodeVarintInt32(buf, bufferOffset, numValues) {
48
4
  const dst = new Int32Array(numValues);
49
5
  let dstOffset = 0;
50
6
  let offset = bufferOffset.get();
@@ -80,7 +36,7 @@ function decodeVarintInt32(buf, bufferOffset, numValues) {
80
36
  bufferOffset.set(offset);
81
37
  return dst;
82
38
  }
83
- function decodeVarintInt64(src, offset, numValues) {
39
+ export function decodeVarintInt64(src, offset, numValues) {
84
40
  const dst = new BigInt64Array(numValues);
85
41
  for (let i = 0; i < dst.length; i++) {
86
42
  dst[i] = decodeSingleVarintInt64(src, offset);
@@ -88,8 +44,8 @@ function decodeVarintInt64(src, offset, numValues) {
88
44
  return dst;
89
45
  }
90
46
  /* Since decoding Int64 values to BigInt is more than an order of magnitude slower in the tests
91
- * then using a Float64, this decoding method limits the max size of a Long value to 53 bits */
92
- function decodeVarintFloat64(src, numValues, offset) {
47
+ * then using a Float64, this decoding method limits the max size of a Long value to 53 bits */
48
+ export function decodeVarintFloat64(src, numValues, offset) {
93
49
  const dst = new Float64Array(numValues);
94
50
  for (let i = 0; i < numValues; i++) {
95
51
  dst[i] = decodeSingleVarintFloat64(src, offset);
@@ -157,33 +113,33 @@ function decodeVarintRemainder(l, buf, offset) {
157
113
  return h * 0x100000000 + (l >>> 0);
158
114
  throw new Error("Expected varint not more than 10 bytes");
159
115
  }
160
- function decodeFastPfor(data, numValues, byteLength, offset) {
116
+ export function decodeFastPfor(data, numValues, byteLength, offset) {
161
117
  throw new Error("FastPFor is not implemented yet.");
162
118
  }
163
- function decodeZigZag(encodedData) {
119
+ export function decodeZigZag(encodedData) {
164
120
  for (let i = 0; i < encodedData.length; i++) {
165
121
  const encoded = encodedData[i];
166
- encodedData[i] = ((encoded >>> 1) ^ -(encoded & 1));
122
+ encodedData[i] = (encoded >>> 1) ^ -(encoded & 1);
167
123
  }
168
124
  }
169
- function decodeZigZagInt64(encodedData) {
125
+ export function decodeZigZagInt64(encodedData) {
170
126
  for (let i = 0; i < encodedData.length; i++) {
171
127
  const encoded = encodedData[i];
172
- encodedData[i] = ((encoded >> 1n) ^ -(encoded & 1n));
128
+ encodedData[i] = (encoded >> 1n) ^ -(encoded & 1n);
173
129
  }
174
130
  }
175
- function decodeZigZagFloat64(encodedData) {
131
+ export function decodeZigZagFloat64(encodedData) {
176
132
  for (let i = 0; i < encodedData.length; i++) {
177
133
  const encoded = encodedData[i];
178
134
  //Get rid of branch? -> var v = encoded % 2 && 1; encodedData[i] = (encoded + v) / (v * 2 - 1) * 2;
179
135
  encodedData[i] = encoded % 2 === 1 ? (encoded + 1) / -2 : encoded / 2;
180
136
  }
181
137
  }
182
- function decodeZigZagValue(encoded) {
183
- return ((encoded >>> 1) ^ -(encoded & 1));
138
+ export function decodeZigZagValue(encoded) {
139
+ return (encoded >>> 1) ^ -(encoded & 1);
184
140
  }
185
- function decodeZigZagValueInt64(encoded) {
186
- return ((encoded >> 1n) ^ -(encoded & 1n));
141
+ export function decodeZigZagValueInt64(encoded) {
142
+ return (encoded >> 1n) ^ -(encoded & 1n);
187
143
  }
188
144
  // Source: https://github.com/bazelbuild/bazel/blob/master/src/main/java/com/google/devtools/build/lib/util/VarInt.java
189
145
  function decodeSingleVarintInt64(bytes, pos) {
@@ -192,7 +148,7 @@ function decodeSingleVarintInt64(bytes, pos) {
192
148
  let index = pos.get();
193
149
  while (index < bytes.length) {
194
150
  const b = bytes[index++];
195
- value |= BigInt(b & 0x7F) << BigInt(shift);
151
+ value |= BigInt(b & 0x7f) << BigInt(shift);
196
152
  if ((b & 0x80) === 0) {
197
153
  break;
198
154
  }
@@ -205,22 +161,22 @@ function decodeSingleVarintInt64(bytes, pos) {
205
161
  return value;
206
162
  }
207
163
  /* Logical Level Techniques Flat Vectors ------------------------------------------------------------------ */
208
- function decodeRle(data, streamMetadata, isSigned) {
164
+ export function decodeRle(data, streamMetadata, isSigned) {
209
165
  return isSigned
210
166
  ? decodeZigZagRle(data, streamMetadata.runs, streamMetadata.numRleValues)
211
167
  : decodeUnsignedRle(data, streamMetadata.runs, streamMetadata.numRleValues);
212
168
  }
213
- function decodeRleInt64(data, streamMetadata, isSigned) {
169
+ export function decodeRleInt64(data, streamMetadata, isSigned) {
214
170
  return isSigned
215
171
  ? decodeZigZagRleInt64(data, streamMetadata.runs, streamMetadata.numRleValues)
216
172
  : decodeUnsignedRleInt64(data, streamMetadata.runs, streamMetadata.numRleValues);
217
173
  }
218
- function decodeRleFloat64(data, streamMetadata, isSigned) {
174
+ export function decodeRleFloat64(data, streamMetadata, isSigned) {
219
175
  return isSigned
220
176
  ? decodeZigZagRleFloat64(data, streamMetadata.runs, streamMetadata.numRleValues)
221
177
  : decodeUnsignedRleFloat64(data, streamMetadata.runs, streamMetadata.numRleValues);
222
178
  }
223
- function decodeUnsignedRle(encodedData, numRuns, numTotalValues) {
179
+ export function decodeUnsignedRle(encodedData, numRuns, numTotalValues) {
224
180
  const decodedValues = new Int32Array(numTotalValues);
225
181
  let offset = 0;
226
182
  for (let i = 0; i < numRuns; i++) {
@@ -231,7 +187,7 @@ function decodeUnsignedRle(encodedData, numRuns, numTotalValues) {
231
187
  }
232
188
  return decodedValues;
233
189
  }
234
- function decodeUnsignedRleInt64(encodedData, numRuns, numTotalValues) {
190
+ export function decodeUnsignedRleInt64(encodedData, numRuns, numTotalValues) {
235
191
  const decodedValues = new BigInt64Array(numTotalValues);
236
192
  let offset = 0;
237
193
  for (let i = 0; i < numRuns; i++) {
@@ -242,7 +198,7 @@ function decodeUnsignedRleInt64(encodedData, numRuns, numTotalValues) {
242
198
  }
243
199
  return decodedValues;
244
200
  }
245
- function decodeUnsignedRleFloat64(encodedData, numRuns, numTotalValues) {
201
+ export function decodeUnsignedRleFloat64(encodedData, numRuns, numTotalValues) {
246
202
  const decodedValues = new Float64Array(numTotalValues);
247
203
  let offset = 0;
248
204
  for (let i = 0; i < numRuns; i++) {
@@ -254,12 +210,12 @@ function decodeUnsignedRleFloat64(encodedData, numRuns, numTotalValues) {
254
210
  return decodedValues;
255
211
  }
256
212
  /*
257
- * In place decoding of the zigzag encoded delta values.
258
- * Inspired by https://github.com/lemire/JavaFastPFOR/blob/master/src/main/java/me/lemire/integercompression/differential/Delta.java
259
- */
260
- function decodeZigZagDelta(data) {
213
+ * In place decoding of the zigzag encoded delta values.
214
+ * Inspired by https://github.com/lemire/JavaFastPFOR/blob/master/src/main/java/me/lemire/integercompression/differential/Delta.java
215
+ */
216
+ export function decodeZigZagDelta(data) {
261
217
  data[0] = (data[0] >>> 1) ^ -(data[0] & 1);
262
- const sz0 = data.length / 4 * 4;
218
+ const sz0 = (data.length / 4) * 4;
263
219
  let i = 1;
264
220
  if (sz0 >= 4) {
265
221
  for (; i < sz0 - 4; i += 4) {
@@ -277,9 +233,9 @@ function decodeZigZagDelta(data) {
277
233
  data[i] = ((data[i] >>> 1) ^ -(data[i] & 1)) + data[i - 1];
278
234
  }
279
235
  }
280
- function decodeZigZagDeltaInt64(data) {
236
+ export function decodeZigZagDeltaInt64(data) {
281
237
  data[0] = (data[0] >> 1n) ^ -(data[0] & 1n);
282
- const sz0 = data.length / 4 * 4;
238
+ const sz0 = (data.length / 4) * 4;
283
239
  let i = 1;
284
240
  if (sz0 >= 4) {
285
241
  for (; i < sz0 - 4; i += 4) {
@@ -297,9 +253,9 @@ function decodeZigZagDeltaInt64(data) {
297
253
  data[i] = ((data[i] >> 1n) ^ -(data[i] & 1n)) + data[i - 1];
298
254
  }
299
255
  }
300
- function decodeZigZagDeltaFloat64(data) {
256
+ export function decodeZigZagDeltaFloat64(data) {
301
257
  data[0] = data[0] % 2 === 1 ? (data[0] + 1) / -2 : data[0] / 2;
302
- const sz0 = data.length / 4 * 4;
258
+ const sz0 = (data.length / 4) * 4;
303
259
  let i = 1;
304
260
  if (sz0 >= 4) {
305
261
  for (; i < sz0 - 4; i += 4) {
@@ -317,31 +273,31 @@ function decodeZigZagDeltaFloat64(data) {
317
273
  data[i] = (data[i] % 2 === 1 ? (data[i] + 1) / -2 : data[i] / 2) + data[i - 1];
318
274
  }
319
275
  }
320
- function decodeZigZagRle(data, numRuns, numTotalValues) {
276
+ export function decodeZigZagRle(data, numRuns, numTotalValues) {
321
277
  const decodedValues = new Int32Array(numTotalValues);
322
278
  let offset = 0;
323
279
  for (let i = 0; i < numRuns; i++) {
324
280
  const runLength = data[i];
325
281
  let value = data[i + numRuns];
326
- value = ((value >>> 1) ^ -(value & 1));
282
+ value = (value >>> 1) ^ -(value & 1);
327
283
  decodedValues.fill(value, offset, offset + runLength);
328
284
  offset += runLength;
329
285
  }
330
286
  return decodedValues;
331
287
  }
332
- function decodeZigZagRleInt64(data, numRuns, numTotalValues) {
288
+ export function decodeZigZagRleInt64(data, numRuns, numTotalValues) {
333
289
  const decodedValues = new BigInt64Array(numTotalValues);
334
290
  let offset = 0;
335
291
  for (let i = 0; i < numRuns; i++) {
336
292
  const runLength = Number(data[i]);
337
293
  let value = data[i + numRuns];
338
- value = ((value >> 1n) ^ -(value & 1n));
294
+ value = (value >> 1n) ^ -(value & 1n);
339
295
  decodedValues.fill(value, offset, offset + runLength);
340
296
  offset += runLength;
341
297
  }
342
298
  return decodedValues;
343
299
  }
344
- function decodeZigZagRleFloat64(data, numRuns, numTotalValues) {
300
+ export function decodeZigZagRleFloat64(data, numRuns, numTotalValues) {
345
301
  const decodedValues = new Float64Array(numTotalValues);
346
302
  let offset = 0;
347
303
  for (let i = 0; i < numRuns; i++) {
@@ -356,9 +312,9 @@ function decodeZigZagRleFloat64(data, numRuns, numTotalValues) {
356
312
  }
357
313
  /*
358
314
  * Inspired by https://github.com/lemire/JavaFastPFOR/blob/master/src/main/java/me/lemire/integercompression/differential/Delta.java
359
- */
360
- function fastInverseDelta(data) {
361
- const sz0 = data.length / 4 * 4;
315
+ */
316
+ export function fastInverseDelta(data) {
317
+ const sz0 = (data.length / 4) * 4;
362
318
  let i = 1;
363
319
  if (sz0 >= 4) {
364
320
  for (let a = data[0]; i < sz0 - 4; i += 4) {
@@ -373,7 +329,7 @@ function fastInverseDelta(data) {
373
329
  ++i;
374
330
  }
375
331
  }
376
- function inverseDelta(data) {
332
+ export function inverseDelta(data) {
377
333
  let prevValue = 0;
378
334
  for (let i = 0; i < data.length; i++) {
379
335
  data[i] += prevValue;
@@ -383,11 +339,11 @@ function inverseDelta(data) {
383
339
  /*
384
340
  * In place decoding of the zigzag delta encoded Vec2.
385
341
  * Inspired by https://github.com/lemire/JavaFastPFOR/blob/master/src/main/java/me/lemire/integercompression/differential/Delta.java
386
- */
387
- function decodeComponentwiseDeltaVec2(data) {
388
- data[0] = ((data[0] >>> 1) ^ -(data[0] & 1));
389
- data[1] = ((data[1] >>> 1) ^ -(data[1] & 1));
390
- const sz0 = data.length / 4 * 4;
342
+ */
343
+ export function decodeComponentwiseDeltaVec2(data) {
344
+ data[0] = (data[0] >>> 1) ^ -(data[0] & 1);
345
+ data[1] = (data[1] >>> 1) ^ -(data[1] & 1);
346
+ const sz0 = (data.length / 4) * 4;
391
347
  let i = 2;
392
348
  if (sz0 >= 4) {
393
349
  for (; i < sz0 - 4; i += 4) {
@@ -406,9 +362,9 @@ function decodeComponentwiseDeltaVec2(data) {
406
362
  data[i + 1] = ((data[i + 1] >>> 1) ^ -(data[i + 1] & 1)) + data[i - 1];
407
363
  }
408
364
  }
409
- function decodeComponentwiseDeltaVec2Scaled(data, scale, min, max) {
410
- let previousVertexX = ((data[0] >>> 1) ^ -(data[0] & 1));
411
- let previousVertexY = ((data[1] >>> 1) ^ -(data[1] & 1));
365
+ export function decodeComponentwiseDeltaVec2Scaled(data, scale, min, max) {
366
+ let previousVertexX = (data[0] >>> 1) ^ -(data[0] & 1);
367
+ let previousVertexY = (data[1] >>> 1) ^ -(data[1] & 1);
412
368
  data[0] = clamp(Math.round(previousVertexX * scale), min, max);
413
369
  data[1] = clamp(Math.round(previousVertexY * scale), min, max);
414
370
  const sz0 = data.length / 16;
@@ -430,8 +386,8 @@ function decodeComponentwiseDeltaVec2Scaled(data, scale, min, max) {
430
386
  }
431
387
  }
432
388
  for (; i != data.length; i += 2) {
433
- previousVertexX += ((data[i] >>> 1) ^ -(data[i] & 1));
434
- previousVertexY += ((data[i + 1] >>> 1) ^ -(data[i + 1] & 1));
389
+ previousVertexX += (data[i] >>> 1) ^ -(data[i] & 1);
390
+ previousVertexY += (data[i + 1] >>> 1) ^ -(data[i + 1] & 1);
435
391
  data[i] = clamp(Math.round(previousVertexX * scale), min, max);
436
392
  data[i + 1] = clamp(Math.round(previousVertexY * scale), min, max);
437
393
  }
@@ -439,11 +395,11 @@ function decodeComponentwiseDeltaVec2Scaled(data, scale, min, max) {
439
395
  function clamp(n, min, max) {
440
396
  return Math.min(max, Math.max(min, n));
441
397
  }
442
- function decodeNullableZigZagDelta(bitVector, data) {
398
+ export function decodeNullableZigZagDelta(bitVector, data) {
443
399
  const decodedData = new Int32Array(bitVector.size());
444
400
  let dataCounter = 0;
445
401
  if (bitVector.get(0)) {
446
- decodedData[0] = bitVector.get(0) ? ((data[0] >>> 1) ^ -(data[0] & 1)) : 0;
402
+ decodedData[0] = bitVector.get(0) ? (data[0] >>> 1) ^ -(data[0] & 1) : 0;
447
403
  dataCounter = 1;
448
404
  }
449
405
  else {
@@ -451,19 +407,17 @@ function decodeNullableZigZagDelta(bitVector, data) {
451
407
  }
452
408
  let i = 1;
453
409
  for (; i != decodedData.length; ++i) {
454
- decodedData[i] =
455
- bitVector.get(i)
456
- ? decodedData[i - 1]
457
- + ((data[dataCounter] >>> 1) ^ -(data[dataCounter++] & 1))
458
- : decodedData[i - 1];
410
+ decodedData[i] = bitVector.get(i)
411
+ ? decodedData[i - 1] + ((data[dataCounter] >>> 1) ^ -(data[dataCounter++] & 1))
412
+ : decodedData[i - 1];
459
413
  }
460
414
  return decodedData;
461
415
  }
462
- function decodeNullableZigZagDeltaInt64(bitVector, data) {
416
+ export function decodeNullableZigZagDeltaInt64(bitVector, data) {
463
417
  const decodedData = new BigInt64Array(bitVector.size());
464
418
  let dataCounter = 0;
465
419
  if (bitVector.get(0)) {
466
- decodedData[0] = bitVector.get(0) ? ((data[0] >> 1n) ^ -(data[0] & 1n)) : 0n;
420
+ decodedData[0] = bitVector.get(0) ? (data[0] >> 1n) ^ -(data[0] & 1n) : 0n;
467
421
  dataCounter = 1;
468
422
  }
469
423
  else {
@@ -471,16 +425,14 @@ function decodeNullableZigZagDeltaInt64(bitVector, data) {
471
425
  }
472
426
  let i = 1;
473
427
  for (; i != decodedData.length; ++i) {
474
- decodedData[i] =
475
- bitVector.get(i)
476
- ? decodedData[i - 1]
477
- + ((data[dataCounter] >> 1n) ^ -(data[dataCounter++] & 1n))
478
- : decodedData[i - 1];
428
+ decodedData[i] = bitVector.get(i)
429
+ ? decodedData[i - 1] + ((data[dataCounter] >> 1n) ^ -(data[dataCounter++] & 1n))
430
+ : decodedData[i - 1];
479
431
  }
480
432
  return decodedData;
481
433
  }
482
434
  /* Transform data to allow util access ------------------------------------------------------------------------ */
483
- function zigZagDeltaOfDeltaDecoding(data) {
435
+ export function zigZagDeltaOfDeltaDecoding(data) {
484
436
  const decodedData = new Int32Array(data.length + 1);
485
437
  decodedData[0] = 0;
486
438
  decodedData[1] = decodeZigZagValue(data[0]);
@@ -488,13 +440,13 @@ function zigZagDeltaOfDeltaDecoding(data) {
488
440
  let i = 2;
489
441
  for (; i != decodedData.length; ++i) {
490
442
  const zigZagValue = data[i - 1];
491
- const delta = ((zigZagValue >>> 1) ^ -(zigZagValue & 1));
443
+ const delta = (zigZagValue >>> 1) ^ -(zigZagValue & 1);
492
444
  deltaSum += delta;
493
445
  decodedData[i] = decodedData[i - 1] + deltaSum;
494
446
  }
495
447
  return decodedData;
496
448
  }
497
- function zigZagRleDeltaDecoding(data, numRuns, numTotalValues) {
449
+ export function zigZagRleDeltaDecoding(data, numRuns, numTotalValues) {
498
450
  const decodedValues = new Int32Array(numTotalValues + 1);
499
451
  decodedValues[0] = 0;
500
452
  let offset = 1;
@@ -502,7 +454,7 @@ function zigZagRleDeltaDecoding(data, numRuns, numTotalValues) {
502
454
  for (let i = 0; i < numRuns; i++) {
503
455
  const runLength = data[i];
504
456
  let value = data[i + numRuns];
505
- value = ((value >>> 1) ^ -(value & 1));
457
+ value = (value >>> 1) ^ -(value & 1);
506
458
  for (let j = offset; j < offset + runLength; j++) {
507
459
  decodedValues[j] = value + previousValue;
508
460
  previousValue = decodedValues[j];
@@ -511,7 +463,7 @@ function zigZagRleDeltaDecoding(data, numRuns, numTotalValues) {
511
463
  }
512
464
  return decodedValues;
513
465
  }
514
- function rleDeltaDecoding(data, numRuns, numTotalValues) {
466
+ export function rleDeltaDecoding(data, numRuns, numTotalValues) {
515
467
  const decodedValues = new Int32Array(numTotalValues + 1);
516
468
  decodedValues[0] = 0;
517
469
  let offset = 1;
@@ -527,7 +479,7 @@ function rleDeltaDecoding(data, numRuns, numTotalValues) {
527
479
  }
528
480
  return decodedValues;
529
481
  }
530
- function padWithZeros(bitVector, data) {
482
+ export function padWithZeros(bitVector, data) {
531
483
  const decodedData = new Int32Array(bitVector.size());
532
484
  let dataCounter = 0;
533
485
  let i = 0;
@@ -536,14 +488,14 @@ function padWithZeros(bitVector, data) {
536
488
  }
537
489
  return decodedData;
538
490
  }
539
- function padZigZagWithZeros(bitVector, data) {
491
+ export function padZigZagWithZeros(bitVector, data) {
540
492
  const decodedData = new Int32Array(bitVector.size());
541
493
  let dataCounter = 0;
542
494
  let i = 0;
543
495
  for (; i != decodedData.length; ++i) {
544
496
  if (bitVector.get(i)) {
545
497
  const value = data[dataCounter++];
546
- decodedData[i] = ((value >>> 1) ^ -(value & 1));
498
+ decodedData[i] = (value >>> 1) ^ -(value & 1);
547
499
  }
548
500
  else {
549
501
  decodedData[i] = 0;
@@ -551,7 +503,7 @@ function padZigZagWithZeros(bitVector, data) {
551
503
  }
552
504
  return decodedData;
553
505
  }
554
- function padWithZerosInt64(bitVector, data) {
506
+ export function padWithZerosInt64(bitVector, data) {
555
507
  const decodedData = new BigInt64Array(bitVector.size());
556
508
  let dataCounter = 0;
557
509
  let i = 0;
@@ -560,14 +512,14 @@ function padWithZerosInt64(bitVector, data) {
560
512
  }
561
513
  return decodedData;
562
514
  }
563
- function padZigZagWithZerosInt64(bitVector, data) {
515
+ export function padZigZagWithZerosInt64(bitVector, data) {
564
516
  const decodedData = new BigInt64Array(bitVector.size());
565
517
  let dataCounter = 0;
566
518
  let i = 0;
567
519
  for (; i != decodedData.length; ++i) {
568
520
  if (bitVector.get(i)) {
569
521
  const value = data[dataCounter++];
570
- decodedData[i] = ((value >> 1n) ^ -(value & 1n));
522
+ decodedData[i] = (value >> 1n) ^ -(value & 1n);
571
523
  }
572
524
  else {
573
525
  decodedData[i] = 0n;
@@ -575,7 +527,7 @@ function padZigZagWithZerosInt64(bitVector, data) {
575
527
  }
576
528
  return decodedData;
577
529
  }
578
- function decodeNullableRle(data, streamMetadata, isSigned, bitVector) {
530
+ export function decodeNullableRle(data, streamMetadata, isSigned, bitVector) {
579
531
  const rleMetadata = streamMetadata;
580
532
  return isSigned
581
533
  ? decodeNullableZigZagRle(bitVector, data, rleMetadata.runs)
@@ -607,7 +559,7 @@ function decodeNullableZigZagRle(bitVector, data, numRuns) {
607
559
  for (let i = 0; i < numRuns; i++) {
608
560
  const runLength = data[i];
609
561
  let value = data[i + numRuns];
610
- value = ((value >>> 1) ^ -(value & 1));
562
+ value = (value >>> 1) ^ -(value & 1);
611
563
  for (let j = offset; j < offset + runLength; j++) {
612
564
  /* There can be null values in a run */
613
565
  if (bitVector.get(j)) {
@@ -622,7 +574,7 @@ function decodeNullableZigZagRle(bitVector, data, numRuns) {
622
574
  }
623
575
  return values;
624
576
  }
625
- function decodeNullableRleInt64(data, streamMetadata, isSigned, bitVector) {
577
+ export function decodeNullableRleInt64(data, streamMetadata, isSigned, bitVector) {
626
578
  const rleMetadata = streamMetadata;
627
579
  return isSigned
628
580
  ? decodeNullableZigZagRleInt64(bitVector, data, rleMetadata.runs)
@@ -654,7 +606,7 @@ function decodeNullableZigZagRleInt64(bitVector, data, numRuns) {
654
606
  for (let i = 0; i < numRuns; i++) {
655
607
  const runLength = Number(data[i]);
656
608
  let value = data[i + numRuns];
657
- value = ((value >> 1n) ^ -(value & 1n));
609
+ value = (value >> 1n) ^ -(value & 1n);
658
610
  for (let j = offset; j < offset + runLength; j++) {
659
611
  /* There can be null values in a run */
660
612
  if (bitVector.get(j)) {
@@ -670,34 +622,79 @@ function decodeNullableZigZagRleInt64(bitVector, data, numRuns) {
670
622
  return values;
671
623
  }
672
624
  /* Logical Level Techniques Const and Sequence Vectors ------------------------------------------------------------- */
673
- function decodeUnsignedConstRle(data) {
625
+ /**
626
+ * Decode Delta-RLE with multiple runs by fully reconstructing values.
627
+ *
628
+ * @param data RLE encoded data: [run1, run2, ..., value1, value2, ...]
629
+ * @param numRuns Number of runs in the RLE encoding
630
+ * @param numValues Total number of values to reconstruct
631
+ * @returns Reconstructed values with deltas applied
632
+ */
633
+ export function decodeDeltaRle(data, numRuns, numValues) {
634
+ const result = new Int32Array(numValues);
635
+ let outPos = 0;
636
+ let previousValue = 0;
637
+ for (let i = 0; i < numRuns; i++) {
638
+ const runLength = data[i];
639
+ const zigZagDelta = data[i + numRuns];
640
+ const delta = decodeZigZagValue(zigZagDelta);
641
+ for (let j = 0; j < runLength; j++) {
642
+ previousValue += delta;
643
+ result[outPos++] = previousValue;
644
+ }
645
+ }
646
+ return result;
647
+ }
648
+ /**
649
+ * Decode Delta-RLE with multiple runs for 64-bit integers.
650
+ */
651
+ export function decodeDeltaRleInt64(data, numRuns, numValues) {
652
+ const result = new BigInt64Array(numValues);
653
+ let outPos = 0;
654
+ let previousValue = 0n;
655
+ for (let i = 0; i < numRuns; i++) {
656
+ const runLength = Number(data[i]);
657
+ const zigZagDelta = data[i + numRuns];
658
+ const delta = decodeZigZagValueInt64(zigZagDelta);
659
+ for (let j = 0; j < runLength; j++) {
660
+ previousValue += delta;
661
+ result[outPos++] = previousValue;
662
+ }
663
+ }
664
+ return result;
665
+ }
666
+ export function decodeUnsignedConstRle(data) {
674
667
  return data[1];
675
668
  }
676
- function decodeZigZagConstRle(data) {
669
+ export function decodeZigZagConstRle(data) {
677
670
  return decodeZigZagValue(data[1]);
678
671
  }
679
- function decodeZigZagSequenceRle(data) {
672
+ export function decodeZigZagSequenceRle(data) {
680
673
  /* base value and delta value are equal */
681
674
  if (data.length == 2) {
682
675
  const value = decodeZigZagValue(data[1]);
683
676
  return [value, value];
684
677
  }
685
678
  /* base value and delta value are not equal -> 2 runs and 2 values*/
686
- return [decodeZigZagValue(data[2]), decodeZigZagValue(data[3])];
679
+ const base = decodeZigZagValue(data[2]);
680
+ const delta = decodeZigZagValue(data[3]);
681
+ return [base, delta];
687
682
  }
688
- function decodeUnsignedConstRleInt64(data) {
683
+ export function decodeUnsignedConstRleInt64(data) {
689
684
  return data[1];
690
685
  }
691
- function decodeZigZagConstRleInt64(data) {
686
+ export function decodeZigZagConstRleInt64(data) {
692
687
  return decodeZigZagValueInt64(data[1]);
693
688
  }
694
- function decodeZigZagSequenceRleInt64(data) {
689
+ export function decodeZigZagSequenceRleInt64(data) {
695
690
  /* base value and delta value are equal */
696
691
  if (data.length == 2) {
697
692
  const value = decodeZigZagValueInt64(data[1]);
698
693
  return [value, value];
699
694
  }
700
695
  /* base value and delta value are not equal -> 2 runs and 2 values*/
701
- return [decodeZigZagValueInt64(data[2]), decodeZigZagValueInt64(data[3])];
696
+ const base = decodeZigZagValueInt64(data[2]);
697
+ const delta = decodeZigZagValueInt64(data[3]);
698
+ return [base, delta];
702
699
  }
703
700
  //# sourceMappingURL=integerDecodingUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integerDecodingUtils.js","sourceRoot":"","sources":["../../src/decoding/integerDecodingUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};