Skip to main content

math_imul

Function math_imul 

Source
pub(crate) fn math_imul(
    _: &mut Interp,
    _t: Value,
    a: &[Value],
) -> Result<Value, Value>
Expand description

Math.imul(a, b)(ES2015)が丸ごと未対応だった。両引数を ToInt32 してから 32bit 整数の乗算をラップアラウンド(オーバーフロー時は下位32bitのみ保持)で 行う。通常の浮動小数点乗算は 2^53 を超えると精度落ちするため、64bit整数の 大きな値を正確に掛け合わせたい場面で使われる。