Skip to content

Commit 2840211

Browse files
test: migrate math/base/special/cos to ULP-based testing
PR-URL: #11281 Reviewed-by: Athan Reines <kgryte@gmail.com> Co-authored-by: Karan Anand <anandkarancompsci@gmail.com> Reviewed-by: Karan Anand <anandkarancompsci@gmail.com>
1 parent 8b19d00 commit 2840211

File tree

2 files changed

+14
-113
lines changed

2 files changed

+14
-113
lines changed

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

Lines changed: 7 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,9 @@
2222

2323
var tape = require( 'tape' );
2424
var isnan = require( '@stdlib/math/base/assert/is-nan' );
25-
var abs = require( '@stdlib/math/base/special/abs' );
2625
var PINF = require( '@stdlib/constants/float64/pinf' );
2726
var NINF = require( '@stdlib/constants/float64/ninf' );
28-
var EPS = require( '@stdlib/constants/float64/eps' );
27+
var isAlmostSameValue = require( '@stdlib/assert/is-almost-same-value' );
2928
var cos = require( './../lib' );
3029

3130

@@ -49,8 +48,6 @@ tape( 'main export is a function', function test( t ) {
4948

5049
tape( 'the function computes the cosine (medium negative values)', function test( t ) {
5150
var expected;
52-
var delta;
53-
var tol;
5451
var x;
5552
var y;
5653
var i;
@@ -60,22 +57,14 @@ tape( 'the function computes the cosine (medium negative values)', function test
6057

6158
for ( i = 0; i < x.length; i++ ) {
6259
y = cos( x[ i ] );
63-
if ( y === expected[ i ] ) {
64-
t.strictEqual( y, expected[ i ], 'x: '+x[i]+'. Expected: '+expected[i] );
65-
} else {
66-
delta = abs( y - expected[ i ] );
67-
tol = EPS * abs( expected[ i ] );
68-
t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. y: '+y+'. E: '+expected[i]+'. tol: '+tol+'. Δ: '+delta+'.' );
69-
}
60+
t.strictEqual( isAlmostSameValue( y, expected[ i ], 1 ), true, 'returns expected value' );
7061
}
7162

7263
t.end();
7364
});
7465

7566
tape( 'the function computes the cosine (positive medium values)', function test( t ) {
7667
var expected;
77-
var delta;
78-
var tol;
7968
var x;
8069
var y;
8170
var i;
@@ -85,22 +74,14 @@ tape( 'the function computes the cosine (positive medium values)', function test
8574

8675
for ( i = 0; i < x.length; i++ ) {
8776
y = cos( x[ i ] );
88-
if ( y === expected[ i ] ) {
89-
t.strictEqual( y, expected[ i ], 'x: '+x[i]+'. Expected: '+expected[i] );
90-
} else {
91-
delta = abs( y - expected[ i ] );
92-
tol = EPS * abs( expected[ i ] );
93-
t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. y: '+y+'. E: '+expected[i]+'. tol: '+tol+'. Δ: '+delta+'.' );
94-
}
77+
t.strictEqual( isAlmostSameValue( y, expected[ i ], 1 ), true, 'returns expected value' );
9578
}
9679

9780
t.end();
9881
});
9982

10083
tape( 'the function computes the cosine (large negative values)', function test( t ) {
10184
var expected;
102-
var delta;
103-
var tol;
10485
var x;
10586
var y;
10687
var i;
@@ -110,22 +91,14 @@ tape( 'the function computes the cosine (large negative values)', function test(
11091

11192
for ( i = 0; i < x.length; i++ ) {
11293
y = cos( x[ i ] );
113-
if ( y === expected[ i ] ) {
114-
t.strictEqual( y, expected[ i ], 'x: '+x[i]+'. Expected: '+expected[i] );
115-
} else {
116-
delta = abs( y - expected[ i ] );
117-
tol = EPS * abs( expected[ i ] );
118-
t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. y: '+y+'. E: '+expected[i]+'. tol: '+tol+'. Δ: '+delta+'.' );
119-
}
94+
t.strictEqual( isAlmostSameValue( y, expected[ i ], 1 ), true, 'returns expected value' );
12095
}
12196

12297
t.end();
12398
});
12499

125100
tape( 'the function computes the cosine (large positive values)', function test( t ) {
126101
var expected;
127-
var delta;
128-
var tol;
129102
var x;
130103
var y;
131104
var i;
@@ -135,22 +108,14 @@ tape( 'the function computes the cosine (large positive values)', function test(
135108

136109
for ( i = 0; i < x.length; i++ ) {
137110
y = cos( x[ i ] );
138-
if ( y === expected[ i ] ) {
139-
t.strictEqual( y, expected[ i ], 'x: '+x[i]+'. Expected: '+expected[i] );
140-
} else {
141-
delta = abs( y - expected[ i ] );
142-
tol = EPS * abs( expected[ i ] );
143-
t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. y: '+y+'. E: '+expected[i]+'. tol: '+tol+'. Δ: '+delta+'.' );
144-
}
111+
t.strictEqual( isAlmostSameValue( y, expected[ i ], 1 ), true, 'returns expected value' );
145112
}
146113

147114
t.end();
148115
});
149116

150117
tape( 'the function computes the cosine (huge negative values)', function test( t ) {
151118
var expected;
152-
var delta;
153-
var tol;
154119
var x;
155120
var y;
156121
var i;
@@ -160,22 +125,14 @@ tape( 'the function computes the cosine (huge negative values)', function test(
160125

161126
for ( i = 0; i < x.length; i++ ) {
162127
y = cos( x[ i ] );
163-
if ( y === expected[ i ] ) {
164-
t.strictEqual( y, expected[ i ], 'x: '+x[i]+'. Expected: '+expected[i] );
165-
} else {
166-
delta = abs( y - expected[ i ] );
167-
tol = EPS * abs( expected[ i ] );
168-
t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. y: '+y+'. E: '+expected[i]+'. tol: '+tol+'. Δ: '+delta+'.' );
169-
}
128+
t.strictEqual( isAlmostSameValue( y, expected[ i ], 1 ), true, 'returns expected value' );
170129
}
171130

172131
t.end();
173132
});
174133

175134
tape( 'the function computes the cosine (huge positive values)', function test( t ) {
176135
var expected;
177-
var delta;
178-
var tol;
179136
var x;
180137
var y;
181138
var i;
@@ -185,13 +142,7 @@ tape( 'the function computes the cosine (huge positive values)', function test(
185142

186143
for ( i = 0; i < x.length; i++ ) {
187144
y = cos( x[ i ] );
188-
if ( y === expected[ i ] ) {
189-
t.strictEqual( y, expected[ i ], 'x: '+x[i]+'. Expected: '+expected[i] );
190-
} else {
191-
delta = abs( y - expected[ i ] );
192-
tol = EPS * abs( expected[ i ] );
193-
t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. y: '+y+'. E: '+expected[i]+'. tol: '+tol+'. Δ: '+delta+'.' );
194-
}
145+
t.strictEqual( isAlmostSameValue( y, expected[ i ], 1 ), true, 'returns expected value' );
195146
}
196147

197148
t.end();

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

Lines changed: 7 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,9 @@
2323
var resolve = require( 'path' ).resolve;
2424
var tape = require( 'tape' );
2525
var isnan = require( '@stdlib/math/base/assert/is-nan' );
26-
var abs = require( '@stdlib/math/base/special/abs' );
2726
var PINF = require( '@stdlib/constants/float64/pinf' );
2827
var NINF = require( '@stdlib/constants/float64/ninf' );
29-
var EPS = require( '@stdlib/constants/float64/eps' );
28+
var isAlmostSameValue = require( '@stdlib/assert/is-almost-same-value' );
3029
var tryRequire = require( '@stdlib/utils/try-require' );
3130

3231

@@ -58,8 +57,6 @@ tape( 'main export is a function', opts, function test( t ) {
5857

5958
tape( 'the function computes the cosine (medium negative values)', opts, function test( t ) {
6059
var expected;
61-
var delta;
62-
var tol;
6360
var x;
6461
var y;
6562
var i;
@@ -69,22 +66,14 @@ tape( 'the function computes the cosine (medium negative values)', opts, functio
6966

7067
for ( i = 0; i < x.length; i++ ) {
7168
y = cos( x[ i ] );
72-
if ( y === expected[ i ] ) {
73-
t.strictEqual( y, expected[ i ], 'x: '+x[i]+'. Expected: '+expected[i] );
74-
} else {
75-
delta = abs( y - expected[ i ] );
76-
tol = EPS * abs( expected[ i ] );
77-
t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. y: '+y+'. E: '+expected[i]+'. tol: '+tol+'. Δ: '+delta+'.' );
78-
}
69+
t.strictEqual( isAlmostSameValue( y, expected[ i ], 1 ), true, 'returns expected value' );
7970
}
8071

8172
t.end();
8273
});
8374

8475
tape( 'the function computes the cosine (positive medium values)', opts, function test( t ) {
8576
var expected;
86-
var delta;
87-
var tol;
8877
var x;
8978
var y;
9079
var i;
@@ -94,22 +83,14 @@ tape( 'the function computes the cosine (positive medium values)', opts, functio
9483

9584
for ( i = 0; i < x.length; i++ ) {
9685
y = cos( x[ i ] );
97-
if ( y === expected[ i ] ) {
98-
t.strictEqual( y, expected[ i ], 'x: '+x[i]+'. Expected: '+expected[i] );
99-
} else {
100-
delta = abs( y - expected[ i ] );
101-
tol = EPS * abs( expected[ i ] );
102-
t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. y: '+y+'. E: '+expected[i]+'. tol: '+tol+'. Δ: '+delta+'.' );
103-
}
86+
t.strictEqual( isAlmostSameValue( y, expected[ i ], 1 ), true, 'returns expected value' );
10487
}
10588

10689
t.end();
10790
});
10891

10992
tape( 'the function computes the cosine (large negative values)', opts, function test( t ) {
11093
var expected;
111-
var delta;
112-
var tol;
11394
var x;
11495
var y;
11596
var i;
@@ -119,22 +100,14 @@ tape( 'the function computes the cosine (large negative values)', opts, function
119100

120101
for ( i = 0; i < x.length; i++ ) {
121102
y = cos( x[ i ] );
122-
if ( y === expected[ i ] ) {
123-
t.strictEqual( y, expected[ i ], 'x: '+x[i]+'. Expected: '+expected[i] );
124-
} else {
125-
delta = abs( y - expected[ i ] );
126-
tol = EPS * abs( expected[ i ] );
127-
t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. y: '+y+'. E: '+expected[i]+'. tol: '+tol+'. Δ: '+delta+'.' );
128-
}
103+
t.strictEqual( isAlmostSameValue( y, expected[ i ], 1 ), true, 'returns expected value' );
129104
}
130105

131106
t.end();
132107
});
133108

134109
tape( 'the function computes the cosine (large positive values)', opts, function test( t ) {
135110
var expected;
136-
var delta;
137-
var tol;
138111
var x;
139112
var y;
140113
var i;
@@ -144,22 +117,14 @@ tape( 'the function computes the cosine (large positive values)', opts, function
144117

145118
for ( i = 0; i < x.length; i++ ) {
146119
y = cos( x[ i ] );
147-
if ( y === expected[ i ] ) {
148-
t.strictEqual( y, expected[ i ], 'x: '+x[i]+'. Expected: '+expected[i] );
149-
} else {
150-
delta = abs( y - expected[ i ] );
151-
tol = EPS * abs( expected[ i ] );
152-
t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. y: '+y+'. E: '+expected[i]+'. tol: '+tol+'. Δ: '+delta+'.' );
153-
}
120+
t.strictEqual( isAlmostSameValue( y, expected[ i ], 1 ), true, 'returns expected value' );
154121
}
155122

156123
t.end();
157124
});
158125

159126
tape( 'the function computes the cosine (huge negative values)', opts, function test( t ) {
160127
var expected;
161-
var delta;
162-
var tol;
163128
var x;
164129
var y;
165130
var i;
@@ -169,22 +134,13 @@ tape( 'the function computes the cosine (huge negative values)', opts, function
169134

170135
for ( i = 0; i < x.length; i++ ) {
171136
y = cos( x[ i ] );
172-
if ( y === expected[ i ] ) {
173-
t.strictEqual( y, expected[ i ], 'x: '+x[i]+'. Expected: '+expected[i] );
174-
} else {
175-
delta = abs( y - expected[ i ] );
176-
tol = EPS * abs( expected[ i ] );
177-
t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. y: '+y+'. E: '+expected[i]+'. tol: '+tol+'. Δ: '+delta+'.' );
178-
}
137+
t.strictEqual( isAlmostSameValue( y, expected[ i ], 1 ), true, 'returns expected value' );
179138
}
180-
181139
t.end();
182140
});
183141

184142
tape( 'the function computes the cosine (huge positive values)', opts, function test( t ) {
185143
var expected;
186-
var delta;
187-
var tol;
188144
var x;
189145
var y;
190146
var i;
@@ -194,13 +150,7 @@ tape( 'the function computes the cosine (huge positive values)', opts, function
194150

195151
for ( i = 0; i < x.length; i++ ) {
196152
y = cos( x[ i ] );
197-
if ( y === expected[ i ] ) {
198-
t.strictEqual( y, expected[ i ], 'x: '+x[i]+'. Expected: '+expected[i] );
199-
} else {
200-
delta = abs( y - expected[ i ] );
201-
tol = EPS * abs( expected[ i ] );
202-
t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. y: '+y+'. E: '+expected[i]+'. tol: '+tol+'. Δ: '+delta+'.' );
203-
}
153+
t.strictEqual( isAlmostSameValue( y, expected[ i ], 1 ), true, 'returns expected value' );
204154
}
205155

206156
t.end();

0 commit comments

Comments
 (0)