diff --git a/lib/node_modules/@stdlib/math/base/special/fast/absf/lib/main.js b/lib/node_modules/@stdlib/math/base/special/fast/absf/lib/main.js index 10e72f6a3dec..090626bc5844 100644 --- a/lib/node_modules/@stdlib/math/base/special/fast/absf/lib/main.js +++ b/lib/node_modules/@stdlib/math/base/special/fast/absf/lib/main.js @@ -18,6 +18,16 @@ 'use strict'; +// MODULES // + +var f32 = require( '@stdlib/number/float64/base/to-float32' ); + + +// VARIABLES // + +var ZERO = f32( 0.0 ); + + // MAIN // /** @@ -47,8 +57,9 @@ * // returns NaN */ function absf( x ) { - if ( x < 0.0 ) { - return -x; + x = f32( x ); + if ( x < ZERO ) { + return f32( -x ); } return x; } diff --git a/lib/node_modules/@stdlib/math/base/special/fast/absf/test/test.js b/lib/node_modules/@stdlib/math/base/special/fast/absf/test/test.js index f2cd2e2cdafa..4eee1d49c9df 100644 --- a/lib/node_modules/@stdlib/math/base/special/fast/absf/test/test.js +++ b/lib/node_modules/@stdlib/math/base/special/fast/absf/test/test.js @@ -21,6 +21,7 @@ // MODULES // var tape = require( 'tape' ); +var f32 = require( '@stdlib/number/float64/base/to-float32' ); var isNegativeZerof = require( '@stdlib/math/base/assert/is-negative-zerof' ); var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); var PINF = require( '@stdlib/constants/float32/pinf' ); @@ -37,14 +38,14 @@ tape( 'main export is a function', function test( t ) { }); tape( 'the function computes the absolute value of a number', function test( t ) { - t.strictEqual( absf( -2.0 ), 2.0, 'returns expected value' ); - t.strictEqual( absf( 3.0 ), 3.0, 'returns expected value' ); - t.strictEqual( absf( 0.0 ), 0.0, 'returns expected value' ); + t.strictEqual( absf( f32( -2.0 ) ), f32( 2.0 ), 'returns expected value' ); + t.strictEqual( absf( f32( 3.0 ) ), f32( 3.0 ), 'returns expected value' ); + t.strictEqual( absf( f32( 0.0 ) ), f32( 0.0 ), 'returns expected value' ); t.end(); }); tape( 'the function returns `-0` if provided `-0` (not IEEE 754 compliant)', function test( t ) { - t.strictEqual( isNegativeZerof( absf( -0.0 ) ), true, 'returns expected value' ); + t.strictEqual( isNegativeZerof( absf( f32( -0.0 ) ) ), true, 'returns expected value' ); t.end(); }); diff --git a/lib/node_modules/@stdlib/math/base/special/fast/absf/test/test.native.js b/lib/node_modules/@stdlib/math/base/special/fast/absf/test/test.native.js index 383486019aac..e6520e52ba83 100644 --- a/lib/node_modules/@stdlib/math/base/special/fast/absf/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/special/fast/absf/test/test.native.js @@ -22,6 +22,7 @@ var resolve = require( 'path' ).resolve; var tape = require( 'tape' ); +var f32 = require( '@stdlib/number/float64/base/to-float32' ); var isNegativeZerof = require( '@stdlib/math/base/assert/is-negative-zerof' ); var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); var PINF = require( '@stdlib/constants/float32/pinf' ); @@ -46,14 +47,14 @@ tape( 'main export is a function', opts, function test( t ) { }); tape( 'the function computes the absolute value of a number', opts, function test( t ) { - t.strictEqual( absf( -2.0 ), 2.0, 'returns expected value' ); - t.strictEqual( absf( 3.0 ), 3.0, 'returns expected value' ); - t.strictEqual( absf( 0.0 ), 0.0, 'returns expected value' ); + t.strictEqual( absf( f32( -2.0 ) ), f32( 2.0 ), 'returns expected value' ); + t.strictEqual( absf( f32( 3.0 ) ), f32( 3.0 ), 'returns expected value' ); + t.strictEqual( absf( f32( 0.0 ) ), f32( 0.0 ), 'returns expected value' ); t.end(); }); tape( 'the function returns `-0` if provided `-0` (not IEEE 754 compliant)', opts, function test( t ) { - t.strictEqual( isNegativeZerof( absf( -0.0 ) ), true, 'returns expected value' ); + t.strictEqual( isNegativeZerof( absf( f32( -0.0 ) ) ), true, 'returns expected value' ); t.end(); });