UNPKG

playcanvas

Version:

Open-source WebGL/WebGPU 3D engine for the web

20 lines (19 loc) 428 B
const BitPacking = { set(storage, value, shift, mask = 1) { const data = storage & ~(mask << shift); return data | value << shift; }, get(storage, shift, mask = 1) { return storage >> shift & mask; }, all(storage, shift, mask = 1) { const shifted = mask << shift; return (storage & shifted) === shifted; }, any(storage, shift, mask = 1) { return (storage & mask << shift) !== 0; } }; export { BitPacking };