UNPKG

foxts

Version:

Opinionated collection of common TypeScript utils by @SukkaW

1 lines 764 B
"use strict";const t=t=>t>>16&65535,e=t=>65535&t,r=t=>t>>20&1023,s=t=>t>>10&1023,o=t=>1023&t;exports.bitCount=function(t){return t-=t>>1&0x55555555,((t=(0x33333333&t)+(t>>2&0x33333333))+(t>>4)&0xf0f0f0f)*0x1010101>>24},exports.deleteBit=(t,e)=>t&~e,exports.getBit=(t,e)=>!!(t&e),exports.missingBit=(t,e)=>!(t&e),exports.packThreeBits=(t,e,r)=>t<<20|e<<10|r,exports.packTwoBits=(t,e)=>t<<16|e,exports.setBit=(t,e)=>t|e,exports.unpackThreeBits=function(t,e=Array.from([,,,].keys())){return e[0]=r(t),e[1]=s(t),e[2]=o(t),e},exports.unpackThreeBitsFirst=r,exports.unpackThreeBitsSecond=s,exports.unpackThreeBitsThird=o,exports.unpackTwoBits=function(r,s=Array.from([,,].keys())){return s[0]=t(r),s[1]=e(r),s},exports.unpackTwoBitsFirst=t,exports.unpackTwoBitsSecond=e;