diff --git a/lib/node_modules/@stdlib/math/base/special/round2/lib/main.js b/lib/node_modules/@stdlib/math/base/special/round2/lib/main.js index cfc5d6b8c659..038eeffdd2f8 100644 --- a/lib/node_modules/@stdlib/math/base/special/round2/lib/main.js +++ b/lib/node_modules/@stdlib/math/base/special/round2/lib/main.js @@ -85,7 +85,7 @@ function round2( x ) { // If provided the smallest subnormal, no rounding possible: if ( p === MIN_EXP_SUBNORMAL ) { - return x; + return sign * x; } // Find the previous and next integer powers: diff --git a/lib/node_modules/@stdlib/math/base/special/round2/test/test.js b/lib/node_modules/@stdlib/math/base/special/round2/test/test.js index 8d9f587506be..c54a94070fde 100644 --- a/lib/node_modules/@stdlib/math/base/special/round2/test/test.js +++ b/lib/node_modules/@stdlib/math/base/special/round2/test/test.js @@ -82,6 +82,12 @@ tape( 'the function returns the minimum double-precision floating-point value if t.end(); }); +tape( 'the function returns the negative minimum double-precision floating-point value if provided the negative minimum double-precision floating-point value', function test( t ) { + var v = round2( -SMALLEST_SUBNORMAL ); + t.strictEqual( v, -SMALLEST_SUBNORMAL, 'returns negative smallest subnormal' ); + t.end(); +}); + tape( 'the function overflows if provided a sufficiently large value', function test( t ) { var x; var v;