UNPKG

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.43 kB
{"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,CACzB,EAAA;AACI,EAAK,CAAA,IAAA,CAAA,KAAM,IAAI,CAAI,GAAA,CAAA,CAAA;AACnB,EAAE,EAAA,CAAA,CAAA;AACF,EAAA,CAAA,IAAK,CAAM,KAAA,CAAA,CAAA;AACX,EAAA,CAAA,IAAK,CAAM,KAAA,CAAA,CAAA;AACX,EAAA,CAAA,IAAK,CAAM,KAAA,CAAA,CAAA;AACX,EAAA,CAAA,IAAK,CAAM,KAAA,CAAA,CAAA;AACX,EAAA,CAAA,IAAK,CAAM,KAAA,EAAA,CAAA;AAEX,EAAA,OAAO,CAAI,GAAA,CAAA,CAAA;AACf,CAAA;AAUO,SAAS,OAAO,CACvB,EAAA;AACI,EAAA,OAAO,EAAE,CAAA,GAAK,CAAI,GAAA,CAAA,CAAA,IAAQ,CAAC,CAAC,CAAA,CAAA;AAChC,CAAA;AAUO,SAAS,KAAK,CACrB,EAAA;AACI,EAAA,IAAI,CAAK,GAAA,CAAA,CAAA,GAAI,KAAS,GAAA,CAAA,GAAI,CAAM,KAAA,CAAA,CAAA;AAEhC,EAAO,CAAA,MAAA,CAAA,CAAA;AAEP,EAAA,IAAI,KAAS,GAAA,CAAA,CAAA,GAAI,GAAO,GAAA,CAAA,GAAI,CAAM,KAAA,CAAA,CAAA;AAElC,EAAO,CAAA,MAAA,KAAA,CAAA;AAAO,EAAK,CAAA,IAAA,KAAA,CAAA;AACnB,EAAS,KAAA,GAAA,CAAA,CAAA,GAAI,EAAM,GAAA,CAAA,GAAI,CAAM,KAAA,CAAA,CAAA;AAC7B,EAAO,CAAA,MAAA,KAAA,CAAA;AAAO,EAAK,CAAA,IAAA,KAAA,CAAA;AACnB,EAAS,KAAA,GAAA,CAAA,CAAA,GAAI,CAAM,GAAA,CAAA,GAAI,CAAM,KAAA,CAAA,CAAA;AAC7B,EAAO,CAAA,MAAA,KAAA,CAAA;AAAO,EAAK,CAAA,IAAA,KAAA,CAAA;AAEnB,EAAA,OAAO,IAAK,CAAK,IAAA,CAAA,CAAA;AACrB;;;;"}