pixi.js
Version:
<p align="center"> <a href="https://pixijs.com" target="_blank" rel="noopener noreferrer"> <img height="150" src="https://files.pixijs.download/branding/pixijs-logo-transparent-dark.svg?v=1" alt="PixiJS logo"> </a> </p> <br/> <p align="center">
1 lines • 2.31 kB
Source Map (JSON)
{"version":3,"file":"pow2.mjs","sources":["../../../src/maths/misc/pow2.ts"],"sourcesContent":["// Taken from the bit-twiddle package\n\n/**\n * Rounds to next power of two.\n * @function nextPow2\n * @param {number} v - input value\n * @returns {number} - next rounded power of two\n * @category maths\n * @advanced\n */\nexport function nextPow2(v: number): number\n{\n v += v === 0 ? 1 : 0;\n --v;\n v |= v >>> 1;\n v |= v >>> 2;\n v |= v >>> 4;\n v |= v >>> 8;\n v |= v >>> 16;\n\n return v + 1;\n}\n\n/**\n * Checks if a number is a power of two.\n * @function isPow2\n * @param {number} v - input value\n * @returns {boolean} `true` if value is power of two\n * @category maths\n * @advanced\n */\nexport function isPow2(v: number): boolean\n{\n return !(v & (v - 1)) && (!!v);\n}\n\n/**\n * Computes ceil of log base 2\n * @function log2\n * @param {number} v - input value\n * @returns {number} logarithm base 2\n * @category maths\n * @advanced\n */\nexport function log2(v: number): number\n{\n let r = (v > 0xFFFF ? 1 : 0) << 4;\n\n v >>>= r;\n\n let shift = (v > 0xFF ? 1 : 0) << 3;\n\n v >>>= shift; r |= shift;\n shift = (v > 0xF ? 1 : 0) << 2;\n v >>>= shift; r |= shift;\n shift = (v > 0x3 ? 1 : 0) << 1;\n v >>>= shift; r |= shift;\n\n return r | (v >> 1);\n}\n"],"names":[],"mappings":";AAUO,SAAS,SAAS,CAAA,EACzB;AACI,EAAA,CAAA,IAAK,CAAA,KAAM,IAAI,CAAA,GAAI,CAAA;AACnB,EAAA,EAAE,CAAA;AACF,EAAA,CAAA,IAAK,CAAA,KAAM,CAAA;AACX,EAAA,CAAA,IAAK,CAAA,KAAM,CAAA;AACX,EAAA,CAAA,IAAK,CAAA,KAAM,CAAA;AACX,EAAA,CAAA,IAAK,CAAA,KAAM,CAAA;AACX,EAAA,CAAA,IAAK,CAAA,KAAM,EAAA;AAEX,EAAA,OAAO,CAAA,GAAI,CAAA;AACf;AAUO,SAAS,OAAO,CAAA,EACvB;AACI,EAAA,OAAO,EAAE,CAAA,GAAK,CAAA,GAAI,CAAA,CAAA,IAAQ,CAAC,CAAC,CAAA;AAChC;AAUO,SAAS,KAAK,CAAA,EACrB;AACI,EAAA,IAAI,CAAA,GAAA,CAAK,CAAA,GAAI,KAAA,GAAS,CAAA,GAAI,CAAA,KAAM,CAAA;AAEhC,EAAA,CAAA,MAAO,CAAA;AAEP,EAAA,IAAI,KAAA,GAAA,CAAS,CAAA,GAAI,GAAA,GAAO,CAAA,GAAI,CAAA,KAAM,CAAA;AAElC,EAAA,CAAA,MAAO,KAAA;AAAO,EAAA,CAAA,IAAK,KAAA;AACnB,EAAA,KAAA,GAAA,CAAS,CAAA,GAAI,EAAA,GAAM,CAAA,GAAI,CAAA,KAAM,CAAA;AAC7B,EAAA,CAAA,MAAO,KAAA;AAAO,EAAA,CAAA,IAAK,KAAA;AACnB,EAAA,KAAA,GAAA,CAAS,CAAA,GAAI,CAAA,GAAM,CAAA,GAAI,CAAA,KAAM,CAAA;AAC7B,EAAA,CAAA,MAAO,KAAA;AAAO,EAAA,CAAA,IAAK,KAAA;AAEnB,EAAA,OAAO,IAAK,CAAA,IAAK,CAAA;AACrB;;;;"}