Skip to content

Commit 457674e

Browse files
committed
test: add tests to achieve full coverage in cospif
--- 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: na - 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: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed ---
1 parent c1cb6ae commit 457674e

File tree

1 file changed

+46
-0
lines changed
  • lib/node_modules/@stdlib/math/base/special/cospif/test

1 file changed

+46
-0
lines changed

lib/node_modules/@stdlib/math/base/special/cospif/test/test.js

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

2323
var tape = require( 'tape' );
2424
var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
25+
var isNumber = require( '@stdlib/assert/is-number' ).isPrimitive;
2526
var PINF = require( '@stdlib/constants/float32/pinf' );
2627
var NINF = require( '@stdlib/constants/float32/ninf' );
2728
var f32 = require( '@stdlib/number/float64/base/to-float32' );
@@ -194,3 +195,48 @@ tape( 'the function computes `cos(πx)` (large positive values)', function test(
194195
}
195196
t.end();
196197
});
198+
199+
tape( 'the function handles very small non-zero values', function test( t ) {
200+
var y;
201+
202+
y = cospif( f32( 1e-6 ) );
203+
t.strictEqual( isNumber( y ), true, 'returns expected value' );
204+
205+
y = cospif( f32( -1e-6 ) );
206+
t.strictEqual( isNumber( y ), true, 'returns expected value' );
207+
208+
y = cospif( f32( 1e-8 ) );
209+
t.strictEqual( isNumber( y ), true, 'returns expected value' );
210+
211+
t.end();
212+
});
213+
214+
tape( 'the function handles large values with small fractional parts', function test( t ) {
215+
var y;
216+
217+
y = cospif( f32( 100.1 ) );
218+
t.strictEqual( isNumber( y ), true, 'returns expected value' );
219+
220+
y = cospif( f32( 1000.15 ) );
221+
t.strictEqual( isNumber( y ), true, 'returns expected value' );
222+
223+
y = cospif( f32( 5000.2 ) );
224+
t.strictEqual( isNumber( y ), true, 'returns expected value' );
225+
226+
t.end();
227+
});
228+
229+
tape( 'the function returns `-1` for odd integers in [2^23, 2^24) range', function test( t ) {
230+
var y;
231+
232+
y = cospif( f32( 8388609.0 ) ); // 2^23 + 1
233+
t.strictEqual( y, f32( -1.0 ), 'returns expected value' );
234+
235+
y = cospif( f32( 10000001.0 ) );
236+
t.strictEqual( y, f32( -1.0 ), 'returns expected value' );
237+
238+
y = cospif( f32( 16777215.0 ) ); // 2^24 - 1 (odd)
239+
t.strictEqual( y, f32( -1.0 ), 'returns expected value' );
240+
241+
t.end();
242+
});

0 commit comments

Comments
 (0)