Convert a half-precision floating-point number to an unsigned 32-bit integer.
var float16ToUint32 = require( '@stdlib/number/float16/base/to-uint32' );Converts a half-precision floating-point number to an unsigned 32-bit integer.
var float64ToFloat16 = require( '@stdlib/number/float64/base/to-float16' );
var y = float16ToUint32( float64ToFloat16( 4294967297.0 ) );
// returns 0
y = float16ToUint32( float64ToFloat16( 3.14 ) );
// returns 3
y = float16ToUint32( float64ToFloat16( -3.14 ) );
// returns 4294967293
y = float16ToUint32( float64ToFloat16( NaN ) );
// returns 0
y = float16ToUint32( float64ToFloat16( Infinity ) );
// returns 0
y = float16ToUint32( float64ToFloat16( -Infinity ) );
// returns 0var uniform = require( '@stdlib/random/array/uniform' );
var map = require( '@stdlib/array/base/map' );
var naryFunction = require( '@stdlib/utils/nary-function' );
var pickArguments = require( '@stdlib/utils/pick-arguments' );
var logEachMap = require( '@stdlib/console/log-each-map' );
var float64ToFloat16 = require( '@stdlib/number/float64/base/to-float16' );
var float16ToUint32 = require( '@stdlib/number/float16/base/to-uint32' );
// Generate an array of random numbers:
var f64 = uniform( 100, 0.0, 100.0, {
'dtype': 'float64'
});
// Convert each value to a half-precision floating-point number:
var f16 = map( f64, naryFunction( float64ToFloat16, 1 ) );
// Convert each half-precision floating-point number to the nearest unsigned 32-bit integer:
logEachMap( 'float16: %f => uint32: %d', f16, pickArguments( float16ToUint32, [ 0 ] ) );