Skip to content

Commit 864fc4f

Browse files
test: add tests for IEEE 754-2019 compliance
PR-URL: #6620 Ref: #365 Reviewed-by: Athan Reines <[email protected]> Co-authored-by: stdlib-bot <[email protected]>
1 parent 1446cc7 commit 864fc4f

File tree

10 files changed

+139
-19
lines changed

10 files changed

+139
-19
lines changed

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -394,3 +394,15 @@ tape( 'if provided `-infinity`, the function returns `NaN`', function test( t )
394394
t.strictEqual( isnan( v ), true, 'returns expected value' );
395395
t.end();
396396
});
397+
398+
tape( 'if provided `0`, the function returns `+infinity`', function test( t ) {
399+
var v = cot( 0.0 );
400+
t.strictEqual( v, PINF, 'returns expected value' );
401+
t.end();
402+
});
403+
404+
tape( 'if provided `-0`, the function returns `-infinity`', function test( t ) {
405+
var v = cot( -0.0 );
406+
t.strictEqual( v, NINF, 'returns expected value' );
407+
t.end();
408+
});

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -403,3 +403,15 @@ tape( 'if provided `-infinity`, the function returns `NaN`', opts, function test
403403
t.strictEqual( isnan( v ), true, 'returns expected value' );
404404
t.end();
405405
});
406+
407+
tape( 'if provided `0`, the function returns `+infinity`', opts, function test( t ) {
408+
var v = cot( 0.0 );
409+
t.strictEqual( v, PINF, 'returns expected value' );
410+
t.end();
411+
});
412+
413+
tape( 'if provided `-0`, the function returns `-infinity`', opts, function test( t ) {
414+
var v = cot( -0.0 );
415+
t.strictEqual( v, NINF, 'returns expected value' );
416+
t.end();
417+
});

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,3 +128,15 @@ tape( 'if provided `-180.0`, the function returns `+Infinity`', function test( t
128128
t.strictEqual( v, PINF, 'returns expected value' );
129129
t.end();
130130
});
131+
132+
tape( 'if provided `0`, the function returns `+infinity`', function test( t ) {
133+
var v = cotd( 0.0 );
134+
t.strictEqual( v, PINF, 'returns expected value' );
135+
t.end();
136+
});
137+
138+
tape( 'if provided `-0`, the function returns `-infinity`', function test( t ) {
139+
var v = cotd( -0.0 );
140+
t.strictEqual( v, NINF, 'returns expected value' );
141+
t.end();
142+
});

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,3 +137,15 @@ tape( 'if provided `-180.0`, the function returns `+Infinity`', opts, function t
137137
t.strictEqual( v, PINF, 'returns expected value' );
138138
t.end();
139139
});
140+
141+
tape( 'if provided `0`, the function returns `+infinity`', opts, function test( t ) {
142+
var v = cotd( 0.0 );
143+
t.strictEqual( v, PINF, 'returns expected value' );
144+
t.end();
145+
});
146+
147+
tape( 'if provided `-0`, the function returns `-infinity`', opts, function test( t ) {
148+
var v = cotd( -0.0 );
149+
t.strictEqual( v, NINF, 'returns expected value' );
150+
t.end();
151+
});

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

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -368,29 +368,41 @@ tape( 'the function computes the cosecant (tiny negative values)', function test
368368
});
369369

370370
tape( 'if provided a multiple of `-pi`, the function does not return `~+infinity` due to floating-point rounding errors', function test( t ) {
371-
t.notEqual(csc(-PI), PINF, 'returns expected value');
371+
t.notEqual( csc( -PI ), PINF, 'returns expected value' );
372372
t.end();
373373
});
374374

375375
tape( 'if provided a multiple of `pi`, the function does not return `~-infinity`', function test( t ) {
376-
t.notEqual(csc(PI), NINF, 'returns expected value');
376+
t.notEqual( csc( PI ), NINF, 'returns expected value' );
377377
t.end();
378378
});
379379

380380
tape( 'if provided a `NaN`, the function returns `NaN`', function test( t ) {
381-
var v = csc(NaN);
382-
t.strictEqual(isnan(v), true, 'returns expected value');
381+
var v = csc( NaN );
382+
t.strictEqual( isnan( v ), true, 'returns expected value' );
383383
t.end();
384384
});
385385

386386
tape( 'if provided `+infinity`, the function returns `NaN`', function test( t ) {
387-
var v = csc(PINF);
388-
t.strictEqual(isnan(v), true, 'returns expected value');
387+
var v = csc( PINF );
388+
t.strictEqual( isnan( v ), true, 'returns expected value' );
389389
t.end();
390390
});
391391

392392
tape( 'if provided `-infinity`, the function returns `NaN`', function test( t ) {
393-
var v = csc(NINF);
394-
t.strictEqual(isnan(v), true, 'returns expected value');
393+
var v = csc( NINF );
394+
t.strictEqual( isnan( v ), true, 'returns expected value' );
395+
t.end();
396+
});
397+
398+
tape( 'if provided `+0`, the function returns `+infinity`', function test( t ) {
399+
var v = csc( 0.0 );
400+
t.strictEqual( v, PINF, 'returns expected value' );
401+
t.end();
402+
});
403+
404+
tape( 'if provided `-0`, the function returns `-infinity`', function test( t ) {
405+
var v = csc( -0.0 );
406+
t.strictEqual( v, NINF, 'returns expected value' );
395407
t.end();
396408
});

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

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -377,29 +377,41 @@ tape( 'the function computes the cosecant (tiny negative values)', opts, functio
377377
});
378378

379379
tape( 'if provided a multiple of `-pi`, the function does not return `~+infinity` due to floating-point rounding errors', opts, function test( t ) {
380-
t.notEqual(csc(-PI), PINF, 'returns expected value');
380+
t.notEqual( csc( -PI ), PINF, 'returns expected value' );
381381
t.end();
382382
});
383383

384384
tape( 'if provided a multiple of `pi`, the function does not return `~-infinity`', opts, function test( t ) {
385-
t.notEqual(csc(PI), NINF, 'returns expected value');
385+
t.notEqual( csc( PI ), NINF, 'returns expected value' );
386386
t.end();
387387
});
388388

389-
tape( 'if provided a `NaN`, the function returns `expected value`', opts, function test( t ) {
390-
var v = csc(NaN);
391-
t.strictEqual(isnan(v), true, 'returns expected value');
389+
tape( 'if provided a `NaN`, the function returns `NaN`', opts, function test( t ) {
390+
var v = csc( NaN );
391+
t.strictEqual( isnan( v ), true, 'returns expected value' );
392392
t.end();
393393
});
394394

395-
tape( 'if provided `+infinity`, the function returns `expected value`', opts, function test( t ) {
396-
var v = csc(PINF);
397-
t.strictEqual(isnan(v), true, 'returns expected value');
395+
tape( 'if provided `+infinity`, the function returns `NaN`', opts, function test( t ) {
396+
var v = csc( PINF );
397+
t.strictEqual( isnan( v ), true, 'returns expected value' );
398398
t.end();
399399
});
400400

401-
tape( 'if provided `-infinity`, the function returns `expected value`', opts, function test( t ) {
402-
var v = csc(NINF);
403-
t.strictEqual(isnan(v), true, 'returns expected value');
401+
tape( 'if provided `-infinity`, the function returns `NaN`', opts, function test( t ) {
402+
var v = csc( NINF );
403+
t.strictEqual( isnan( v ), true, 'returns expected value' );
404+
t.end();
405+
});
406+
407+
tape( 'if provided `+0`, the function returns `+infinity`', opts, function test( t ) {
408+
var v = csc( 0.0 );
409+
t.strictEqual( v, PINF, 'returns expected value' );
410+
t.end();
411+
});
412+
413+
tape( 'if provided `-0`, the function returns `-infinity`', opts, function test( t ) {
414+
var v = csc( -0.0 );
415+
t.strictEqual( v, NINF, 'returns expected value' );
404416
t.end();
405417
});

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -394,3 +394,15 @@ tape( 'if provided `-infinity`, the function returns `NaN`', function test( t )
394394
t.strictEqual( isnan( v ), true, 'returns expected value' );
395395
t.end();
396396
});
397+
398+
tape( 'if provided `+-0`, the function returns `1`', function test( t ) {
399+
var v;
400+
401+
v = sec( 0.0 );
402+
t.strictEqual( v, 1.0, 'returns expected value' );
403+
404+
v = sec( -0.0 );
405+
t.strictEqual( v, 1.0, 'returns expected value' );
406+
407+
t.end();
408+
});

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -403,3 +403,15 @@ tape( 'if provided `-infinity`, the function returns `expected value`', opts, fu
403403
t.strictEqual( isnan( v ), true, 'returns expected value' );
404404
t.end();
405405
});
406+
407+
tape( 'if provided `+-0`, the function returns `1`', opts, function test( t ) {
408+
var v;
409+
410+
v = sec( 0.0 );
411+
t.strictEqual( v, 1.0, 'returns expected value' );
412+
413+
v = sec( -0.0 );
414+
t.strictEqual( v, 1.0, 'returns expected value' );
415+
416+
t.end();
417+
});

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,3 +107,15 @@ tape( 'the function returns `+Infinity` if provided an odd multiple of `90`', fu
107107
t.strictEqual( v, PINF, 'returns expected value' );
108108
t.end();
109109
});
110+
111+
tape( 'the function returns `1` if provided `+-0`', function test( t ) {
112+
var v;
113+
114+
v = secd( 0.0 );
115+
t.strictEqual( v, 1.0, 'returns expected value' );
116+
117+
v = secd( -0.0 );
118+
t.strictEqual( v, 1.0, 'returns expected value' );
119+
120+
t.end();
121+
});

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,3 +116,15 @@ tape( 'the function returns `+Infinity` if provided an odd multiple of `90`', op
116116
t.strictEqual( v, PINF, 'returns expected value' );
117117
t.end();
118118
});
119+
120+
tape( 'the function returns `1` if provided `+-0`', opts, function test( t ) {
121+
var v;
122+
123+
v = secd( 0.0 );
124+
t.strictEqual( v, 1.0, 'returns expected value' );
125+
126+
v = secd( -0.0 );
127+
t.strictEqual( v, 1.0, 'returns expected value' );
128+
129+
t.end();
130+
});

0 commit comments

Comments
 (0)