Skip to content

Commit fc23445

Browse files
refactor: added proper Float32 casting in math/base/special/fast/absf
--- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed ---
1 parent 5396232 commit fc23445

File tree

3 files changed

+19
-11
lines changed

3 files changed

+19
-11
lines changed

lib/node_modules/@stdlib/math/base/special/fast/absf/lib/main.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@
1818

1919
'use strict';
2020

21+
// MODULES //
22+
23+
var f32 = require( '@stdlib/number/float64/base/to-float32' );
24+
25+
2126
// MAIN //
2227

2328
/**
@@ -47,10 +52,11 @@
4752
* // returns NaN
4853
*/
4954
function absf( x ) {
50-
if ( x < 0.0 ) {
51-
return -x;
55+
x = f32( x );
56+
if ( f32( x < 0.0 ) ) {
57+
return -f32( x );
5258
}
53-
return x;
59+
return f32( x );
5460
}
5561

5662

lib/node_modules/@stdlib/math/base/special/fast/absf/test/test.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
// MODULES //
2222

2323
var tape = require( 'tape' );
24+
var f32 = require( '@stdlib/number/float64/base/to-float32' );
2425
var isNegativeZerof = require( '@stdlib/math/base/assert/is-negative-zerof' );
2526
var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
2627
var PINF = require( '@stdlib/constants/float32/pinf' );
@@ -37,14 +38,14 @@ tape( 'main export is a function', function test( t ) {
3738
});
3839

3940
tape( 'the function computes the absolute value of a number', function test( t ) {
40-
t.strictEqual( absf( -2.0 ), 2.0, 'returns expected value' );
41-
t.strictEqual( absf( 3.0 ), 3.0, 'returns expected value' );
42-
t.strictEqual( absf( 0.0 ), 0.0, 'returns expected value' );
41+
t.strictEqual( absf( f32( -2.0 ) ), f32( 2.0 ), 'returns expected value' );
42+
t.strictEqual( absf( f32( 3.0 ) ), f32( 3.0 ), 'returns expected value' );
43+
t.strictEqual( absf( f32( 0.0 ) ), f32( 0.0 ), 'returns expected value' );
4344
t.end();
4445
});
4546

4647
tape( 'the function returns `-0` if provided `-0` (not IEEE 754 compliant)', function test( t ) {
47-
t.strictEqual( isNegativeZerof( absf( -0.0 ) ), true, 'returns expected value' );
48+
t.strictEqual( isNegativeZerof( absf( f32( -0.0 ) ) ), true, 'returns expected value' );
4849
t.end();
4950
});
5051

lib/node_modules/@stdlib/math/base/special/fast/absf/test/test.native.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
var resolve = require( 'path' ).resolve;
2424
var tape = require( 'tape' );
25+
var f32 = require( '@stdlib/number/float64/base/to-float32' );
2526
var isNegativeZerof = require( '@stdlib/math/base/assert/is-negative-zerof' );
2627
var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
2728
var PINF = require( '@stdlib/constants/float32/pinf' );
@@ -46,14 +47,14 @@ tape( 'main export is a function', opts, function test( t ) {
4647
});
4748

4849
tape( 'the function computes the absolute value of a number', opts, function test( t ) {
49-
t.strictEqual( absf( -2.0 ), 2.0, 'returns expected value' );
50-
t.strictEqual( absf( 3.0 ), 3.0, 'returns expected value' );
51-
t.strictEqual( absf( 0.0 ), 0.0, 'returns expected value' );
50+
t.strictEqual( absf( f32( -2.0 ) ), f32( 2.0 ), 'returns expected value' );
51+
t.strictEqual( absf( f32( 3.0 ) ), f32( 3.0 ), 'returns expected value' );
52+
t.strictEqual( absf( f32( 0.0 ) ), f32( 0.0 ), 'returns expected value' );
5253
t.end();
5354
});
5455

5556
tape( 'the function returns `-0` if provided `-0` (not IEEE 754 compliant)', opts, function test( t ) {
56-
t.strictEqual( isNegativeZerof( absf( -0.0 ) ), true, 'returns expected value' );
57+
t.strictEqual( isNegativeZerof( absf( f32( -0.0 ) ) ), true, 'returns expected value' );
5758
t.end();
5859
});
5960

0 commit comments

Comments
 (0)