diff --git a/lib/node_modules/@stdlib/complex/float64/base/div/test/test.assign.js b/lib/node_modules/@stdlib/complex/float64/base/div/test/test.assign.js index 7f99b50fcb04..192fa06d0b9e 100644 --- a/lib/node_modules/@stdlib/complex/float64/base/div/test/test.assign.js +++ b/lib/node_modules/@stdlib/complex/float64/base/div/test/test.assign.js @@ -23,9 +23,8 @@ // MODULES // var tape = require( 'tape' ); -var abs = require( '@stdlib/math/base/special/abs' ); var pow = require( '@stdlib/math/base/special/pow' ); -var EPS = require( '@stdlib/constants/float64/eps' ); +var isAlmostSameValue = require( '@stdlib/assert/is-almost-same-value' ); var PINF = require( '@stdlib/constants/float64/pinf' ); var NINF = require( '@stdlib/constants/float64/ninf' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); @@ -268,9 +267,7 @@ tape( 'the function computes a complex quotient (difficult cases)', function tes }); tape( 'the function computes a complex quotient (tested against fixtures)', function test( t ) { - var delta; var out; - var tol; var re1; var im1; var re2; @@ -291,27 +288,13 @@ tape( 'the function computes a complex quotient (tested against fixtures)', func for ( i = 0; i < re1.length; i++ ) { q = cdiv( re1[ i ], im1[ i ], re2[ i ], im2[ i ], out, 1, 0 ); - if ( q[ 0 ] === qre[ i ] ) { - t.strictEqual( q[ 0 ], qre[ i ], 'returns expected real component' ); - } else { - delta = abs( q[ 0 ] - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+q[ 0 ]+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( q[ 1 ] === qim[ i ] ) { - t.strictEqual( q[ 1 ], qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( q[ 1 ] - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+q[ 1 ]+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( q[ 0 ], qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( q[ 1 ], qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (different component scales)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -333,27 +316,13 @@ tape( 'the function computes a complex quotient (different component scales)', f for ( i = 0; i < re1.length; i++ ) { q = cdiv( re1[ i ], im1[ i ], re2[ i ], im2[ i ], out, 1, 0 ); - if ( q[ 0 ] === qre[ i ] ) { - t.strictEqual( q[ 0 ], qre[ i ], 'returns expected real component' ); - } else { - delta = abs( q[ 0 ] - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+q[ 0 ]+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( q[ 1 ] === qim[ i ] ) { - t.strictEqual( q[ 1 ], qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( q[ 1 ] - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+q[ 1 ]+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( q[ 0 ], qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( q[ 1 ], qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (different component scales)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -375,27 +344,13 @@ tape( 'the function computes a complex quotient (different component scales)', f for ( i = 0; i < re1.length; i++ ) { q = cdiv( re1[ i ], im1[ i ], re2[ i ], im2[ i ], out, 1, 0 ); - if ( q[ 0 ] === qre[ i ] ) { - t.strictEqual( q[ 0 ], qre[ i ], 'returns expected real component' ); - } else { - delta = abs( q[ 0 ] - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+q[ 0 ]+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( q[ 1 ] === qim[ i ] ) { - t.strictEqual( q[ 1 ], qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( q[ 1 ] - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+q[ 1 ]+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( q[ 0 ], qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( q[ 1 ], qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (different imaginary component scales)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -417,27 +372,13 @@ tape( 'the function computes a complex quotient (different imaginary component s for ( i = 0; i < re1.length; i++ ) { q = cdiv( re1[ i ], im1[ i ], re2[ i ], im2[ i ], out, 1, 0 ); - if ( q[ 0 ] === qre[ i ] ) { - t.strictEqual( q[ 0 ], qre[ i ], 'returns expected real component' ); - } else { - delta = abs( q[ 0 ] - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+q[ 0 ]+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( q[ 1 ] === qim[ i ] ) { - t.strictEqual( q[ 1 ], qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( q[ 1 ] - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+q[ 1 ]+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( q[ 0 ], qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( q[ 1 ], qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (real imaginary component scales)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -459,27 +400,13 @@ tape( 'the function computes a complex quotient (real imaginary component scales for ( i = 0; i < re1.length; i++ ) { q = cdiv( re1[ i ], im1[ i ], re2[ i ], im2[ i ], out, 1, 0 ); - if ( q[ 0 ] === qre[ i ] ) { - t.strictEqual( q[ 0 ], qre[ i ], 'returns expected real component' ); - } else { - delta = abs( q[ 0 ] - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+q[ 0 ]+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( q[ 1 ] === qim[ i ] ) { - t.strictEqual( q[ 1 ], qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( q[ 1 ] - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+q[ 1 ]+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( q[ 0 ], qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( q[ 1 ], qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (large negative imaginary components)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -501,27 +428,13 @@ tape( 'the function computes a complex quotient (large negative imaginary compon for ( i = 0; i < re1.length; i++ ) { q = cdiv( re1[ i ], im1[ i ], re2[ i ], im2[ i ], out, 1, 0 ); - if ( q[ 0 ] === qre[ i ] ) { - t.strictEqual( q[ 0 ], qre[ i ], 'returns expected real component' ); - } else { - delta = abs( q[ 0 ] - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+q[ 0 ]+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( q[ 1 ] === qim[ i ] ) { - t.strictEqual( q[ 1 ], qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( q[ 1 ] - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+q[ 1 ]+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( q[ 0 ], qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( q[ 1 ], qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (large negative real components)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -543,27 +456,13 @@ tape( 'the function computes a complex quotient (large negative real components) for ( i = 0; i < re1.length; i++ ) { q = cdiv( re1[ i ], im1[ i ], re2[ i ], im2[ i ], out, 1, 0 ); - if ( q[ 0 ] === qre[ i ] ) { - t.strictEqual( q[ 0 ], qre[ i ], 'returns expected real component' ); - } else { - delta = abs( q[ 0 ] - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+q[ 0 ]+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( q[ 1 ] === qim[ i ] ) { - t.strictEqual( q[ 1 ], qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( q[ 1 ] - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+q[ 1 ]+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( q[ 0 ], qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( q[ 1 ], qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (large positive imaginary components)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -585,27 +484,13 @@ tape( 'the function computes a complex quotient (large positive imaginary compon for ( i = 0; i < re1.length; i++ ) { q = cdiv( re1[ i ], im1[ i ], re2[ i ], im2[ i ], out, 1, 0 ); - if ( q[ 0 ] === qre[ i ] ) { - t.strictEqual( q[ 0 ], qre[ i ], 'returns expected real component' ); - } else { - delta = abs( q[ 0 ] - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+q[ 0 ]+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( q[ 1 ] === qim[ i ] ) { - t.strictEqual( q[ 1 ], qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( q[ 1 ] - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+q[ 1 ]+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( q[ 0 ], qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( q[ 1 ], qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (large positive real components)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -627,27 +512,13 @@ tape( 'the function computes a complex quotient (large positive real components) for ( i = 0; i < re1.length; i++ ) { q = cdiv( re1[ i ], im1[ i ], re2[ i ], im2[ i ], out, 1, 0 ); - if ( q[ 0 ] === qre[ i ] ) { - t.strictEqual( q[ 0 ], qre[ i ], 'returns expected real component' ); - } else { - delta = abs( q[ 0 ] - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+q[ 0 ]+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( q[ 1 ] === qim[ i ] ) { - t.strictEqual( q[ 1 ], qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( q[ 1 ] - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+q[ 1 ]+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( q[ 0 ], qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( q[ 1 ], qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (tiny negative imaginary components)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -669,27 +540,13 @@ tape( 'the function computes a complex quotient (tiny negative imaginary compone for ( i = 0; i < re1.length; i++ ) { q = cdiv( re1[ i ], im1[ i ], re2[ i ], im2[ i ], out, 1, 0 ); - if ( q[ 0 ] === qre[ i ] ) { - t.strictEqual( q[ 0 ], qre[ i ], 'returns expected real component' ); - } else { - delta = abs( q[ 0 ] - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+q[ 0 ]+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( q[ 1 ] === qim[ i ] ) { - t.strictEqual( q[ 1 ], qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( q[ 1 ] - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+q[ 1 ]+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( q[ 0 ], qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( q[ 1 ], qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (tiny negative real components)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -711,27 +568,13 @@ tape( 'the function computes a complex quotient (tiny negative real components)' for ( i = 0; i < re1.length; i++ ) { q = cdiv( re1[ i ], im1[ i ], re2[ i ], im2[ i ], out, 1, 0 ); - if ( q[ 0 ] === qre[ i ] ) { - t.strictEqual( q[ 0 ], qre[ i ], 'returns expected real component' ); - } else { - delta = abs( q[ 0 ] - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+q[ 0 ]+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( q[ 1 ] === qim[ i ] ) { - t.strictEqual( q[ 1 ], qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( q[ 1 ] - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+q[ 1 ]+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( q[ 0 ], qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( q[ 1 ], qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (tiny positive imaginary components)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -753,27 +596,13 @@ tape( 'the function computes a complex quotient (tiny positive imaginary compone for ( i = 0; i < re1.length; i++ ) { q = cdiv( re1[ i ], im1[ i ], re2[ i ], im2[ i ], out, 1, 0 ); - if ( q[ 0 ] === qre[ i ] ) { - t.strictEqual( q[ 0 ], qre[ i ], 'returns expected real component' ); - } else { - delta = abs( q[ 0 ] - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+q[ 0 ]+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( q[ 1 ] === qim[ i ] ) { - t.strictEqual( q[ 1 ], qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( q[ 1 ] - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+q[ 1 ]+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( q[ 0 ], qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( q[ 1 ], qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (tiny positive real components)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -795,20 +624,8 @@ tape( 'the function computes a complex quotient (tiny positive real components)' for ( i = 0; i < re1.length; i++ ) { q = cdiv( re1[ i ], im1[ i ], re2[ i ], im2[ i ], out, 1, 0 ); - if ( q[ 0 ] === qre[ i ] ) { - t.strictEqual( q[ 0 ], qre[ i ], 'returns expected real component' ); - } else { - delta = abs( q[ 0 ] - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+q[ 0 ]+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( q[ 1 ] === qim[ i ] ) { - t.strictEqual( q[ 1 ], qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( q[ 1 ] - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+q[ 1 ]+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( q[ 0 ], qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( q[ 1 ], qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); diff --git a/lib/node_modules/@stdlib/complex/float64/base/div/test/test.main.js b/lib/node_modules/@stdlib/complex/float64/base/div/test/test.main.js index 2b2ce1e71237..befab58b459e 100644 --- a/lib/node_modules/@stdlib/complex/float64/base/div/test/test.main.js +++ b/lib/node_modules/@stdlib/complex/float64/base/div/test/test.main.js @@ -24,9 +24,8 @@ var tape = require( 'tape' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); -var abs = require( '@stdlib/math/base/special/abs' ); var pow = require( '@stdlib/math/base/special/pow' ); -var EPS = require( '@stdlib/constants/float64/eps' ); +var isAlmostSameValue = require( '@stdlib/assert/is-almost-same-value' ); var PINF = require( '@stdlib/constants/float64/pinf' ); var NINF = require( '@stdlib/constants/float64/ninf' ); var toBinaryString = require( '@stdlib/number/float64/base/to-binary-string' ); @@ -292,8 +291,6 @@ tape( 'the function computes a complex quotient (difficult cases)', function tes }); tape( 'the function computes a complex quotient (tested against fixtures)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -317,27 +314,13 @@ tape( 'the function computes a complex quotient (tested against fixtures)', func z2 = new Complex128( re2[ i ], im2[ i ] ); q = cdiv( z1, z2 ); - if ( real( q ) === qre[ i ] ) { - t.strictEqual( real( q ), qre[ i ], 'returns expected real component' ); - } else { - delta = abs( real( q ) - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+real( q )+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( imag( q ) === qim[ i ] ) { - t.strictEqual( imag( q ), qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( imag( q ) - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+imag( q )+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( real( q ), qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( imag( q ), qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (different component scales)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -361,27 +344,13 @@ tape( 'the function computes a complex quotient (different component scales)', f z2 = new Complex128( re2[ i ], im2[ i ] ); q = cdiv( z1, z2 ); - if ( real( q ) === qre[ i ] ) { - t.strictEqual( real( q ), qre[ i ], 'returns expected real component' ); - } else { - delta = abs( real( q ) - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+real( q )+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( imag( q ) === qim[ i ] ) { - t.strictEqual( imag( q ), qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( imag( q ) - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+imag( q )+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( real( q ), qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( imag( q ), qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (different component scales)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -405,27 +374,13 @@ tape( 'the function computes a complex quotient (different component scales)', f z2 = new Complex128( re2[ i ], im2[ i ] ); q = cdiv( z1, z2 ); - if ( real( q ) === qre[ i ] ) { - t.strictEqual( real( q ), qre[ i ], 'returns expected real component' ); - } else { - delta = abs( real( q ) - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+real( q )+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( imag( q ) === qim[ i ] ) { - t.strictEqual( imag( q ), qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( imag( q ) - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+imag( q )+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( real( q ), qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( imag( q ), qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (different imaginary component scales)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -449,27 +404,13 @@ tape( 'the function computes a complex quotient (different imaginary component s z2 = new Complex128( re2[ i ], im2[ i ] ); q = cdiv( z1, z2 ); - if ( real( q ) === qre[ i ] ) { - t.strictEqual( real( q ), qre[ i ], 'returns expected real component' ); - } else { - delta = abs( real( q ) - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+real( q )+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( imag( q ) === qim[ i ] ) { - t.strictEqual( imag( q ), qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( imag( q ) - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+imag( q )+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( real( q ), qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( imag( q ), qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (real imaginary component scales)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -493,27 +434,13 @@ tape( 'the function computes a complex quotient (real imaginary component scales z2 = new Complex128( re2[ i ], im2[ i ] ); q = cdiv( z1, z2 ); - if ( real( q ) === qre[ i ] ) { - t.strictEqual( real( q ), qre[ i ], 'returns expected real component' ); - } else { - delta = abs( real( q ) - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+real( q )+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( imag( q ) === qim[ i ] ) { - t.strictEqual( imag( q ), qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( imag( q ) - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+imag( q )+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( real( q ), qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( imag( q ), qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (large negative imaginary components)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -537,27 +464,13 @@ tape( 'the function computes a complex quotient (large negative imaginary compon z2 = new Complex128( re2[ i ], im2[ i ] ); q = cdiv( z1, z2 ); - if ( real( q ) === qre[ i ] ) { - t.strictEqual( real( q ), qre[ i ], 'returns expected real component' ); - } else { - delta = abs( real( q ) - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+real( q )+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( imag( q ) === qim[ i ] ) { - t.strictEqual( imag( q ), qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( imag( q ) - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+imag( q )+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( real( q ), qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( imag( q ), qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (large negative real components)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -581,27 +494,13 @@ tape( 'the function computes a complex quotient (large negative real components) z2 = new Complex128( re2[ i ], im2[ i ] ); q = cdiv( z1, z2 ); - if ( real( q ) === qre[ i ] ) { - t.strictEqual( real( q ), qre[ i ], 'returns expected real component' ); - } else { - delta = abs( real( q ) - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+real( q )+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( imag( q ) === qim[ i ] ) { - t.strictEqual( imag( q ), qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( imag( q ) - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+imag( q )+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( real( q ), qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( imag( q ), qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (large positive imaginary components)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -625,27 +524,13 @@ tape( 'the function computes a complex quotient (large positive imaginary compon z2 = new Complex128( re2[ i ], im2[ i ] ); q = cdiv( z1, z2 ); - if ( real( q ) === qre[ i ] ) { - t.strictEqual( real( q ), qre[ i ], 'returns expected real component' ); - } else { - delta = abs( real( q ) - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+real( q )+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( imag( q ) === qim[ i ] ) { - t.strictEqual( imag( q ), qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( imag( q ) - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+imag( q )+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( real( q ), qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( imag( q ), qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (large positive real components)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -669,27 +554,13 @@ tape( 'the function computes a complex quotient (large positive real components) z2 = new Complex128( re2[ i ], im2[ i ] ); q = cdiv( z1, z2 ); - if ( real( q ) === qre[ i ] ) { - t.strictEqual( real( q ), qre[ i ], 'returns expected real component' ); - } else { - delta = abs( real( q ) - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+real( q )+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( imag( q ) === qim[ i ] ) { - t.strictEqual( imag( q ), qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( imag( q ) - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+imag( q )+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( real( q ), qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( imag( q ), qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (tiny negative imaginary components)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -713,27 +584,13 @@ tape( 'the function computes a complex quotient (tiny negative imaginary compone z2 = new Complex128( re2[ i ], im2[ i ] ); q = cdiv( z1, z2 ); - if ( real( q ) === qre[ i ] ) { - t.strictEqual( real( q ), qre[ i ], 'returns expected real component' ); - } else { - delta = abs( real( q ) - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+real( q )+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( imag( q ) === qim[ i ] ) { - t.strictEqual( imag( q ), qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( imag( q ) - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+imag( q )+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( real( q ), qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( imag( q ), qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (tiny negative real components)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -757,27 +614,13 @@ tape( 'the function computes a complex quotient (tiny negative real components)' z2 = new Complex128( re2[ i ], im2[ i ] ); q = cdiv( z1, z2 ); - if ( real( q ) === qre[ i ] ) { - t.strictEqual( real( q ), qre[ i ], 'returns expected real component' ); - } else { - delta = abs( real( q ) - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+real( q )+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( imag( q ) === qim[ i ] ) { - t.strictEqual( imag( q ), qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( imag( q ) - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+imag( q )+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( real( q ), qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( imag( q ), qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (tiny positive imaginary components)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -801,27 +644,13 @@ tape( 'the function computes a complex quotient (tiny positive imaginary compone z2 = new Complex128( re2[ i ], im2[ i ] ); q = cdiv( z1, z2 ); - if ( real( q ) === qre[ i ] ) { - t.strictEqual( real( q ), qre[ i ], 'returns expected real component' ); - } else { - delta = abs( real( q ) - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+real( q )+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( imag( q ) === qim[ i ] ) { - t.strictEqual( imag( q ), qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( imag( q ) - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+imag( q )+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( real( q ), qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( imag( q ), qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (tiny positive real components)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -845,20 +674,8 @@ tape( 'the function computes a complex quotient (tiny positive real components)' z2 = new Complex128( re2[ i ], im2[ i ] ); q = cdiv( z1, z2 ); - if ( real( q ) === qre[ i ] ) { - t.strictEqual( real( q ), qre[ i ], 'returns expected real component' ); - } else { - delta = abs( real( q ) - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+real( q )+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( imag( q ) === qim[ i ] ) { - t.strictEqual( imag( q ), qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( imag( q ) - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+imag( q )+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( real( q ), qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( imag( q ), qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); diff --git a/lib/node_modules/@stdlib/complex/float64/base/div/test/test.native.js b/lib/node_modules/@stdlib/complex/float64/base/div/test/test.native.js index 9033da22333c..24dba709fb60 100644 --- a/lib/node_modules/@stdlib/complex/float64/base/div/test/test.native.js +++ b/lib/node_modules/@stdlib/complex/float64/base/div/test/test.native.js @@ -25,9 +25,8 @@ var resolve = require( 'path' ).resolve; var tape = require( 'tape' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); -var abs = require( '@stdlib/math/base/special/abs' ); var pow = require( '@stdlib/math/base/special/pow' ); -var EPS = require( '@stdlib/constants/float64/eps' ); +var isAlmostSameValue = require( '@stdlib/assert/is-almost-same-value' ); var PINF = require( '@stdlib/constants/float64/pinf' ); var NINF = require( '@stdlib/constants/float64/ninf' ); var toBinaryString = require( '@stdlib/number/float64/base/to-binary-string' ); @@ -301,8 +300,6 @@ tape( 'the function computes a complex quotient (difficult cases)', opts, functi }); tape( 'the function computes a complex quotient (tested against fixtures)', opts, function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -326,31 +323,14 @@ tape( 'the function computes a complex quotient (tested against fixtures)', opts z2 = new Complex128( re2[ i ], im2[ i ] ); q = cdiv( z1, z2 ); - if ( real( q ) === qre[ i ] ) { - t.strictEqual( real( q ), qre[ i ], 'returns expected real component' ); - } else { - delta = abs( real( q ) - qre[ i ] ); - - // 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 - tol = 2.0 * EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+real(q)+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( imag( q ) === qim[ i ] ) { - t.strictEqual( imag( q ), qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( imag( q ) - qim[ i ] ); - - // 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 - tol = 2.0 * EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+imag(q)+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + // 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 + t.strictEqual( isAlmostSameValue( real( q ), qre[ i ], 2 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( imag( q ), qim[ i ], 2 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (different component scales)', opts, function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -374,27 +354,13 @@ tape( 'the function computes a complex quotient (different component scales)', o z2 = new Complex128( re2[ i ], im2[ i ] ); q = cdiv( z1, z2 ); - if ( real( q ) === qre[ i ] ) { - t.strictEqual( real( q ), qre[ i ], 'returns expected real component' ); - } else { - delta = abs( real( q ) - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+real(q)+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( imag( q ) === qim[ i ] ) { - t.strictEqual( imag( q ), qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( imag( q ) - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+imag(q)+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( real( q ), qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( imag( q ), qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (different component scales)', opts, function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -418,27 +384,13 @@ tape( 'the function computes a complex quotient (different component scales)', o z2 = new Complex128( re2[ i ], im2[ i ] ); q = cdiv( z1, z2 ); - if ( real( q ) === qre[ i ] ) { - t.strictEqual( real( q ), qre[ i ], 'returns expected real component' ); - } else { - delta = abs( real( q ) - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+real(q)+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( imag( q ) === qim[ i ] ) { - t.strictEqual( imag( q ), qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( imag( q ) - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+imag(q)+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( real( q ), qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( imag( q ), qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (different imaginary component scales)', opts, function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -462,27 +414,13 @@ tape( 'the function computes a complex quotient (different imaginary component s z2 = new Complex128( re2[ i ], im2[ i ] ); q = cdiv( z1, z2 ); - if ( real( q ) === qre[ i ] ) { - t.strictEqual( real( q ), qre[ i ], 'returns expected real component' ); - } else { - delta = abs( real( q ) - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+real(q)+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( imag( q ) === qim[ i ] ) { - t.strictEqual( imag( q ), qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( imag( q ) - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+imag(q)+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( real( q ), qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( imag( q ), qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (real imaginary component scales)', opts, function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -506,27 +444,13 @@ tape( 'the function computes a complex quotient (real imaginary component scales z2 = new Complex128( re2[ i ], im2[ i ] ); q = cdiv( z1, z2 ); - if ( real( q ) === qre[ i ] ) { - t.strictEqual( real( q ), qre[ i ], 'returns expected real component' ); - } else { - delta = abs( real( q ) - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+real(q)+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( imag( q ) === qim[ i ] ) { - t.strictEqual( imag( q ), qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( imag( q ) - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+imag(q)+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( real( q ), qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( imag( q ), qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (large negative imaginary components)', opts, function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -550,27 +474,13 @@ tape( 'the function computes a complex quotient (large negative imaginary compon z2 = new Complex128( re2[ i ], im2[ i ] ); q = cdiv( z1, z2 ); - if ( real( q ) === qre[ i ] ) { - t.strictEqual( real( q ), qre[ i ], 'returns expected real component' ); - } else { - delta = abs( real( q ) - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+real(q)+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( imag( q ) === qim[ i ] ) { - t.strictEqual( imag( q ), qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( imag( q ) - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+imag(q)+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( real( q ), qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( imag( q ), qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (large negative real components)', opts, function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -594,27 +504,13 @@ tape( 'the function computes a complex quotient (large negative real components) z2 = new Complex128( re2[ i ], im2[ i ] ); q = cdiv( z1, z2 ); - if ( real( q ) === qre[ i ] ) { - t.strictEqual( real( q ), qre[ i ], 'returns expected real component' ); - } else { - delta = abs( real( q ) - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+real(q)+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( imag( q ) === qim[ i ] ) { - t.strictEqual( imag( q ), qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( imag( q ) - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+imag(q)+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( real( q ), qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( imag( q ), qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (large positive imaginary components)', opts, function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -638,27 +534,13 @@ tape( 'the function computes a complex quotient (large positive imaginary compon z2 = new Complex128( re2[ i ], im2[ i ] ); q = cdiv( z1, z2 ); - if ( real( q ) === qre[ i ] ) { - t.strictEqual( real( q ), qre[ i ], 'returns expected real component' ); - } else { - delta = abs( real( q ) - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+real(q)+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( imag( q ) === qim[ i ] ) { - t.strictEqual( imag( q ), qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( imag( q ) - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+imag(q)+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( real( q ), qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( imag( q ), qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (large positive real components)', opts, function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -682,31 +564,14 @@ tape( 'the function computes a complex quotient (large positive real components) z2 = new Complex128( re2[ i ], im2[ i ] ); q = cdiv( z1, z2 ); - if ( real( q ) === qre[ i ] ) { - t.strictEqual( real( q ), qre[ i ], 'returns expected real component' ); - } else { - delta = abs( real( q ) - qre[ i ] ); - - // 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 - tol = 2.0 * EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+real(q)+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( imag( q ) === qim[ i ] ) { - t.strictEqual( imag( q ), qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( imag( q ) - qim[ i ] ); - - // 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 - tol = 2.0 * EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+imag(q)+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + // 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 + t.strictEqual( isAlmostSameValue( real( q ), qre[ i ], 2 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( imag( q ), qim[ i ], 2 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (tiny negative imaginary components)', opts, function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -730,27 +595,13 @@ tape( 'the function computes a complex quotient (tiny negative imaginary compone z2 = new Complex128( re2[ i ], im2[ i ] ); q = cdiv( z1, z2 ); - if ( real( q ) === qre[ i ] ) { - t.strictEqual( real( q ), qre[ i ], 'returns expected real component' ); - } else { - delta = abs( real( q ) - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+real(q)+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( imag( q ) === qim[ i ] ) { - t.strictEqual( imag( q ), qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( imag( q ) - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+imag(q)+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( real( q ), qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( imag( q ), qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (tiny negative real components)', opts, function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -774,27 +625,13 @@ tape( 'the function computes a complex quotient (tiny negative real components)' z2 = new Complex128( re2[ i ], im2[ i ] ); q = cdiv( z1, z2 ); - if ( real( q ) === qre[ i ] ) { - t.strictEqual( real( q ), qre[ i ], 'returns expected real component' ); - } else { - delta = abs( real( q ) - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+real(q)+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( imag( q ) === qim[ i ] ) { - t.strictEqual( imag( q ), qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( imag( q ) - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+imag(q)+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( real( q ), qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( imag( q ), qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (tiny positive imaginary components)', opts, function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -818,27 +655,13 @@ tape( 'the function computes a complex quotient (tiny positive imaginary compone z2 = new Complex128( re2[ i ], im2[ i ] ); q = cdiv( z1, z2 ); - if ( real( q ) === qre[ i ] ) { - t.strictEqual( real( q ), qre[ i ], 'returns expected real component' ); - } else { - delta = abs( real( q ) - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+real(q)+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( imag( q ) === qim[ i ] ) { - t.strictEqual( imag( q ), qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( imag( q ) - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+imag(q)+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( real( q ), qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( imag( q ), qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (tiny positive real components)', opts, function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -862,20 +685,8 @@ tape( 'the function computes a complex quotient (tiny positive real components)' z2 = new Complex128( re2[ i ], im2[ i ] ); q = cdiv( z1, z2 ); - if ( real( q ) === qre[ i ] ) { - t.strictEqual( real( q ), qre[ i ], 'returns expected real component' ); - } else { - delta = abs( real( q ) - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+real(q)+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( imag( q ) === qim[ i ] ) { - t.strictEqual( imag( q ), qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( imag( q ) - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+imag(q)+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( real( q ), qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( imag( q ), qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); diff --git a/lib/node_modules/@stdlib/complex/float64/base/div/test/test.strided.js b/lib/node_modules/@stdlib/complex/float64/base/div/test/test.strided.js index d825ba684149..dd2e653b42bb 100644 --- a/lib/node_modules/@stdlib/complex/float64/base/div/test/test.strided.js +++ b/lib/node_modules/@stdlib/complex/float64/base/div/test/test.strided.js @@ -24,9 +24,8 @@ var tape = require( 'tape' ); var isnan = require( '@stdlib/math/base/assert/is-nan' ); -var abs = require( '@stdlib/math/base/special/abs' ); var pow = require( '@stdlib/math/base/special/pow' ); -var EPS = require( '@stdlib/constants/float64/eps' ); +var isAlmostSameValue = require( '@stdlib/assert/is-almost-same-value' ); var PINF = require( '@stdlib/constants/float64/pinf' ); var NINF = require( '@stdlib/constants/float64/ninf' ); var isAlmostEqualFloat64Array = require( '@stdlib/assert/is-almost-equal-float64array' ); @@ -294,8 +293,6 @@ tape( 'the function computes a complex quotient (difficult cases)', function tes }); tape( 'the function computes a complex quotient (tested against fixtures)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -319,27 +316,13 @@ tape( 'the function computes a complex quotient (tested against fixtures)', func z2 = new Float64Array( [ re2[ i ], im2[ i ] ] ); q = cdiv( z1, 1, 0, z2, 1, 0, new Float64Array( 2 ), 1, 0 ); - if ( q[ 0 ] === qre[ i ] ) { - t.strictEqual( q[ 0 ], qre[ i ], 'returns expected real component' ); - } else { - delta = abs( q[ 0 ] - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+q[0]+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( q[ 1 ] === qim[ i ] ) { - t.strictEqual( q[ 1 ], qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( q[ 1 ] - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+q[1]+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( q[ 0 ], qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( q[ 1 ], qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (different component scales)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -363,27 +346,13 @@ tape( 'the function computes a complex quotient (different component scales)', f z2 = new Float64Array( [ re2[ i ], im2[ i ] ] ); q = cdiv( z1, 1, 0, z2, 1, 0, new Float64Array( 2 ), 1, 0 ); - if ( q[ 0 ] === qre[ i ] ) { - t.strictEqual( q[ 0 ], qre[ i ], 'returns expected real component' ); - } else { - delta = abs( q[ 0 ] - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+q[0]+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( q[ 1 ] === qim[ i ] ) { - t.strictEqual( q[ 1 ], qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( q[ 1 ] - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+q[1]+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( q[ 0 ], qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( q[ 1 ], qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (different component scales)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -407,27 +376,13 @@ tape( 'the function computes a complex quotient (different component scales)', f z2 = new Float64Array( [ re2[ i ], im2[ i ] ] ); q = cdiv( z1, 1, 0, z2, 1, 0, new Float64Array( 2 ), 1, 0 ); - if ( q[ 0 ] === qre[ i ] ) { - t.strictEqual( q[ 0 ], qre[ i ], 'returns expected real component' ); - } else { - delta = abs( q[ 0 ] - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+q[0]+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( q[ 1 ] === qim[ i ] ) { - t.strictEqual( q[ 1 ], qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( q[ 1 ] - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+q[1]+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( q[ 0 ], qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( q[ 1 ], qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (different imaginary component scales)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -451,27 +406,13 @@ tape( 'the function computes a complex quotient (different imaginary component s z2 = new Float64Array( [ re2[ i ], im2[ i ] ] ); q = cdiv( z1, 1, 0, z2, 1, 0, new Float64Array( 2 ), 1, 0 ); - if ( q[ 0 ] === qre[ i ] ) { - t.strictEqual( q[ 0 ], qre[ i ], 'returns expected real component' ); - } else { - delta = abs( q[ 0 ] - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+q[0]+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( q[ 1 ] === qim[ i ] ) { - t.strictEqual( q[ 1 ], qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( q[ 1 ] - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+q[1]+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( q[ 0 ], qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( q[ 1 ], qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (real imaginary component scales)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -495,27 +436,13 @@ tape( 'the function computes a complex quotient (real imaginary component scales z2 = new Float64Array( [ re2[ i ], im2[ i ] ] ); q = cdiv( z1, 1, 0, z2, 1, 0, new Float64Array( 2 ), 1, 0 ); - if ( q[ 0 ] === qre[ i ] ) { - t.strictEqual( q[ 0 ], qre[ i ], 'returns expected real component' ); - } else { - delta = abs( q[ 0 ] - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+q[0]+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( q[ 1 ] === qim[ i ] ) { - t.strictEqual( q[ 1 ], qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( q[ 1 ] - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+q[1]+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( q[ 0 ], qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( q[ 1 ], qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (large negative imaginary components)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -539,27 +466,13 @@ tape( 'the function computes a complex quotient (large negative imaginary compon z2 = new Float64Array( [ re2[ i ], im2[ i ] ] ); q = cdiv( z1, 1, 0, z2, 1, 0, new Float64Array( 2 ), 1, 0 ); - if ( q[ 0 ] === qre[ i ] ) { - t.strictEqual( q[ 0 ], qre[ i ], 'returns expected real component' ); - } else { - delta = abs( q[ 0 ] - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+q[0]+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( q[ 1 ] === qim[ i ] ) { - t.strictEqual( q[ 1 ], qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( q[ 1 ] - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+q[1]+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( q[ 0 ], qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( q[ 1 ], qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (large negative real components)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -583,27 +496,13 @@ tape( 'the function computes a complex quotient (large negative real components) z2 = new Float64Array( [ re2[ i ], im2[ i ] ] ); q = cdiv( z1, 1, 0, z2, 1, 0, new Float64Array( 2 ), 1, 0 ); - if ( q[ 0 ] === qre[ i ] ) { - t.strictEqual( q[ 0 ], qre[ i ], 'returns expected real component' ); - } else { - delta = abs( q[ 0 ] - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+q[0]+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( q[ 1 ] === qim[ i ] ) { - t.strictEqual( q[ 1 ], qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( q[ 1 ] - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+q[1]+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( q[ 0 ], qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( q[ 1 ], qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (large positive imaginary components)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -627,27 +526,13 @@ tape( 'the function computes a complex quotient (large positive imaginary compon z2 = new Float64Array( [ re2[ i ], im2[ i ] ] ); q = cdiv( z1, 1, 0, z2, 1, 0, new Float64Array( 2 ), 1, 0 ); - if ( q[ 0 ] === qre[ i ] ) { - t.strictEqual( q[ 0 ], qre[ i ], 'returns expected real component' ); - } else { - delta = abs( q[ 0 ] - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+q[0]+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( q[ 1 ] === qim[ i ] ) { - t.strictEqual( q[ 1 ], qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( q[ 1 ] - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+q[1]+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( q[ 0 ], qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( q[ 1 ], qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (large positive real components)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -671,27 +556,13 @@ tape( 'the function computes a complex quotient (large positive real components) z2 = new Float64Array( [ re2[ i ], im2[ i ] ] ); q = cdiv( z1, 1, 0, z2, 1, 0, new Float64Array( 2 ), 1, 0 ); - if ( q[ 0 ] === qre[ i ] ) { - t.strictEqual( q[ 0 ], qre[ i ], 'returns expected real component' ); - } else { - delta = abs( q[ 0 ] - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+q[0]+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( q[ 1 ] === qim[ i ] ) { - t.strictEqual( q[ 1 ], qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( q[ 1 ] - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+q[1]+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( q[ 0 ], qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( q[ 1 ], qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (tiny negative imaginary components)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -715,27 +586,13 @@ tape( 'the function computes a complex quotient (tiny negative imaginary compone z2 = new Float64Array( [ re2[ i ], im2[ i ] ] ); q = cdiv( z1, 1, 0, z2, 1, 0, new Float64Array( 2 ), 1, 0 ); - if ( q[ 0 ] === qre[ i ] ) { - t.strictEqual( q[ 0 ], qre[ i ], 'returns expected real component' ); - } else { - delta = abs( q[ 0 ] - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+q[0]+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( q[ 1 ] === qim[ i ] ) { - t.strictEqual( q[ 1 ], qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( q[ 1 ] - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+q[1]+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( q[ 0 ], qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( q[ 1 ], qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (tiny negative real components)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -759,27 +616,13 @@ tape( 'the function computes a complex quotient (tiny negative real components)' z2 = new Float64Array( [ re2[ i ], im2[ i ] ] ); q = cdiv( z1, 1, 0, z2, 1, 0, new Float64Array( 2 ), 1, 0 ); - if ( q[ 0 ] === qre[ i ] ) { - t.strictEqual( q[ 0 ], qre[ i ], 'returns expected real component' ); - } else { - delta = abs( q[ 0 ] - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+q[0]+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( q[ 1 ] === qim[ i ] ) { - t.strictEqual( q[ 1 ], qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( q[ 1 ] - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+q[1]+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( q[ 0 ], qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( q[ 1 ], qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (tiny positive imaginary components)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -803,27 +646,13 @@ tape( 'the function computes a complex quotient (tiny positive imaginary compone z2 = new Float64Array( [ re2[ i ], im2[ i ] ] ); q = cdiv( z1, 1, 0, z2, 1, 0, new Float64Array( 2 ), 1, 0 ); - if ( q[ 0 ] === qre[ i ] ) { - t.strictEqual( q[ 0 ], qre[ i ], 'returns expected real component' ); - } else { - delta = abs( q[ 0 ] - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+q[0]+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( q[ 1 ] === qim[ i ] ) { - t.strictEqual( q[ 1 ], qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( q[ 1 ] - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+q[1]+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( q[ 0 ], qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( q[ 1 ], qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); }); tape( 'the function computes a complex quotient (tiny positive real components)', function test( t ) { - var delta; - var tol; var re1; var im1; var re2; @@ -847,20 +676,8 @@ tape( 'the function computes a complex quotient (tiny positive real components)' z2 = new Float64Array( [ re2[ i ], im2[ i ] ] ); q = cdiv( z1, 1, 0, z2, 1, 0, new Float64Array( 2 ), 1, 0 ); - if ( q[ 0 ] === qre[ i ] ) { - t.strictEqual( q[ 0 ], qre[ i ], 'returns expected real component' ); - } else { - delta = abs( q[ 0 ] - qre[ i ] ); - tol = EPS * abs( qre[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. real: '+q[0]+'. expected: '+qre[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } - if ( q[ 1 ] === qim[ i ] ) { - t.strictEqual( q[ 1 ], qim[ i ], 'returns expected imaginary component' ); - } else { - delta = abs( q[ 1 ] - qim[ i ] ); - tol = EPS * abs( qim[ i ] ); - t.ok( delta <= tol, 'within tolerance. x: '+re1[i]+' + '+im1[i]+'i. y: '+re2[i]+' + '+im2[i]+'i. imag: '+q[1]+'. expected: '+qim[i]+'. delta: '+delta+'. tol: '+tol+'.' ); - } + t.strictEqual( isAlmostSameValue( q[ 0 ], qre[ i ], 0 ), true, 'returns expected value' ); + t.strictEqual( isAlmostSameValue( q[ 1 ], qim[ i ], 0 ), true, 'returns expected value' ); } t.end(); });