Files
Projekt-Visualisierung/node_modules/@maplibre/mlt/dist/decoding/fastPforShared.js
2026-04-15 17:08:39 +02:00

29 lines
1.0 KiB
JavaScript

/**
* Bit masks for each bitwidth 0-32.
* DO NOT MUTATE - this is a shared constant.
*/
const masks = new Uint32Array(33);
masks[0] = 0;
for (let bitWidth = 1; bitWidth <= 32; bitWidth++) {
masks[bitWidth] = bitWidth === 32 ? 0xffffffff : 0xffffffff >>> (32 - bitWidth);
}
export const MASKS = masks;
export const DEFAULT_PAGE_SIZE = 65536;
export const BLOCK_SIZE = 256;
export function greatestMultiple(value, factor) {
return value - (value % factor);
}
export function roundUpToMultipleOf32(value) {
return greatestMultiple(value + 31, 32);
}
export function normalizePageSize(pageSize) {
if (!Number.isFinite(pageSize) || pageSize <= 0)
return DEFAULT_PAGE_SIZE;
const aligned = greatestMultiple(Math.floor(pageSize), BLOCK_SIZE);
return aligned === 0 ? BLOCK_SIZE : aligned;
}
export function bswap32(value) {
const x = value >>> 0;
return (((x & 0xff) << 24) | ((x & 0xff00) << 8) | ((x >>> 8) & 0xff00) | ((x >>> 24) & 0xff)) >>> 0;
}
//# sourceMappingURL=fastPforShared.js.map