Baseline Widely available
СводкаÐеÑод Math.imul()
возвÑаÑÐ°ÐµÑ ÑезÑлÑÑÐ°Ñ Ð¿ÐµÑÐµÐ¼Ð½Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð² ÑÑиле C двÑÑ
32-биÑнÑÑ
ÑиÑел.
a
ÐеÑвое ÑиÑло.
b
ÐÑоÑое ÑиÑло.
ÐеÑод Math.imul()
позволÑÐµÑ Ð²ÑполнÑÑÑ Ð±ÑÑÑÑое пеÑемножение двÑÑ
32-биÑнÑÑ
ÑиÑел Ñ ÑеманÑикой C. ÐÑа возможноÑÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð° Ð´Ð»Ñ ÑакиÑ
пÑоекÑов, как Emscripten. ÐоÑколÑÐºÑ Ð¼ÐµÑод imul()
ÑвлÑеÑÑÑ ÑÑаÑиÑеÑким меÑодом обÑекÑа Math
, Ð²Ñ Ð²Ñегда Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸ÑполÑзоваÑÑ ÐµÐ³Ð¾ как Math.imul()
, а не пÑÑаÑÑÑÑ Ð²ÑзÑваÑÑ Ð¼ÐµÑод на Ñозданном ÑкземплÑÑе обÑекÑа Math
(поÑколÑÐºÑ Ð¾Ð±ÑÐµÐºÑ Math
не ÑвлÑеÑÑÑ ÐºÐ¾Ð½ÑÑÑÑкÑоÑом).
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
ÐолиÑил
ÐÑÐ¾Ñ Ð¼ÐµÑод Ð¼Ð¾Ð¶ÐµÑ ÑмÑлиÑоваÑÑÑÑ ÑледÑÑÑим ÑпоÑобом:
Math.imul =
Math.imul ||
function (a, b) {
var ah = (a >>> 16) & 0xffff;
var al = a & 0xffff;
var bh = (b >>> 16) & 0xffff;
var bl = b & 0xffff;
// Ñдвиг на 0 Ð±Ð¸Ñ Ð·Ð°ÐºÑеплÑÐµÑ Ð·Ð½Ð°Ðº в ÑÑаÑÑей ÑаÑÑи ÑиÑла
// оконÑаÑелÑнÑй |0 пÑеобÑазÑÐµÑ Ð±ÐµÐ·Ð·Ð½Ð°ÐºÐ¾Ð²Ð¾Ðµ знаÑение обÑаÑно в знаковое знаÑение
return (al * bl + (((ah * bl + al * bh) << 16) >>> 0)) | 0;
};
СпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4