UNPKG

foxts

Version:

Opinionated collection of common TypeScript utils by @SukkaW

31 lines (29 loc) 1.79 kB
declare function bitCount(n: number): number; declare const getBit: (n: number, mask: number) => boolean; declare const missingBit: (n: number, mask: number) => boolean; declare const setBit: (n: number, mask: number) => number; declare const deleteBit: (n: number, mask: number) => number; /** Packs two 16-bit integers (0~65535) into one 32-bit integer */ declare const packTwoBits: (a: number, b: number) => number; declare const unpackTwoBitsFirst: (value: number) => number; declare const unpackTwoBitsSecond: (value: number) => number; /** * Unpacks two 16-bit integers (0~65535) from one 32-bit integer * * @param value - The 32-bit integer to unpack * @param arr - An optional array to store the unpacked values, useful if you are trying to re-use arrays */ declare function unpackTwoBits(value: number, arr?: [a: number, b: number]): [a: number, b: number]; /** Packs three 10-bit integers (0~1023) into one 32-bit integer */ declare const packThreeBits: (a: number, b: number, c: number) => number; declare const unpackThreeBitsFirst: (value: number) => number; declare const unpackThreeBitsSecond: (value: number) => number; declare const unpackThreeBitsThird: (value: number) => number; /** * Unpacks three 10-bit integers (0~1023) from one 32-bit integer * * @param value - The 32-bit integer to unpack * @param arr - An optional array to store the unpacked values, useful if you are trying to re-use arrays */ declare function unpackThreeBits(value: number, arr?: [a: number, b: number, c: number]): [a: number, b: number, c: number]; export { bitCount, deleteBit, getBit, missingBit, packThreeBits, packTwoBits, setBit, unpackThreeBits, unpackThreeBitsFirst, unpackThreeBitsSecond, unpackThreeBitsThird, unpackTwoBits, unpackTwoBitsFirst, unpackTwoBitsSecond };