Skip to content

Commit d9ad02c

Browse files
test: add tests for IEEE 754-2019 compliance
PR-URL: #6557 Ref: #365 Reviewed-by: Philipp Burckhardt <[email protected]> Signed-off-by: Karan Anand <[email protected]>
1 parent 9caa895 commit d9ad02c

File tree

6 files changed

+84
-0
lines changed

6 files changed

+84
-0
lines changed

Diff for: lib/node_modules/@stdlib/math/base/special/asin/test/test.js

+14
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ var isnan = require( '@stdlib/math/base/assert/is-nan' );
2525
var randu = require( '@stdlib/random/base/randu' );
2626
var EPS = require( '@stdlib/constants/float64/eps' );
2727
var abs = require( '@stdlib/math/base/special/abs' );
28+
var isNegativeZero = require( '@stdlib/assert/is-negative-zero' );
29+
var isPositiveZero = require( '@stdlib/assert/is-positive-zero' );
2830
var asin = require( './../lib' );
2931

3032

@@ -142,3 +144,15 @@ tape( 'the function returns `NaN` if provided a value greater than `+1`', functi
142144
}
143145
t.end();
144146
});
147+
148+
tape( 'the function returns `-0` if provided `-0`', function test( t ) {
149+
var v = asin( -0.0 );
150+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
151+
t.end();
152+
});
153+
154+
tape( 'the function returns `+0` if provided `+0`', function test( t ) {
155+
var v = asin( 0.0 );
156+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
157+
t.end();
158+
});

Diff for: lib/node_modules/@stdlib/math/base/special/asin/test/test.native.js

+14
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ var randu = require( '@stdlib/random/base/randu' );
2727
var tryRequire = require( '@stdlib/utils/try-require' );
2828
var EPS = require( '@stdlib/constants/float64/eps' );
2929
var abs = require( '@stdlib/math/base/special/abs' );
30+
var isNegativeZero = require( '@stdlib/assert/is-negative-zero' );
31+
var isPositiveZero = require( '@stdlib/assert/is-positive-zero' );
3032

3133

3234
// FIXTURES //
@@ -151,3 +153,15 @@ tape( 'the function returns `NaN` if provided a value greater than `+1`', opts,
151153
}
152154
t.end();
153155
});
156+
157+
tape( 'the function returns `-0` if provided `-0`', opts, function test( t ) {
158+
var v = asin( -0.0 );
159+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
160+
t.end();
161+
});
162+
163+
tape( 'the function returns `+0` if provided `+0`', opts, function test( t ) {
164+
var v = asin( 0.0 );
165+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
166+
t.end();
167+
});

Diff for: lib/node_modules/@stdlib/math/base/special/sinpi/test/test.js

+14
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ var PINF = require( '@stdlib/constants/float64/pinf' );
2626
var NINF = require( '@stdlib/constants/float64/ninf' );
2727
var EPS = require( '@stdlib/constants/float64/eps' );
2828
var abs = require( '@stdlib/math/base/special/abs' );
29+
var isNegativeZero = require( '@stdlib/assert/is-negative-zero' );
30+
var isPositiveZero = require( '@stdlib/assert/is-positive-zero' );
2931
var isSameValue = require( '@stdlib/assert/is-same-value' );
3032
var sinpi = require( './../lib/' );
3133

@@ -58,6 +60,18 @@ tape( 'if provided `NaN`, the function returns `NaN`', function test( t ) {
5860
t.end();
5961
});
6062

63+
tape( 'the function returns `-0` if provided `-0`', function test( t ) {
64+
var v = sinpi( -0.0 );
65+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
66+
t.end();
67+
});
68+
69+
tape( 'the function returns `+0` if provided `+0`', function test( t ) {
70+
var v = sinpi( 0.0 );
71+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
72+
t.end();
73+
});
74+
6175
tape( 'if provided an integer, the function returns `+-0`', function test( t ) {
6276
var expected;
6377
var x;

Diff for: lib/node_modules/@stdlib/math/base/special/sinpi/test/test.native.js

+14
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ var PINF = require( '@stdlib/constants/float64/pinf' );
2727
var NINF = require( '@stdlib/constants/float64/ninf' );
2828
var EPS = require( '@stdlib/constants/float64/eps' );
2929
var abs = require( '@stdlib/math/base/special/abs' );
30+
var isNegativeZero = require( '@stdlib/assert/is-negative-zero' );
31+
var isPositiveZero = require( '@stdlib/assert/is-positive-zero' );
3032
var isSameValue = require( '@stdlib/assert/is-same-value' );
3133
var tryRequire = require( '@stdlib/utils/try-require' );
3234

@@ -67,6 +69,18 @@ tape( 'if provided `NaN`, the function returns `NaN`', opts, function test( t )
6769
t.end();
6870
});
6971

72+
tape( 'the function returns `-0` if provided `-0`', opts, function test( t ) {
73+
var v = sinpi( -0.0 );
74+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
75+
t.end();
76+
});
77+
78+
tape( 'the function returns `+0` if provided `+0`', opts, function test( t ) {
79+
var v = sinpi( 0.0 );
80+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
81+
t.end();
82+
});
83+
7084
tape( 'if provided an integer, the function returns `+-0`', opts, function test( t ) {
7185
var expected;
7286
var x;

Diff for: lib/node_modules/@stdlib/math/base/special/tan/test/test.js

+14
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ var PI = require( '@stdlib/constants/float64/pi' );
2727
var EPS = require( '@stdlib/constants/float64/eps' );
2828
var PINF = require( '@stdlib/constants/float64/pinf' );
2929
var NINF = require( '@stdlib/constants/float64/ninf' );
30+
var isNegativeZero = require( '@stdlib/assert/is-negative-zero' );
31+
var isPositiveZero = require( '@stdlib/assert/is-positive-zero' );
3032
var tan = require( './../lib' );
3133

3234

@@ -448,3 +450,15 @@ tape( 'if provided `-infinity`, the function returns `NaN`', function test( t )
448450
t.equal( isnan( v ), true, 'returns expected value' );
449451
t.end();
450452
});
453+
454+
tape( 'the function returns `-0` if provided `-0`', function test( t ) {
455+
var v = tan( -0.0 );
456+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
457+
t.end();
458+
});
459+
460+
tape( 'the function returns `+0` if provided `+0`', function test( t ) {
461+
var v = tan( 0.0 );
462+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
463+
t.end();
464+
});

Diff for: lib/node_modules/@stdlib/math/base/special/tan/test/test.native.js

+14
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ var PI = require( '@stdlib/constants/float64/pi' );
2828
var EPS = require( '@stdlib/constants/float64/eps' );
2929
var PINF = require( '@stdlib/constants/float64/pinf' );
3030
var NINF = require( '@stdlib/constants/float64/ninf' );
31+
var isPositiveZero = require( '@stdlib/assert/is-positive-zero' );
32+
var isNegativeZero = require( '@stdlib/assert/is-negative-zero' );
3133
var tryRequire = require( '@stdlib/utils/try-require' );
3234

3335

@@ -457,3 +459,15 @@ tape( 'if provided `-infinity`, the function returns `NaN`', opts, function test
457459
t.equal( isnan( v ), true, 'returns expected value' );
458460
t.end();
459461
});
462+
463+
tape( 'the function returns `-0` if provided `-0`', opts, function test( t ) {
464+
var v = tan( -0.0 );
465+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
466+
t.end();
467+
});
468+
469+
tape( 'the function returns `+0` if provided `+0`', opts, function test( t ) {
470+
var v = tan( 0.0 );
471+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
472+
t.end();
473+
});

0 commit comments

Comments
 (0)