foxts
Version:
Opinionated collection of common TypeScript utils by @SukkaW
2 lines (1 loc) • 807 B
JavaScript
Object.defineProperty(exports,"__esModule",{value:!0});const e=e=>e>>16&65535,t=e=>65535&e,r=e=>e>>20&1023,s=e=>e>>10&1023,o=e=>1023&e;exports.bitCount=function(e){return e-=e>>1&0x55555555,((e=(0x33333333&e)+(e>>2&0x33333333))+(e>>4)&0xf0f0f0f)*0x1010101>>24},exports.deleteBit=(e,t)=>e&~t,exports.getBit=(e,t)=>!!(e&t),exports.missingBit=(e,t)=>!(e&t),exports.packThreeBits=(e,t,r)=>e<<20|t<<10|r,exports.packTwoBits=(e,t)=>e<<16|t,exports.setBit=(e,t)=>e|t,exports.unpackThreeBits=function(e,t=Array.from([,,,].keys())){return t[0]=r(e),t[1]=s(e),t[2]=o(e),t},exports.unpackThreeBitsFirst=r,exports.unpackThreeBitsSecond=s,exports.unpackThreeBitsThird=o,exports.unpackTwoBits=function(r,s=Array.from([,,].keys())){return s[0]=e(r),s[1]=t(r),s},exports.unpackTwoBitsFirst=e,exports.unpackTwoBitsSecond=t;