Math.imul()
Статичний метод Math.imul() ("integer multiply" – множення цілих чисел) повертає результат C-подібного 32-бітного множення двох аргументів.
Спробуйте його в дії
Синтаксис
Math.imul(a, b)
Параметри
aПерше число.
bДруге число.
Повернене значення
Результат C-подібного 32-бітного множення переданих двох аргументів.
Опис
Math.imul() дає змогу множити 32-бітні цілі числа з традиційною для C семантикою. Цей функціонал корисний для таких проєктів, як Emscripten.
Оскільки imul() — це статичний метод об'єкта Math, його потрібно завжди використовувати через Math.imul(). Не слід звертатись до нього як до методу власноруч створеного екземпляра Math (Math не є конструктором).
Якщо використати в imul() звичайні числа з рухомою комою JavaScript, буде помітно суттєве падіння швидкодії коду. Це пов'язано з дорогим перетворенням для множення чисел з рухомою комою на цілі числа, а потім перетворенням цілочислового результату множення назад у число з рухомою комою. Проте при використанні asm.js, що дозволяє JIT-оптимізаторам використовувати в JavaScript цілі числа з більшою впевненістю, множення двох чисел, за лаштунками збережених як цілі (що можливо лише при використанні asm.js), за допомогою imul() потенційно може бути швидшим.
Приклади
Застосування Math.imul()
Math.imul(2, 4); // 8
Math.imul(-1, 8); // -8
Math.imul(-2, -2); // 4
Math.imul(0xffffffff, 5); // -5
Math.imul(0xfffffffe, 5); // -10
Специфікації
Сумісність із браузерами
| desktop | mobile | server | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
imul
|
Chrome Full support 28 | Edge Full support 12 | Firefox Full support 20 | Internet Explorer No support Ні | Opera Full support 16 | Safari Full support 7 | WebView Android Full support 4.4 | Chrome Android Full support 28 | Firefox for Android Full support 20 | Opera Android Full support 15 | Safari on iOS Full support 7 | Samsung Internet Full support 1.5 | Deno Full support 1.0 | Node.js Full support 0.12.0 |
Дивіться також
- Поліфіл
Math.imulу складіcore-js - Emscripten на Вікіпедії