Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 5 additions & 34 deletions lib/node_modules/@stdlib/math/base/special/ccis/test/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,11 @@
// MODULES //

var tape = require( 'tape' );
var isAlmostSameValue = require( '@stdlib/assert/is-almost-same-value' );
var isnan = require( '@stdlib/math/base/assert/is-nan' );
var Complex128 = require( '@stdlib/complex/float64/ctor' );
var real = require( '@stdlib/complex/float64/real' );
var imag = require( '@stdlib/complex/float64/imag' );
var abs = require( '@stdlib/math/base/special/abs' );
var EPS = require( '@stdlib/constants/float64/eps' );
var PINF = require( '@stdlib/constants/float64/pinf' );
var NINF = require( '@stdlib/constants/float64/ninf' );
var ccis = require( './../lib' );
Expand Down Expand Up @@ -60,10 +59,8 @@ tape( 'the function evaluates the cis function for a double-precision complex fl
});

tape( 'the function computes cis(z) for pure real z', function test( t ) {
var delta;
var cisre;
var cisim;
var tol;
var re;
var im;
var i;
Expand All @@ -79,29 +76,15 @@ tape( 'the function computes cis(z) for pure real z', function test( t ) {
z = new Complex128( re[ i ], im[ i ] );
q = ccis( z );

if ( real( q ) === cisre[ i ] ) {
t.strictEqual( real( q ), cisre[ i ], 'returns expected real component' );
} else {
delta = abs( real( q ) - cisre[ i ] );
tol = EPS * abs( cisre[ i ] );
t.ok( delta <= tol, 'within tolerance. z: '+re[i]+'+ '+im[i]+'i. real: '+real( q )+'. expected: '+cisre[i]+'. delta: '+delta+'. tol: '+tol+'.' );
}
if ( imag( q ) === cisim[ i ] ) {
t.strictEqual( imag( q ), cisim[ i ], 'returns expected imaginary component' );
} else {
delta = abs( imag( q ) - cisim[ i ] );
tol = EPS * abs( cisim[ i ] );
t.ok( delta <= tol, 'within tolerance. z: '+re[i]+'+ '+im[i]+'i. imag: '+imag( q )+'. expected: '+cisim[i]+'. delta: '+delta+'. tol: '+tol+'.' );
}
t.strictEqual( isAlmostSameValue( real( q ), cisre[ i ], 0 ), true, 'returns expected value' );
t.strictEqual( isAlmostSameValue( imag( q ), cisim[ i ], 0 ), true, 'returns expected value' );
}
t.end();
});

tape( 'the function computes cis(z) for complex z', function test( t ) {
var delta;
var cisre;
var cisim;
var tol;
var re;
var im;
var i;
Expand All @@ -117,20 +100,8 @@ tape( 'the function computes cis(z) for complex z', function test( t ) {
z = new Complex128( re[ i ], im[ i ] );
q = ccis( z );

if ( real( q ) === cisre[ i ] ) {
t.strictEqual( real( q ), cisre[ i ], 'returns expected real component' );
} else {
delta = abs( real( q ) - cisre[ i ] );
tol = EPS * abs( cisre[ i ] );
t.ok( delta <= tol, 'within tolerance. z: '+re[i]+'+ '+im[i]+'i. real: '+real( q )+'. expected: '+cisre[i]+'. delta: '+delta+'. tol: '+tol+'.' );
}
if ( imag( q ) === cisim[ i ] ) {
t.strictEqual( imag( q ), cisim[ i ], 'returns expected imaginary component' );
} else {
delta = abs( imag( q ) - cisim[ i ] );
tol = EPS * abs( cisim[ i ] );
t.ok( delta <= tol, 'within tolerance. z: '+re[i]+'+ '+im[i]+'i. imag: '+imag( q )+'. expected: '+cisim[i]+'. delta: '+delta+'. tol: '+tol+'.' );
}
t.strictEqual( isAlmostSameValue( real( q ), cisre[ i ], 0 ), true, 'returns expected value' );
t.strictEqual( isAlmostSameValue( imag( q ), cisim[ i ], 0 ), true, 'returns expected value' );
}
t.end();
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,11 @@

var resolve = require( 'path' ).resolve;
var tape = require( 'tape' );
var isAlmostSameValue = require( '@stdlib/assert/is-almost-same-value' );
var isnan = require( '@stdlib/math/base/assert/is-nan' );
var Complex128 = require( '@stdlib/complex/float64/ctor' );
var real = require( '@stdlib/complex/float64/real' );
var imag = require( '@stdlib/complex/float64/imag' );
var abs = require( '@stdlib/math/base/special/abs' );
var EPS = require( '@stdlib/constants/float64/eps' );
var PINF = require( '@stdlib/constants/float64/pinf' );
var NINF = require( '@stdlib/constants/float64/ninf' );
var tryRequire = require( '@stdlib/utils/try-require' );
Expand Down Expand Up @@ -69,10 +68,8 @@ tape( 'the function evaluates the cis function for a double-precision complex fl
});

tape( 'the function computes cis(z) for pure real z', opts, function test( t ) {
var delta;
var cisre;
var cisim;
var tol;
var re;
var im;
var i;
Expand All @@ -88,29 +85,15 @@ tape( 'the function computes cis(z) for pure real z', opts, function test( t ) {
z = new Complex128( re[ i ], im[ i ] );
q = ccis( z );

if ( real( q ) === cisre[ i ] ) {
t.strictEqual( real( q ), cisre[ i ], 'returns expected real component' );
} else {
delta = abs( real( q ) - cisre[ i ] );
tol = EPS * abs( cisre[ i ] );
t.ok( delta <= tol, 'within tolerance. z: '+re[i]+'+ '+im[i]+'i. real: '+real( q )+'. expected: '+cisre[i]+'. delta: '+delta+'. tol: '+tol+'.' );
}
if ( imag( q ) === cisim[ i ] ) {
t.strictEqual( imag( q ), cisim[ i ], 'returns expected imaginary component' );
} else {
delta = abs( imag( q ) - cisim[ i ] );
tol = EPS * abs( cisim[ i ] );
t.ok( delta <= tol, 'within tolerance. z: '+re[i]+'+ '+im[i]+'i. imag: '+imag( q )+'. expected: '+cisim[i]+'. delta: '+delta+'. tol: '+tol+'.' );
}
t.strictEqual( isAlmostSameValue( real( q ), cisre[ i ], 0 ), true, 'returns expected value' );
t.strictEqual( isAlmostSameValue( imag( q ), cisim[ i ], 0 ), true, 'returns expected value' );
}
t.end();
});

tape( 'the function computes cis(z) for complex z', opts, function test( t ) {
var delta;
var cisre;
var cisim;
var tol;
var re;
var im;
var i;
Expand All @@ -126,21 +109,8 @@ tape( 'the function computes cis(z) for complex z', opts, function test( t ) {
z = new Complex128( re[ i ], im[ i ] );
q = ccis( z );

if ( real( q ) === cisre[ i ] ) {
t.strictEqual( real( q ), cisre[ i ], 'returns expected real component' );
} else {
// NOTE: the results may differ slightly from the reference and JavaScript implementations 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
delta = abs( real( q ) - cisre[ i ] );
tol = 1.05 * EPS * abs( cisre[ i ] );
t.ok( delta <= tol, 'within tolerance. z: '+re[i]+'+ '+im[i]+'i. real: '+real( q )+'. expected: '+cisre[i]+'. delta: '+delta+'. tol: '+tol+'.' );
}
if ( imag( q ) === cisim[ i ] ) {
t.strictEqual( imag( q ), cisim[ i ], 'returns expected imaginary component' );
} else {
delta = abs( imag( q ) - cisim[ i ] );
tol = EPS * abs( cisim[ i ] );
t.ok( delta <= tol, 'within tolerance. z: '+re[i]+'+ '+im[i]+'i. imag: '+imag( q )+'. expected: '+cisim[i]+'. delta: '+delta+'. tol: '+tol+'.' );
}
t.strictEqual( isAlmostSameValue( real( q ), cisre[ i ], 0 ), true, 'returns expected value' );
t.strictEqual( isAlmostSameValue( imag( q ), cisim[ i ], 0 ), true, 'returns expected value' );
}
t.end();
});
Expand Down