umul

Perform C-like multiplication of two unsigned 32-bit integers.

Usage

var umul = require( '@stdlib/math/base/ops/umul' );

umul( a, b )

Performs C-like multiplication of two unsigned 32-bit integers.

var v = umul( 10>>>0, 4>>>0 );
// returns 40

v = umul( 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 umul = require( '@stdlib/math/base/ops/umul' );

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 = umul( a, b );
    console.log( '%d x %d = %d', a, b, y );
}
Did you find this page helpful?