Skip to content

Commit 69e1068

Browse files
authored
test: adjust tolerance in math/base/special/hyp2f1
PR-URL: #11351 Reviewed-by: Athan Reines <kgryte@gmail.com>
1 parent 75860d1 commit 69e1068

2 files changed

Lines changed: 21 additions & 15 deletions

File tree

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
// MODULES //
2222

2323
var tape = require( 'tape' );
24-
var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
24+
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2525
var PINF = require( '@stdlib/constants/float64/pinf' );
2626
var isAlmostSameValue = require( '@stdlib/assert/is-almost-same-value' );
2727
var hyp2f1 = require( './../lib' );
@@ -64,16 +64,16 @@ tape( 'the function returns `NaN` if provided `NaN`', function test( t ) {
6464
var v;
6565

6666
v = hyp2f1( NaN, 3.0, 2.0, 0.5 );
67-
t.strictEqual( isnanf( v ), true, 'returns expected value' );
67+
t.strictEqual( isnan( v ), true, 'returns expected value' );
6868

6969
v = hyp2f1( 0.0, NaN, 2.0, 0.5 );
70-
t.strictEqual( isnanf( v ), true, 'returns expected value' );
70+
t.strictEqual( isnan( v ), true, 'returns expected value' );
7171

7272
v = hyp2f1( 0.0, 3.0, NaN, 0.5 );
73-
t.strictEqual( isnanf( v ), true, 'returns expected value' );
73+
t.strictEqual( isnan( v ), true, 'returns expected value' );
7474

7575
v = hyp2f1( 0.0, 3.0, 2.0, NaN );
76-
t.strictEqual( isnanf( v ), true, 'returns expected value' );
76+
t.strictEqual( isnan( v ), true, 'returns expected value' );
7777

7878
t.end();
7979
});

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

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

2323
var resolve = require( 'path' ).resolve;
2424
var tape = require( 'tape' );
25-
var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
25+
var isnan = require( '@stdlib/math/base/assert/is-nan' );
2626
var PINF = require( '@stdlib/constants/float64/pinf' );
2727
var isAlmostSameValue = require( '@stdlib/assert/is-almost-same-value' );
2828
var tryRequire = require( '@stdlib/utils/try-require' );
@@ -73,16 +73,16 @@ tape( 'the function returns `NaN` if provided `NaN`', opts, function test( t ) {
7373
var v;
7474

7575
v = hyp2f1( NaN, 3.0, 2.0, 0.5 );
76-
t.strictEqual( isnanf( v ), true, 'returns expected value' );
76+
t.strictEqual( isnan( v ), true, 'returns expected value' );
7777

7878
v = hyp2f1( 0.0, NaN, 2.0, 0.5 );
79-
t.strictEqual( isnanf( v ), true, 'returns expected value' );
79+
t.strictEqual( isnan( v ), true, 'returns expected value' );
8080

8181
v = hyp2f1( 0.0, 3.0, NaN, 0.5 );
82-
t.strictEqual( isnanf( v ), true, 'returns expected value' );
82+
t.strictEqual( isnan( v ), true, 'returns expected value' );
8383

8484
v = hyp2f1( 0.0, 3.0, 2.0, NaN );
85-
t.strictEqual( isnanf( v ), true, 'returns expected value' );
85+
t.strictEqual( isnan( v ), true, 'returns expected value' );
8686

8787
t.end();
8888
});
@@ -167,7 +167,8 @@ tape( 'the function correctly evaluates the hypergeometric function', opts, func
167167
t.strictEqual( v, PINF, 'returns expected value' );
168168
continue;
169169
}
170-
t.strictEqual( isAlmostSameValue( v, expected[ i ], 1 ), true, 'returns expected value' );
170+
// NOTE: the tolerance here is larger than for the JavaScript implementation due to compiler optimizations which may be performed resulting in result divergence. For discussion, see https://github.com/stdlib-js/stdlib/pull/2298#discussion_r1624765205
171+
t.strictEqual( isAlmostSameValue( v, expected[ i ], 2 ), true, 'returns expected value' );
171172
}
172173
t.end();
173174
});
@@ -193,7 +194,8 @@ tape( 'the function correctly evaluates the hypergeometric function', opts, func
193194
t.strictEqual( v, PINF, 'returns expected value' );
194195
continue;
195196
}
196-
t.strictEqual( isAlmostSameValue( v, expected[ i ], 7 ), true, 'returns expected value' );
197+
// NOTE: the tolerance here is larger than for the JavaScript implementation due to compiler optimizations which may be performed resulting in result divergence. For discussion, see https://github.com/stdlib-js/stdlib/pull/2298#discussion_r1624765205
198+
t.strictEqual( isAlmostSameValue( v, expected[ i ], 27 ), true, 'returns expected value' );
197199
}
198200
t.end();
199201
});
@@ -219,7 +221,8 @@ tape( 'the function correctly evaluates the hypergeometric function', opts, func
219221
t.strictEqual( v, PINF, 'returns expected value' );
220222
continue;
221223
}
222-
t.strictEqual( isAlmostSameValue( v, expected[ i ], 18 ), true, 'returns expected value' );
224+
// NOTE: the tolerance here is larger than for the JavaScript implementation due to compiler optimizations which may be performed resulting in result divergence. For discussion, see https://github.com/stdlib-js/stdlib/pull/2298#discussion_r1624765205
225+
t.strictEqual( isAlmostSameValue( v, expected[ i ], 45 ), true, 'returns expected value' );
223226
}
224227
t.end();
225228
});
@@ -245,7 +248,8 @@ tape( 'the function correctly evaluates the hypergeometric function', opts, func
245248
t.strictEqual( v, PINF, 'returns expected value' );
246249
continue;
247250
}
248-
t.strictEqual( isAlmostSameValue( v, expected[ i ], 33 ), true, 'returns expected value' );
251+
// NOTE: the tolerance here is larger than for the JavaScript implementation due to compiler optimizations which may be performed resulting in result divergence. For discussion, see https://github.com/stdlib-js/stdlib/pull/2298#discussion_r1624765205
252+
t.strictEqual( isAlmostSameValue( v, expected[ i ], 100 ), true, 'returns expected value' );
249253
}
250254
t.end();
251255
});
@@ -267,7 +271,9 @@ tape( 'the function correctly evaluates the hypergeometric function', opts, func
267271

268272
for ( i = 0; i < x.length; i++ ) {
269273
v = hyp2f1( a[ i ], b[ i ], c[ i ], x[ i ] );
270-
t.strictEqual( isAlmostSameValue( v, expected[ i ], 294333 ), true, 'returns expected value' );
274+
275+
// NOTE: the tolerance here is larger than for the JavaScript implementation due to compiler optimizations which may be performed resulting in result divergence. For discussion, see https://github.com/stdlib-js/stdlib/pull/2298#discussion_r1624765205
276+
t.strictEqual( isAlmostSameValue( v, expected[ i ], 391554 ), true, 'returns expected value' );
271277
}
272278
t.end();
273279
});

0 commit comments

Comments
 (0)