Skip to content
Merged
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
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,12 @@
// MODULES //

var tape = require( 'tape' );
var isAlmostSameValue = require( '@stdlib/assert/is-almost-same-value' );
var array2iterator = require( '@stdlib/array/to-iterator' );
var iterEmpty = require( '@stdlib/iter/empty' );
var isnan = require( '@stdlib/math/base/assert/is-nan' );
var iterContinuedFractionSeq = require( '@stdlib/math/iter/sequences/continued-fraction' );
var PI = require( '@stdlib/constants/float64/pi' );
var abs = require( '@stdlib/math/base/special/abs' );
var EPS = require( '@stdlib/constants/float64/eps' );
var iterContinuedFraction = require( './../lib' );


Expand Down Expand Up @@ -158,8 +157,6 @@ tape( 'the function throws an error if provided an invalid option', function tes

tape( 'the function evaluates the terms of the continued fraction', function test( t ) {
var expected;
var delta;
var tol;
var it;
var v;

Expand All @@ -177,121 +174,61 @@ tape( 'the function evaluates the terms of the continued fraction', function tes
v = iterContinuedFraction( it );

expected = 3.245;
if ( v === expected ) {
t.strictEqual( v, expected, 'returns expected value' );
} else {
delta = abs( v - expected );
tol = 1.25 * EPS * abs( expected );
t.strictEqual( delta <= tol, true, 'actual: '+v+'. expected: '+expected+'. delta: '+delta+'. tol: '+tol+'.' );
}
t.strictEqual( isAlmostSameValue( v, expected, 2 ), true, 'returns expected value' );

it = array2iterator( [ -3, -4, -12, -4 ] );
v = iterContinuedFraction( it );

expected = -3.245;
if ( v === expected ) {
t.strictEqual( v, expected, 'returns expected value' );
} else {
delta = abs( v - expected );
tol = 1.25 * EPS * abs( expected );
t.strictEqual( delta <= tol, true, 'actual: '+v+'. expected: '+expected+'. delta: '+delta+'. tol: '+tol+'.' );
}
t.strictEqual( isAlmostSameValue( v, expected, 2 ), true, 'returns expected value' );

it = iterContinuedFractionSeq( PI );
v = iterContinuedFraction( it );

expected = PI;
if ( v === expected ) {
t.strictEqual( v, expected, 'returns expected value' );
} else {
delta = abs( v - expected );
tol = 1.0 * EPS * abs( expected );
t.strictEqual( delta <= tol, true, 'actual: '+v+'. expected: '+expected+'. delta: '+delta+'. tol: '+tol+'.' );
}
t.strictEqual( isAlmostSameValue( v, expected, 0 ), true, 'returns expected value' );

it = iterContinuedFractionSeq( -PI );
v = iterContinuedFraction( it );

expected = -PI;
if ( v === expected ) {
t.strictEqual( v, expected, 'returns expected value' );
} else {
delta = abs( v - expected );
tol = 1.0 * EPS * abs( expected );
t.strictEqual( delta <= tol, true, 'actual: '+v+'. expected: '+expected+'. delta: '+delta+'. tol: '+tol+'.' );
}
t.strictEqual( isAlmostSameValue( v, expected, 0 ), true, 'returns expected value' );

it = array2iterator( [ 0, 2 ] );
v = iterContinuedFraction( it );

expected = 0.5;
if ( v === expected ) {
t.strictEqual( v, expected, 'returns expected value' );
} else {
delta = abs( v - expected );
tol = 1.0 * EPS * abs( expected );
t.strictEqual( delta <= tol, true, 'actual: '+v+'. expected: '+expected+'. delta: '+delta+'. tol: '+tol+'.' );
}
t.strictEqual( isAlmostSameValue( v, expected, 0 ), true, 'returns expected value' );

it = array2iterator( [ 0, 10 ] );
v = iterContinuedFraction( it );

expected = 0.1;
if ( v === expected ) {
t.strictEqual( v, expected, 'returns expected value' );
} else {
delta = abs( v - expected );
tol = 1.0 * EPS * abs( expected );
t.strictEqual( delta <= tol, true, 'actual: '+v+'. expected: '+expected+'. delta: '+delta+'. tol: '+tol+'.' );
}
t.strictEqual( isAlmostSameValue( v, expected, 0 ), true, 'returns expected value' );

it = iterContinuedFractionSeq( 0.3 );
v = iterContinuedFraction( it );

expected = 0.3;
if ( v === expected ) {
t.strictEqual( v, expected, 'returns expected value' );
} else {
delta = abs( v - expected );
tol = 1.0 * EPS * abs( expected );
t.strictEqual( delta <= tol, true, 'actual: '+v+'. expected: '+expected+'. delta: '+delta+'. tol: '+tol+'.' );
}
t.strictEqual( isAlmostSameValue( v, expected, 1 ), true, 'returns expected value' );

it = iterContinuedFractionSeq( -0.5 );
v = iterContinuedFraction( it );

expected = -0.5;
if ( v === expected ) {
t.strictEqual( v, expected, 'returns expected value' );
} else {
delta = abs( v - expected );
tol = 1.0 * EPS * abs( expected );
t.strictEqual( delta <= tol, true, 'actual: '+v+'. expected: '+expected+'. delta: '+delta+'. tol: '+tol+'.' );
}
t.strictEqual( isAlmostSameValue( v, expected, 0 ), true, 'returns expected value' );

it = iterContinuedFractionSeq( -0.3 );
v = iterContinuedFraction( it );

expected = -0.3;
if ( v === expected ) {
t.strictEqual( v, expected, 'returns expected value' );
} else {
delta = abs( v - expected );
tol = 1.0 * EPS * abs( expected );
t.strictEqual( delta <= tol, true, 'actual: '+v+'. expected: '+expected+'. delta: '+delta+'. tol: '+tol+'.' );
}
t.strictEqual( isAlmostSameValue( v, expected, 1 ), true, 'returns expected value' );

it = iterContinuedFractionSeq( -0.1 );
v = iterContinuedFraction( it );

expected = -0.1;
if ( v === expected ) {
t.strictEqual( v, expected, 'returns expected value' );
} else {
delta = abs( v - expected );
tol = 1.0 * EPS * abs( expected );
t.strictEqual( delta <= tol, true, 'actual: '+v+'. expected: '+expected+'. delta: '+delta+'. tol: '+tol+'.' );
}
t.strictEqual( isAlmostSameValue( v, expected, 0 ), true, 'returns expected value' );

t.end();
});
Expand Down Expand Up @@ -358,8 +295,6 @@ tape( 'the function supports specifying an iteration limit', function test( t )

tape( 'the function supports specifying a tolerance', function test( t ) {
var expected;
var delta;
var tol;
var it;
var v;

Expand All @@ -369,27 +304,15 @@ tape( 'the function supports specifying a tolerance', function test( t ) {
});

expected = 3.1415926530119025; // [ 3; 7, 15, 1, 292 ]
if ( v === expected ) {
t.strictEqual( v, expected, 'returns expected value' );
} else {
delta = abs( v - expected );
tol = 1.0 * EPS * abs( expected );
t.strictEqual( delta <= tol, true, 'actual: '+v+'. expected: '+expected+'. delta: '+delta+'. tol: '+tol+'.' );
}
t.strictEqual( isAlmostSameValue( v, expected, 0 ), true, 'returns expected value' );

it = iterContinuedFractionSeq( -PI );
v = iterContinuedFraction( it, {
'tol': 1.0e-7
});

expected = -3.1415926530119025; // [ -3; -7, -15, -1, -292 ]
if ( v === expected ) {
t.strictEqual( v, expected, 'returns expected value' );
} else {
delta = abs( v - expected );
tol = 1.0 * EPS * abs( expected );
t.strictEqual( delta <= tol, true, 'actual: '+v+'. expected: '+expected+'. delta: '+delta+'. tol: '+tol+'.' );
}
t.strictEqual( isAlmostSameValue( v, expected, 0 ), true, 'returns expected value' );

t.end();
});
Expand Down
Loading