Skip to content

Commit 8e6d16f

Browse files
committed
test: add tests for IEEE 754-2019 compliance
PR-URL: stdlib-js#6595 Ref: stdlib-js#365 Reviewed-by: Philipp Burckhardt <[email protected]>
1 parent fdba081 commit 8e6d16f

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/asind/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 uniform = require( '@stdlib/random/base/uniform' );
2626
var abs = require( '@stdlib/math/base/special/abs' );
2727
var EPS = require( '@stdlib/constants/float64/eps' );
28+
var isNegativeZero = require( '@stdlib/assert/is-negative-zero' );
29+
var isPositiveZero = require( '@stdlib/assert/is-positive-zero' );
2830
var asind = require( './../lib' );
2931

3032

@@ -117,3 +119,15 @@ tape( 'the function returns `NaN` if provided a value greater than `+1`', functi
117119
}
118120
t.end();
119121
});
122+
123+
tape( 'the function returns `-0` if provided `-0`', function test( t ) {
124+
var v = asind( -0.0 );
125+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
126+
t.end();
127+
});
128+
129+
tape( 'the function returns `+0` if provided `+0`', function test( t ) {
130+
var v = asind( 0.0 );
131+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
132+
t.end();
133+
});

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

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

3133

@@ -126,3 +128,15 @@ tape( 'the function returns `NaN` if provided a value greater than `+1`', opts,
126128
}
127129
t.end();
128130
});
131+
132+
tape( 'the function returns `-0` if provided `-0`', opts, function test( t ) {
133+
var v = asind( -0.0 );
134+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
135+
t.end();
136+
});
137+
138+
tape( 'the function returns `+0` if provided `+0`', opts, function test( t ) {
139+
var v = asind( 0.0 );
140+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
141+
t.end();
142+
});

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

+14
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ var uniform = require( '@stdlib/random/base/uniform' );
2626
var abs = require( '@stdlib/math/base/special/abs' );
2727
var EPS = require( '@stdlib/constants/float32/eps' );
2828
var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' );
29+
var isNegativeZero = require( '@stdlib/assert/is-negative-zero' );
30+
var isPositiveZero = require( '@stdlib/assert/is-positive-zero' );
2931
var asindf = require( './../lib' );
3032

3133

@@ -122,3 +124,15 @@ tape( 'the function returns `NaN` if provided a value greater than `+1`', functi
122124
}
123125
t.end();
124126
});
127+
128+
tape( 'the function returns `-0` if provided `-0`', function test( t ) {
129+
var v = asindf( -0.0 );
130+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
131+
t.end();
132+
});
133+
134+
tape( 'the function returns `+0` if provided `+0`', function test( t ) {
135+
var v = asindf( 0.0 );
136+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
137+
t.end();
138+
});

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

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

3234

@@ -131,3 +133,15 @@ tape( 'the function returns `NaN` if provided a value greater than `+1`', opts,
131133
}
132134
t.end();
133135
});
136+
137+
tape( 'the function returns `-0` if provided `-0`', opts, function test( t ) {
138+
var v = asindf( -0.0 );
139+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
140+
t.end();
141+
});
142+
143+
tape( 'the function returns `+0` if provided `+0`', opts, function test( t ) {
144+
var v = asindf( 0.0 );
145+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
146+
t.end();
147+
});

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

+14
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ var EPS = require( '@stdlib/constants/float32/eps' );
2626
var uniform = require( '@stdlib/random/base/uniform' );
2727
var abs = require( '@stdlib/math/base/special/abs' );
2828
var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' );
29+
var isNegativeZero = require( '@stdlib/assert/is-negative-zero' );
30+
var isPositiveZero = require( '@stdlib/assert/is-positive-zero' );
2931
var asinf = require( './../lib' );
3032

3133

@@ -149,3 +151,15 @@ tape( 'the function returns `NaN` if provided a value greater than `+1`', functi
149151
}
150152
t.end();
151153
});
154+
155+
tape( 'the function returns `-0` if provided `-0`', function test( t ) {
156+
var v = asinf( -0.0 );
157+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
158+
t.end();
159+
});
160+
161+
tape( 'the function returns `+0` if provided `+0`', function test( t ) {
162+
var v = asinf( 0.0 );
163+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
164+
t.end();
165+
});

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

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

3234

@@ -158,3 +160,15 @@ tape( 'the function returns `NaN` if provided a value greater than `+1`', opts,
158160
}
159161
t.end();
160162
});
163+
164+
tape( 'the function returns `-0` if provided `-0`', opts, function test( t ) {
165+
var v = asinf( -0.0 );
166+
t.strictEqual( isNegativeZero( v ), true, 'returns expected value' );
167+
t.end();
168+
});
169+
170+
tape( 'the function returns `+0` if provided `+0`', opts, function test( t ) {
171+
var v = asinf( 0.0 );
172+
t.strictEqual( isPositiveZero( v ), true, 'returns expected value' );
173+
t.end();
174+
});

0 commit comments

Comments
 (0)