diff --git a/lib/node_modules/@stdlib/math/base/special/sincosdf/test/test.assign.js b/lib/node_modules/@stdlib/math/base/special/sincosdf/test/test.assign.js index 907d5ff0d62b..9d5ef0cc2e9a 100644 --- a/lib/node_modules/@stdlib/math/base/special/sincosdf/test/test.assign.js +++ b/lib/node_modules/@stdlib/math/base/special/sincosdf/test/test.assign.js @@ -21,11 +21,10 @@ // MODULES // var tape = require( 'tape' ); +var isAlmostSameValue = require( '@stdlib/number/float32/base/assert/is-almost-same-value' ); var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); var PINF = require( '@stdlib/constants/float32/pinf' ); var NINF = require( '@stdlib/constants/float32/ninf' ); -var EPS = require( '@stdlib/constants/float32/eps' ); -var absf = require( '@stdlib/math/base/special/absf' ); var Float32Array = require( '@stdlib/array/float32' ); var f32 = require( '@stdlib/number/float64/base/to-float32' ); var sincosdf = require( './../lib/assign.js' ); @@ -51,9 +50,7 @@ tape( 'main export is a function', function test( t ) { tape( 'the function computes the sine and cosine (for -256*180.0 < x < 0)', function test( t ) { var cosine; - var delta; var sine; - var tol; var x; var y; var z; @@ -70,29 +67,15 @@ tape( 'the function computes the sine and cosine (for -256*180.0 < x < 0)', func sine[ i ] = f32( sine[ i ] ); cosine[ i ] = f32( cosine[ i ] ); t.strictEqual( y, z, 'returns output array' ); - if ( y[ 0 ] === sine[ i ] ) { - t.strictEqual( y[ 0 ], sine[ i ], 'x: ' + x[ i ] + '. Expected: ' + sine[ i ] ); - } else { - delta = absf( y[ 0 ] - sine[ i ] ); - tol = EPS * absf( sine[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + y[ 0 ] + '. Expected: ' + sine[ i ] + '. tol: ' + tol + '. delta: ' + delta + '.' ); - } - if ( y[ 1 ] === cosine[ i ] ) { - t.strictEqual( y[ 1 ], cosine[ i ], 'x: ' + x[ i ] + '. Expected: ' + cosine[ i ] ); - } else { - delta = absf( y[ 1 ] - cosine[ i ] ); - tol = 1.01 * EPS * absf( cosine[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + y[ 1 ] + '. Expected: ' + cosine[ i ] + '. tol: ' + tol + '. delta: ' + delta + '.' ); - } + t.strictEqual( isAlmostSameValue( y[ 0 ], sine[ i ], 1 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( y[ 1 ], cosine[ i ], 1 ), true, 'returns expected value' ); } t.end(); } ); tape( 'the function computes the sine and cosine (for 0 < x < 256*180.0)', function test( t ) { var cosine; - var delta; var sine; - var tol; var x; var y; var i; @@ -109,29 +92,15 @@ tape( 'the function computes the sine and cosine (for 0 < x < 256*180.0)', funct sine[ i ] = f32( sine[ i ] ); cosine[ i ] = f32( cosine[ i ] ); t.strictEqual( y, z, 'returns output array' ); - if ( y[ 0 ] === sine[ i ] ) { - t.strictEqual( y[ 0 ], sine[ i ], 'x: ' + x[ i ] + '. Expected: ' + sine[ i ] ); - } else { - delta = absf( y[ 0 ] - sine[ i ] ); - tol = EPS * absf( sine[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + y[ 0 ] + '. Expected: ' + sine[ i ] + '. tol: ' + tol + '. delta: ' + delta + '.' ); - } - if ( y[ 1 ] === cosine[ i ] ) { - t.strictEqual( y[ 1 ], cosine[ i ], 'x: ' + x[ i ] + '. Expected: ' + cosine[ i ] ); - } else { - delta = absf( y[ 1 ] - cosine[ i ] ); - tol = 1.01 * EPS * absf( cosine[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + y[ 1 ] + '. Expected: ' + cosine[ i ] + '. tol: ' + tol + '. delta: ' + delta + '.' ); - } + t.strictEqual( isAlmostSameValue( y[ 0 ], sine[ i ], 1 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( y[ 1 ], cosine[ i ], 1 ), true, 'returns expected value' ); } t.end(); } ); tape( 'the function computes the sine and cosine (for -2**60 (180.0/2) < x < -2**20 (180.0/2))', function test( t ) { var cosine; - var delta; var sine; - var tol; var x; var y; var i; @@ -148,29 +117,15 @@ tape( 'the function computes the sine and cosine (for -2**60 (180.0/2) < x < -2* sine[ i ] = f32( sine[ i ] ); cosine[ i ] = f32( cosine[ i ] ); t.strictEqual( y, z, 'returns output array' ); - if ( y[ 0 ] === sine[ i ] ) { - t.strictEqual( y[ 0 ], sine[ i ], 'x: ' + x[ i ] + '. Expected: ' + sine[ i ] ); - } else { - delta = absf( y[ 0 ] - sine[ i ] ); - tol = EPS * absf( sine[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + y[ 0 ] + '. Expected: ' + sine[ i ] + '. tol: ' + tol + '. delta: ' + delta + '.' ); - } - if ( y[ 1 ] === cosine[ i ] ) { - t.strictEqual( y[ 1 ], cosine[ i ], 'x: ' + x[ i ] + '. Expected: ' + cosine[ i ] ); - } else { - delta = absf( y[ 1 ] - cosine[ i ] ); - tol = EPS * absf( cosine[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + y[ 1 ] + '. Expected: ' + cosine[ i ] + '. tol: ' + tol + '. delta: ' + delta + '.' ); - } + t.strictEqual( isAlmostSameValue( y[ 0 ], sine[ i ], 1 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( y[ 1 ], cosine[ i ], 0 ), true, 'returns expected value' ); } t.end(); } ); tape( 'the function computes the sine and cosine (for 2**20 (180.0/2) < x < 2**60 (180.0/2))', function test( t ) { var cosine; - var delta; var sine; - var tol; var x; var y; var i; @@ -187,29 +142,15 @@ tape( 'the function computes the sine and cosine (for 2**20 (180.0/2) < x < 2**6 sine[ i ] = f32( sine[ i ] ); cosine[ i ] = f32( cosine[ i ] ); t.strictEqual( y, z, 'returns output array' ); - if ( y[ 0 ] === sine[ i ] ) { - t.strictEqual( y[ 0 ], sine[ i ], 'x: ' + x[ i ] + '. Expected: ' + sine[ i ] ); - } else { - delta = absf( y[ 0 ] - sine[ i ] ); - tol = EPS * absf( sine[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + y[ 0 ] + '. Expected: ' + sine[ i ] + '. tol: ' + tol + '. delta: ' + delta + '.' ); - } - if ( y[ 1 ] === cosine[ i ] ) { - t.strictEqual( y[ 1 ], cosine[ i ], 'x: ' + x[ i ] + '. Expected: ' + cosine[ i ] ); - } else { - delta = absf( y[ 1 ] - cosine[ i ] ); - tol = EPS * absf( cosine[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + y[ 1 ] + '. Expected: ' + cosine[ i ] + '. tol: ' + tol + '. delta: ' + delta + '.' ); - } + t.strictEqual( isAlmostSameValue( y[ 0 ], sine[ i ], 1 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( y[ 1 ], cosine[ i ], 0 ), true, 'returns expected value' ); } t.end(); } ); tape( 'the function computes the sine and cosine (for x <= -2**60 (180.0/2))', function test( t ) { var cosine; - var delta; var sine; - var tol; var x; var y; var i; @@ -226,29 +167,15 @@ tape( 'the function computes the sine and cosine (for x <= -2**60 (180.0/2))', f sine[ i ] = f32( sine[ i ] ); cosine[ i ] = f32( cosine[ i ] ); t.strictEqual( y, z, 'returns output array' ); - if ( y[ 0 ] === sine[ i ] ) { - t.strictEqual( y[ 0 ], sine[ i ], 'x: ' + x[ i ] + '. Expected: ' + sine[ i ] ); - } else { - delta = absf( y[ 0 ] - sine[ i ] ); - tol = EPS * absf( sine[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + y[ 0 ] + '. Expected: ' + sine[ i ] + '. tol: ' + tol + '. delta: ' + delta + '.' ); - } - if ( y[ 1 ] === cosine[ i ] ) { - t.strictEqual( y[ 1 ], cosine[ i ], 'x: ' + x[ i ] + '. Expected: ' + cosine[ i ] ); - } else { - delta = absf( y[ 1 ] - cosine[ i ] ); - tol = EPS * absf( cosine[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + y[ 1 ] + '. Expected: ' + cosine[ i ] + '. tol: ' + tol + '. delta: ' + delta + '.' ); - } + t.strictEqual( isAlmostSameValue( y[ 0 ], sine[ i ], 1 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( y[ 1 ], cosine[ i ], 0 ), true, 'returns expected value' ); } t.end(); } ); tape( 'the function computes the sine and cosine (for x >= 2**60 (180.0/2))', function test( t ) { var cosine; - var delta; var sine; - var tol; var x; var y; var i; @@ -265,20 +192,8 @@ tape( 'the function computes the sine and cosine (for x >= 2**60 (180.0/2))', fu sine[ i ] = f32( sine[ i ] ); cosine[ i ] = f32( cosine[ i ] ); t.strictEqual( y, z, 'returns output array' ); - if ( y[ 0 ] === sine[ i ] ) { - t.strictEqual( y[ 0 ], sine[ i ], 'x: ' + x[ i ] + '. Expected: ' + sine[ i ] ); - } else { - delta = absf( y[ 0 ] - sine[ i ] ); - tol = EPS * absf( sine[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + y[ 0 ] + '. Expected: ' + sine[ i ] + '. tol: ' + tol + '. delta: ' + delta + '.' ); - } - if ( y[ 1 ] === cosine[ i ] ) { - t.strictEqual( y[ 1 ], cosine[ i ], 'x: ' + x[ i ] + '. Expected: ' + cosine[ i ] ); - } else { - delta = absf( y[ 1 ] - cosine[ i ] ); - tol = EPS * absf( cosine[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + y[ 1 ] + '. Expected: ' + cosine[ i ] + '. tol: ' + tol + '. delta: ' + delta + '.' ); - } + t.strictEqual( isAlmostSameValue( y[ 0 ], sine[ i ], 1 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( y[ 1 ], cosine[ i ], 0 ), true, 'returns expected value' ); } t.end(); } ); diff --git a/lib/node_modules/@stdlib/math/base/special/sincosdf/test/test.main.js b/lib/node_modules/@stdlib/math/base/special/sincosdf/test/test.main.js index 9e0b8bc1b0b5..5ed05d5caf1c 100644 --- a/lib/node_modules/@stdlib/math/base/special/sincosdf/test/test.main.js +++ b/lib/node_modules/@stdlib/math/base/special/sincosdf/test/test.main.js @@ -21,11 +21,10 @@ // MODULES // var tape = require( 'tape' ); +var isAlmostSameValue = require( '@stdlib/number/float32/base/assert/is-almost-same-value' ); var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); var PINF = require( '@stdlib/constants/float32/pinf' ); var NINF = require( '@stdlib/constants/float32/ninf' ); -var EPS = require( '@stdlib/constants/float32/eps' ); -var absf = require( '@stdlib/math/base/special/absf' ); var f32 = require( '@stdlib/number/float64/base/to-float32' ); var sincosdf = require( './../lib/main.js' ); @@ -50,9 +49,7 @@ tape( 'main export is a function', function test( t ) { tape( 'the function computes the sine and cosine (for -256*180.0 < x < 0)', function test( t ) { var cosine; - var delta; var sine; - var tol; var x; var y; var i; @@ -66,29 +63,15 @@ tape( 'the function computes the sine and cosine (for -256*180.0 < x < 0)', func y = sincosdf( x[ i ] ); sine[ i ] = f32( sine[ i ] ); cosine[ i ] = f32( cosine[ i ] ); - if ( y[ 0 ] === sine[ i ] ) { - t.strictEqual( y[ 0 ], sine[ i ], 'x: ' + x[ i ] + '. Expected: ' + sine[ i ]); - } else { - delta = absf( y[ 0 ] - sine[ i ] ); - tol = EPS * absf( sine[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + y[ 0 ] + '. Expected: ' + sine[ i ] + '. tol: ' + tol + '. delta: ' + delta + '.' ); - } - if ( y[ 1 ] === cosine[ i ] ) { - t.strictEqual( y[ 1 ], cosine[ i ], 'x: ' + x[ i ] + '. Expected: ' + cosine[ i ] ); - } else { - delta = absf( y[ 1 ] - cosine[ i ] ); - tol = 1.01 * EPS * absf( cosine[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + y[ 1 ] + '. Expected: ' + cosine[ i ] + '. tol: ' + tol + '. delta: ' + delta + '.' ); - } + t.strictEqual( isAlmostSameValue( y[ 0 ], sine[ i ], 1 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( y[ 1 ], cosine[ i ], 1 ), true, 'returns expected value' ); } t.end(); } ); tape( 'the function computes the sine and cosine (for 0 < x < 256*180.0)', function test( t ) { var cosine; - var delta; var sine; - var tol; var x; var y; var i; @@ -102,29 +85,15 @@ tape( 'the function computes the sine and cosine (for 0 < x < 256*180.0)', funct y = sincosdf( x[ i ] ); sine[ i ] = f32( sine[ i ] ); cosine[ i ] = f32( cosine[ i ] ); - if ( y[ 0 ] === sine[ i ] ) { - t.strictEqual( y[ 0 ], sine[ i ], 'x: ' + x[ i ] + '. Expected: ' + sine[ i ] ); - } else { - delta = absf( y[ 0 ] - sine[ i ] ); - tol = EPS * absf( sine[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + y[ 0 ] + '. Expected: ' + sine[ i ] + '. tol: ' + tol + '. delta: ' + delta + '.' ); - } - if ( y[ 1 ] === cosine[ i ] ) { - t.strictEqual( y[ 1 ], cosine[ i ], 'x: ' + x[ i ] + '. Expected: ' + cosine[ i ] ); - } else { - delta = absf( y[ 1 ] - cosine[ i ] ); - tol = 1.01 * EPS * absf( cosine[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + y[ 1 ] + '. Expected: ' + cosine[ i ] + '. tol: ' + tol + '. delta: ' + delta + '.' ); - } + t.strictEqual( isAlmostSameValue( y[ 0 ], sine[ i ], 1 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( y[ 1 ], cosine[ i ], 1 ), true, 'returns expected value' ); } t.end(); } ); tape( 'the function computes the sine and cosine (for -2**60 (180.0/2) < x < -2**20 (180.0/2))', function test( t ) { var cosine; - var delta; var sine; - var tol; var x; var y; var i; @@ -138,29 +107,15 @@ tape( 'the function computes the sine and cosine (for -2**60 (180.0/2) < x < -2* y = sincosdf( x[ i ] ); sine[ i ] = f32( sine[ i ] ); cosine[ i ] = f32( cosine[ i ] ); - if ( y[ 0 ] === sine[ i ] ) { - t.strictEqual( y[ 0 ], sine[ i ], 'x: ' + x[ i ] + '. Expected: ' + sine[ i ] ); - } else { - delta = absf( y[ 0 ] - sine[ i ] ); - tol = EPS * absf( sine[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + y[ 0 ] + '. Expected: ' + sine[ i ] + '. tol: ' + tol + '. delta: ' + delta + '.' ); - } - if ( y[ 1 ] === cosine[ i ] ) { - t.strictEqual( y[ 1 ], cosine[ i ], 'x: ' + x[ i ] + '. Expected: ' + cosine[ i ] ); - } else { - delta = absf( y[ 1 ] - cosine[ i ] ); - tol = EPS * absf( cosine[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + y[ 1 ] + '. Expected: ' + cosine[ i ] + '. tol: ' + tol + '. delta: ' + delta + '.' ); - } + t.strictEqual( isAlmostSameValue( y[ 0 ], sine[ i ], 1 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( y[ 1 ], cosine[ i ], 0 ), true, 'returns expected value' ); } t.end(); } ); tape( 'the function computes the sine and cosine (for 2**20 (180.0/2) < x < 2**60 (180.0/2))', function test( t ) { var cosine; - var delta; var sine; - var tol; var x; var y; var i; @@ -174,29 +129,15 @@ tape( 'the function computes the sine and cosine (for 2**20 (180.0/2) < x < 2**6 y = sincosdf( x[ i ] ); sine[ i ] = f32( sine[ i ] ); cosine[ i ] = f32( cosine[ i ] ); - if ( y[ 0 ] === sine[ i ] ) { - t.strictEqual( y[ 0 ], sine[ i ], 'x: ' + x[ i ] + '. Expected: ' + sine[ i ] ); - } else { - delta = absf( y[ 0 ] - sine[ i ] ); - tol = EPS * absf( sine[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + y[ 0 ] + '. Expected: ' + sine[ i ] + '. tol: ' + tol + '. delta: ' + delta + '.' ); - } - if ( y[ 1 ] === cosine[ i ] ) { - t.strictEqual( y[ 1 ], cosine[ i ], 'x: ' + x[ i ] + '. Expected: ' + cosine[ i ] ); - } else { - delta = absf( y[ 1 ] - cosine[ i ] ); - tol = EPS * absf( cosine[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + y[ 1 ] + '. Expected: ' + cosine[ i ] + '. tol: ' + tol + '. delta: ' + delta + '.' ); - } + t.strictEqual( isAlmostSameValue( y[ 0 ], sine[ i ], 1 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( y[ 1 ], cosine[ i ], 0 ), true, 'returns expected value' ); } t.end(); } ); tape( 'the function computes the sine and cosine (for x <= -2**60 (180.0/2))', function test( t ) { var cosine; - var delta; var sine; - var tol; var x; var y; var i; @@ -210,29 +151,15 @@ tape( 'the function computes the sine and cosine (for x <= -2**60 (180.0/2))', f y = sincosdf( x[ i ] ); sine[ i ] = f32( sine[ i ] ); cosine[ i ] = f32( cosine[ i ] ); - if ( y[ 0 ] === sine[ i ] ) { - t.strictEqual( y[ 0 ], sine[ i ], 'x: ' + x[ i ] + '. Expected: ' + sine[ i ] ); - } else { - delta = absf( y[ 0 ] - sine[ i ] ); - tol = EPS * absf( sine[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + y[ 0 ] + '. Expected: ' + sine[ i ] + '. tol: ' + tol + '. delta: ' + delta + '.' ); - } - if ( y[ 1 ] === cosine[ i ] ) { - t.strictEqual( y[ 1 ], cosine[ i ], 'x: ' + x[ i ] + '. Expected: ' + cosine[ i ] ); - } else { - delta = absf( y[ 1 ] - cosine[ i ] ); - tol = EPS * absf( cosine[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + y[ 1 ] + '. Expected: ' + cosine[ i ] + '. tol: ' + tol + '. delta: ' + delta + '.' ); - } + t.strictEqual( isAlmostSameValue( y[ 0 ], sine[ i ], 1 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( y[ 1 ], cosine[ i ], 0 ), true, 'returns expected value' ); } t.end(); } ); tape( 'the function computes the sine and cosine (for x >= 2**60 (180.0/2))', function test( t ) { var cosine; - var delta; var sine; - var tol; var x; var y; var i; @@ -246,20 +173,8 @@ tape( 'the function computes the sine and cosine (for x >= 2**60 (180.0/2))', fu y = sincosdf( x[ i ] ); sine[ i ] = f32( sine[ i ] ); cosine[ i ] = f32( cosine[ i ] ); - if ( y[ 0 ] === sine[ i ] ) { - t.strictEqual( y[ 0 ], sine[ i ], 'x: ' + x[ i ] + '. Expected: ' + sine[ i ] ); - } else { - delta = absf( y[ 0 ] - sine[ i ] ); - tol = EPS * absf( sine[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + y[ 0 ] + '. Expected: ' + sine[ i ] + '. tol: ' + tol + '. delta: ' + delta + '.' ); - } - if ( y[ 1 ] === cosine[ i ] ) { - t.strictEqual( y[ 1 ], cosine[ i ], 'x: ' + x[ i ] + '. Expected: ' + cosine[ i ] ); - } else { - delta = absf( y[ 1 ] - cosine[ i ] ); - tol = EPS * absf( cosine[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: ' + x[ i ] + '. Value: ' + y[ 1 ] + '. Expected: ' + cosine[ i ] + '. tol: ' + tol + '. delta: ' + delta + '.' ); - } + t.strictEqual( isAlmostSameValue( y[ 0 ], sine[ i ], 1 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( y[ 1 ], cosine[ i ], 0 ), true, 'returns expected value' ); } t.end(); } ); diff --git a/lib/node_modules/@stdlib/math/base/special/sincosdf/test/test.native.js b/lib/node_modules/@stdlib/math/base/special/sincosdf/test/test.native.js index d48cda1870d0..5b826d18f825 100644 --- a/lib/node_modules/@stdlib/math/base/special/sincosdf/test/test.native.js +++ b/lib/node_modules/@stdlib/math/base/special/sincosdf/test/test.native.js @@ -22,11 +22,10 @@ var resolve = require( 'path' ).resolve; var tape = require( 'tape' ); +var isAlmostSameValue = require( '@stdlib/number/float32/base/assert/is-almost-same-value' ); var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); var PINF = require( '@stdlib/constants/float32/pinf' ); var NINF = require( '@stdlib/constants/float32/ninf' ); -var EPS = require( '@stdlib/constants/float32/eps' ); -var absf = require( '@stdlib/math/base/special/absf' ); var tryRequire = require( '@stdlib/utils/try-require' ); var f32 = require( '@stdlib/number/float64/base/to-float32' ); @@ -59,9 +58,7 @@ tape( 'main export is a function', opts, function test( t ) { tape( 'the function computes the sine and cosine (for -256*180.0 < x < 0)', opts, function test( t ) { var cosine; - var delta; var sine; - var tol; var x; var y; var i; @@ -75,29 +72,15 @@ tape( 'the function computes the sine and cosine (for -256*180.0 < x < 0)', opts y = sincosdf( x[ i ] ); sine[ i ] = f32( sine[ i ] ); cosine[ i ] = f32( cosine[ i ] ); - if ( y[0] === sine[i] ) { - t.strictEqual( y[0], sine[i], 'x: '+x[i]+'. Expected: '+sine[i] ); - } else { - delta = absf( y[0] - sine[i] ); - tol = EPS * absf( sine[i] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. Value: '+y[0]+'. Expected: '+sine[i]+'. tol: '+tol+'. delta: '+delta+'.' ); - } - if ( y[1] === cosine[i] ) { - t.strictEqual( y[1], cosine[i], 'x: '+x[i]+'. Expected: '+cosine[i] ); - } else { - delta = absf( y[1] - cosine[i] ); - tol = 1.01 * EPS * absf( cosine[i] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. Value: '+y[1]+'. Expected: '+cosine[i]+'. tol: '+tol+'. delta: '+delta+'.' ); - } + t.strictEqual( isAlmostSameValue( y[ 0 ], sine[ i ], 1 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( y[ 1 ], cosine[ i ], 1 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes the sine and cosine (for 0 < x < 256*180.0)', opts, function test( t ) { var cosine; - var delta; var sine; - var tol; var x; var y; var i; @@ -111,29 +94,15 @@ tape( 'the function computes the sine and cosine (for 0 < x < 256*180.0)', opts, y = sincosdf( x[ i ] ); sine[ i ] = f32( sine[ i ] ); cosine[ i ] = f32( cosine[ i ] ); - if ( y[0] === sine[i] ) { - t.strictEqual( y[0], sine[i], 'x: '+x[i]+'. Expected: '+sine[i] ); - } else { - delta = absf( y[0] - sine[i] ); - tol = EPS * absf( sine[i] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. Value: '+y[0]+'. Expected: '+sine[i]+'. tol: '+tol+'. delta: '+delta+'.' ); - } - if ( y[1] === cosine[i] ) { - t.strictEqual( y[1], cosine[i], 'x: '+x[i]+'. Expected: '+cosine[i] ); - } else { - delta = absf( y[1] - cosine[i] ); - tol = 1.01 * EPS * absf( cosine[i] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. Value: '+y[1]+'. Expected: '+cosine[i]+'. tol: '+tol+'. delta: '+delta+'.' ); - } + t.strictEqual( isAlmostSameValue( y[ 0 ], sine[ i ], 1 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( y[ 1 ], cosine[ i ], 1 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes the sine and cosine (for -2**60 (180.0/2) < x < -2**20 (180.0/2))', opts, function test( t ) { var cosine; - var delta; var sine; - var tol; var x; var y; var i; @@ -147,29 +116,15 @@ tape( 'the function computes the sine and cosine (for -2**60 (180.0/2) < x < -2* y = sincosdf( x[ i ] ); sine[ i ] = f32( sine[ i ] ); cosine[ i ] = f32( cosine[ i ] ); - if ( y[0] === sine[i] ) { - t.strictEqual( y[0], sine[i], 'x: '+x[i]+'. Expected: '+sine[i] ); - } else { - delta = absf( y[0] - sine[i] ); - tol = EPS * absf( sine[i] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. Value: '+y[0]+'. Expected: '+sine[i]+'. tol: '+tol+'. delta: '+delta+'.' ); - } - if ( y[1] === cosine[i] ) { - t.strictEqual( y[1], cosine[i], 'x: '+x[i]+'. Expected: '+cosine[i] ); - } else { - delta = absf( y[1] - cosine[i] ); - tol = EPS * absf( cosine[i] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. Value: '+y[1]+'. Expected: '+cosine[i]+'. tol: '+tol+'. delta: '+delta+'.' ); - } + t.strictEqual( isAlmostSameValue( y[ 0 ], sine[ i ], 1 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( y[ 1 ], cosine[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes the sine and cosine (for 2**20 (180.0/2) < x < 2**60 (180.0/2))', opts, function test( t ) { var cosine; - var delta; var sine; - var tol; var x; var y; var i; @@ -183,29 +138,15 @@ tape( 'the function computes the sine and cosine (for 2**20 (180.0/2) < x < 2**6 y = sincosdf( x[ i ] ); sine[ i ] = f32( sine[ i ] ); cosine[ i ] = f32( cosine[ i ] ); - if ( y[0] === sine[i] ) { - t.strictEqual( y[0], sine[i], 'x: '+x[i]+'. Expected: '+sine[i] ); - } else { - delta = absf( y[0] - sine[i] ); - tol = EPS * absf( sine[i] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. Value: '+y[0]+'. Expected: '+sine[i]+'. tol: '+tol+'. delta: '+delta+'.' ); - } - if ( y[1] === cosine[i] ) { - t.strictEqual( y[1], cosine[i], 'x: '+x[i]+'. Expected: '+cosine[i] ); - } else { - delta = absf( y[1] - cosine[i] ); - tol = EPS * absf( cosine[i] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. Value: '+y[1]+'. Expected: '+cosine[i]+'. tol: '+tol+'. delta: '+delta+'.' ); - } + t.strictEqual( isAlmostSameValue( y[ 0 ], sine[ i ], 1 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( y[ 1 ], cosine[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes the sine and cosine (for x <= -2**60 (180.0/2))', opts, function test( t ) { var cosine; - var delta; var sine; - var tol; var x; var y; var i; @@ -219,29 +160,15 @@ tape( 'the function computes the sine and cosine (for x <= -2**60 (180.0/2))', o y = sincosdf( x[ i ] ); sine[ i ] = f32( sine[ i ] ); cosine[ i ] = f32( cosine[ i ] ); - if ( y[0] === sine[i] ) { - t.strictEqual( y[0], sine[i], 'x: '+x[i]+'. Expected: '+sine[i] ); - } else { - delta = absf( y[0] - sine[i] ); - tol = EPS * absf( sine[i] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. Value: '+y[0]+'. Expected: '+sine[i]+'. tol: '+tol+'. delta: '+delta+'.' ); - } - if ( y[1] === cosine[i] ) { - t.strictEqual( y[1], cosine[i], 'x: '+x[i]+'. Expected: '+cosine[i] ); - } else { - delta = absf( y[1] - cosine[i] ); - tol = EPS * absf( cosine[i] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. Value: '+y[1]+'. Expected: '+cosine[i]+'. tol: '+tol+'. delta: '+delta+'.' ); - } + t.strictEqual( isAlmostSameValue( y[ 0 ], sine[ i ], 1 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( y[ 1 ], cosine[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes the sine and cosine (for x >= 2**60 (180.0/2))', opts, function test( t ) { var cosine; - var delta; var sine; - var tol; var x; var y; var i; @@ -255,20 +182,8 @@ tape( 'the function computes the sine and cosine (for x >= 2**60 (180.0/2))', op y = sincosdf( x[i] ); sine[ i ] = f32( sine[ i ] ); cosine[ i ] = f32( cosine[ i ] ); - if ( y[0] === sine[i] ) { - t.strictEqual( y[0], sine[i], 'x: '+x[i]+'. Expected: '+sine[i] ); - } else { - delta = absf( y[0] - sine[i] ); - tol = EPS * absf( sine[i] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. Value: '+y[0]+'. Expected: '+sine[i]+'. tol: '+tol+'. delta: '+delta+'.' ); - } - if ( y[1] === cosine[i] ) { - t.strictEqual( y[1], cosine[i], 'x: '+x[i]+'. Expected: '+cosine[i] ); - } else { - delta = absf( y[1] - cosine[i] ); - tol = EPS * absf( cosine[i] ); - t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. Value: '+y[1]+'. Expected: '+cosine[i]+'. tol: '+tol+'. delta: '+delta+'.' ); - } + t.strictEqual( isAlmostSameValue( y[ 0 ], sine[ i ], 1 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( y[ 1 ], cosine[ i ], 0 ), true, 'returns expected value' ); } t.end(); });