Skip to content

Commit 9723c15

Browse files
committed
refactor: use standalone constants
1 parent 848bd84 commit 9723c15

File tree

1 file changed

+10
-10
lines changed
  • lib/node_modules/@stdlib/number/float16/base/from-word/lib

1 file changed

+10
-10
lines changed

lib/node_modules/@stdlib/number/float16/base/from-word/lib/main.js

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,17 @@
2323
var NINF = require( '@stdlib/constants/float16/ninf' );
2424
var PINF = require( '@stdlib/constants/float16/pinf' );
2525
var FLOAT16_EXPONENT_BIAS = require( '@stdlib/constants/float16/exponent-bias' );
26+
var FLOAT16_SIGN_MASK = require( '@stdlib/constants/float16/sign-mask' );
27+
var FLOAT16_EXPONENT_MASK = require( '@stdlib/constants/float16/exponent-mask' );
28+
var FLOAT16_SIGNIFICAND_MASK = require( '@stdlib/constants/float16/significand-mask' );
29+
var FLOAT16_NUM_SIGNIFICAND_BITS = require( '@stdlib/constants/float16/num-significand-bits' );
2630
var pow = require( '@stdlib/math/base/special/pow' );
2731

2832

2933
// VARIABLES //
3034

31-
var SIGN_MASK = 0x8000; // 0x8000 = 32768 => 1 00000 0000000000
32-
var EXPONENT_MASK = 0x7C00; // 0x7C00 = 31744 => 0 11111 0000000000
33-
var MANTISSA_MASK = 0x03FF; // 0x03FF = 1023 => 0 00000 1111111111
34-
35-
var NUM_MANTISSA_BITS = 10; // Number of mantissa bits in float16
36-
var MAX_EXPONENT = 31; // Maximum exponent value
35+
var MAX_EXPONENT = 31; // Maximum exponent value
36+
var SUBNORMAL_EXPONENT = 1 - FLOAT16_EXPONENT_BIAS; // Minimum exponent for subnormal numbers
3737

3838

3939
// MAIN //
@@ -57,13 +57,13 @@ function fromWord( word ) {
5757
var f16;
5858

5959
// Extract sign bit (bit 15)
60-
sign = ( word & SIGN_MASK ) >>> 15;
60+
sign = ( word & FLOAT16_SIGN_MASK ) >>> 15;
6161

6262
// Extract exponent (bits 14-10)
63-
exponent = ( word & EXPONENT_MASK ) >>> NUM_MANTISSA_BITS;
63+
exponent = ( word & FLOAT16_EXPONENT_MASK ) >>> FLOAT16_NUM_SIGNIFICAND_BITS;
6464

6565
// Extract mantissa (bits 9-0)
66-
mantissa = word & MANTISSA_MASK;
66+
mantissa = word & FLOAT16_SIGNIFICAND_MASK;
6767

6868
// Handle special cases
6969
if ( exponent === MAX_EXPONENT ) {
@@ -85,7 +85,7 @@ function fromWord( word ) {
8585
return 0.0;
8686
}
8787
// Subnormal number: (-1)^sign × 2^(-14) × (0.mantissa)
88-
f16 = pow( 2.0, -14 ) * ( mantissa / 1024.0 );
88+
f16 = pow( 2.0, SUBNORMAL_EXPONENT ) * ( mantissa / 1024.0 );
8989
if ( sign ) {
9090
return -f16;
9191
}

0 commit comments

Comments
 (0)