1 line
1.8 KiB
Plaintext
1 line
1.8 KiB
Plaintext
{"version":3,"file":"pow2.mjs","sources":["../../src/data/pow2.ts"],"sourcesContent":["// Taken from the bit-twiddle package\n\n/**\n * Rounds to next power of two.\n * @function nextPow2\n * @memberof PIXI.utils\n * @param {number} v - input value\n * @returns {number} - next rounded power of two\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 * @memberof PIXI.utils\n * @param {number} v - input value\n * @returns {boolean} `true` if value is power of two\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 * @memberof PIXI.utils\n * @param {number} v - input value\n * @returns {number} logarithm base 2\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":"AASO,SAAS,SAAS,GACzB;AACS,SAAA,KAAA,MAAM,IAAI,IAAI,GACnB,EAAE,GACF,KAAK,MAAM,GACX,KAAK,MAAM,GACX,KAAK,MAAM,GACX,KAAK,MAAM,GACX,KAAK,MAAM,IAEJ,IAAI;AACf;AASO,SAAS,OAAO,GACvB;AACI,SAAO,EAAE,IAAK,IAAI,MAAQ,CAAC,CAAC;AAChC;AASO,SAAS,KAAK,GACrB;AACI,MAAI,KAAK,IAAI,QAAS,IAAI,MAAM;AAEzB,SAAA;AAEP,MAAI,SAAS,IAAI,MAAO,IAAI,MAAM;AAE3B,SAAA,OAAA,OAAO,KAAK,OACnB,SAAS,IAAI,KAAM,IAAI,MAAM,GAC7B,OAAO,OAAO,KAAK,OACnB,SAAS,IAAI,IAAM,IAAI,MAAM,GAC7B,OAAO,OAAO,KAAK,OAEZ,IAAK,KAAK;AACrB;"} |