imul
Perform C-like multiplication of two signed 32-bit integers.
Usage
var imul = require( '@stdlib/math/base/ops/imul' );
imul( a, b )
Performs C-like multiplication of two signed 32-bit integers.
var v = imul( -10|0, 4|0 );
// returns -40
v = imul( 1073741824|0, -5|0 ); // 2^30 * -5 = -5368709120 => 32-bit integer overflow
// returns -1073741824
Notes
- The function emulates C-like multiplication of two signed 32-bit integers.
Examples
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' ).factory;
var INT32_MIN = require( '@stdlib/constants/int32/min' );
var INT32_MAX = require( '@stdlib/constants/int32/max' );
var imul = require( '@stdlib/math/base/ops/imul' );
var randi;
var a;
var b;
var y;
var i;
randi = discreteUniform( INT32_MIN, INT32_MAX );
for ( i = 0; i < 100; i++ ) {
a = randi()|0;
b = randi()|0;
y = imul( a, b );
console.log( '%d x %d = %d', a, b, y );
}