|
||
---|---|---|
.. | ||
docs | ||
lib | ||
package.json | ||
README.md |
uimul
Perform C-like multiplication of two unsigned 32-bit integers.
Usage
var uimul = require( '@stdlib/math/base/special/uimul' );
uimul( a, b )
Performs C-like multiplication of two unsigned 32-bit integers.
var v = uimul( 10>>>0, 4>>>0 );
// returns 40
v = uimul( 2147483648>>>0, 5>>>0 ); // 2^31 * 5 = 10737418240 => 32-bit integer overflow
// returns 2147483648
Notes
- The function emulates C-like multiplication of two unsigned 32-bit integers.
Examples
var discreteUniform = require( '@stdlib/random/base/discrete-uniform' ).factory;
var UINT32_MAX = require( '@stdlib/constants/uint32/max' );
var uimul = require( '@stdlib/math/base/special/uimul' );
var randi;
var a;
var b;
var y;
var i;
randi = discreteUniform( 0, UINT32_MAX );
for ( i = 0; i < 100; i++ ) {
a = randi()>>>0;
b = randi()>>>0;
y = uimul( a, b );
console.log( '%d x %d = %d', a, b, y );
}