Skip to content

Commit 5d4f9d2

Browse files
committed
test: update tests for consistency with cosh
--- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: na - task: lint_typescript_tests status: na - task: lint_license_headers status: passed ---
1 parent c548edd commit 5d4f9d2

File tree

10 files changed

+101
-159
lines changed

10 files changed

+101
-159
lines changed

lib/node_modules/@stdlib/math/base/special/sech/test/fixtures/julia/data.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

lib/node_modules/@stdlib/math/base/special/sech/test/fixtures/julia/large.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

lib/node_modules/@stdlib/math/base/special/sech/test/fixtures/julia/large_negative.json

Lines changed: 0 additions & 1 deletion
This file was deleted.

lib/node_modules/@stdlib/math/base/special/sech/test/fixtures/julia/large_positive.json

Lines changed: 0 additions & 1 deletion
This file was deleted.

lib/node_modules/@stdlib/math/base/special/sech/test/fixtures/julia/runner.jl

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Generate fixture data and write to file.
3131
# Examples
3232
3333
``` julia
34-
julia> x = range( -708, stop = 709, length = 2001 );
34+
julia> x = range( -1000, stop = 1000, length = 2001 );
3535
julia> gen( x, \"data.json\" );
3636
```
3737
"""
@@ -62,21 +62,13 @@ file = @__FILE__;
6262
dir = dirname( file );
6363

6464
# Generate fixture data for decimal values:
65-
x = range( -100, stop = 103, length = 2023 );
65+
x = range( -100, stop = 100, length = 2003 );
6666
gen( x, "data.json" );
6767

68-
# Large negative values:
69-
x = range( -708.0, stop = -100, length = 2003 );
70-
gen( x, "large_negative.json" );
68+
# Generate fixture data for large values:
69+
x = range( 100, stop = 709, length = 2003 );
70+
gen( x, "large.json" );
7171

72-
# Large positive values:
73-
x = range( 100, stop = 709.0, length = 2003 );
74-
gen( x, "large_positive.json" );
75-
76-
# Tiny negative values:
77-
x = range( -1e-200, stop = -1e-208, length = 2003 );
78-
gen( x, "tiny_negative.json" );
79-
80-
# Tiny positive values:
81-
x = range( 1e-300, stop = 1e-308, length = 2003 );
82-
gen( x, "tiny_positive.json" );
72+
# Generate fixture data for tiny values:
73+
x = range( -1e-300, stop = -1e-308, length = 2003 );
74+
gen( x, "tiny.json" );

lib/node_modules/@stdlib/math/base/special/sech/test/fixtures/julia/tiny.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

lib/node_modules/@stdlib/math/base/special/sech/test/fixtures/julia/tiny_negative.json

Lines changed: 0 additions & 1 deletion
This file was deleted.

lib/node_modules/@stdlib/math/base/special/sech/test/fixtures/julia/tiny_positive.json

Lines changed: 0 additions & 1 deletion
This file was deleted.

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

Lines changed: 45 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222

2323
var tape = require( 'tape' );
2424
var isnan = require( '@stdlib/math/base/assert/is-nan' );
25+
var PINF = require( '@stdlib/constants/float64/pinf' );
26+
var NINF = require( '@stdlib/constants/float64/ninf' );
2527
var EPS = require( '@stdlib/constants/float64/eps' );
2628
var abs = require( '@stdlib/math/base/special/abs' );
2729
var sech = require( './../lib' );
@@ -30,10 +32,8 @@ var sech = require( './../lib' );
3032
// FIXTURES //
3133

3234
var data = require( './fixtures/julia/data.json' );
33-
var largeNegative = require( './fixtures/julia/large_negative.json' );
34-
var largePositive = require( './fixtures/julia/large_positive.json' );
35-
var tinyNegative = require( './fixtures/julia/tiny_negative.json' );
36-
var tinyPositive = require( './fixtures/julia/tiny_positive.json' );
35+
var tiny = require( './fixtures/julia/tiny.json' );
36+
var large = require( './fixtures/julia/large.json' );
3737

3838

3939
// TESTS //
@@ -44,12 +44,6 @@ tape( 'main export is a function', function test( t ) {
4444
t.end();
4545
});
4646

47-
tape( 'the function returns `NaN` if provided a `NaN`', function test( t ) {
48-
var v = sech( NaN );
49-
t.equal( isnan( v ), true, 'returns expected value' );
50-
t.end();
51-
});
52-
5347
tape( 'the function computes the hyperbolic secant', function test( t ) {
5448
var expected;
5549
var delta;
@@ -62,110 +56,92 @@ tape( 'the function computes the hyperbolic secant', function test( t ) {
6256
expected = data.expected;
6357

6458
for ( i = 0; i < x.length; i++ ) {
65-
y = sech( x[ i ] );
59+
y = sech( x[i] );
6660
if ( y === expected[ i ] ) {
67-
t.equal( y, expected[ i ], 'x: '+x[ i ]+'. Expected: '+expected[ i ] );
61+
t.strictEqual( y, expected[ i ], 'x: '+x[i]+'. E: '+expected[i] );
6862
} else {
69-
delta = abs( y - expected[ i ] );
70-
tol = 1.4 * EPS * abs( expected[ i ] );
71-
t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. Value: '+y+'. Expected: '+expected[ i ]+'. Tolerance: '+tol+'.' );
63+
delta = abs( y - expected[i] );
64+
tol = 1.4 * EPS * abs( expected[i] );
65+
t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. Value: '+y+'. E: '+expected[i]+'. tol: '+tol+'. Δ: '+delta+'.' );
7266
}
7367
}
7468
t.end();
7569
});
7670

77-
tape( 'the function computes the hyperbolic secant (large negative)', function test( t ) {
71+
tape( 'the function computes the hyperbolic secant (tiny values)', function test( t ) {
7872
var expected;
7973
var delta;
8074
var tol;
8175
var x;
8276
var y;
8377
var i;
8478

85-
x = largeNegative.x;
86-
expected = largeNegative.expected;
79+
x = tiny.x;
80+
expected = tiny.expected;
8781

8882
for ( i = 0; i < x.length; i++ ) {
89-
y = sech( x[ i ] );
83+
y = sech( x[i] );
9084
if ( y === expected[ i ] ) {
91-
t.equal( y, expected[ i ], 'x: '+x[ i ]+'. Expected: '+expected[ i ] );
85+
t.strictEqual( y, expected[ i ], 'x: '+x[i]+'. E: '+expected[i] );
9286
} else {
93-
delta = abs( y - expected[ i ] );
94-
tol = 1.4 * EPS * abs( expected[ i ] );
95-
t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. Value: '+y+'. Expected: '+expected[ i ]+'. Tolerance: '+tol+'.' );
87+
delta = abs( y - expected[i] );
88+
tol = EPS * abs( expected[i] );
89+
t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. Value: '+y+'. E: '+expected[i]+'. tol: '+tol+'. Δ: '+delta+'.' );
9690
}
9791
}
9892
t.end();
9993
});
10094

101-
tape( 'the function computes the hyperbolic secant (large positive)', function test( t ) {
95+
tape( 'the function computes the hyperbolic secant (large values)', function test( t ) {
10296
var expected;
10397
var delta;
10498
var tol;
10599
var x;
106100
var y;
107101
var i;
108102

109-
x = largePositive.x;
110-
expected = largePositive.expected;
103+
x = large.x;
104+
expected = large.expected;
111105

112106
for ( i = 0; i < x.length; i++ ) {
113-
y = sech( x[ i ] );
107+
y = sech( x[i] );
114108
if ( y === expected[ i ] ) {
115-
t.equal( y, expected[ i ], 'x: '+x[ i ]+'. Expected: '+expected[ i ] );
109+
t.strictEqual( y, expected[ i ], 'x: '+x[i]+'. E: '+expected[i] );
116110
} else {
117-
delta = abs( y - expected[ i ] );
118-
tol = 2.0 * EPS * abs( expected[ i ] );
119-
t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. Value: '+y+'. Expected: '+expected[ i ]+'. Tolerance: '+tol+'.' );
111+
delta = abs( y - expected[i] );
112+
tol = 1.4 * EPS * abs( expected[i] );
113+
t.ok( delta <= tol, 'within tolerance. x: '+x[i]+'. Value: '+y+'. E: '+expected[i]+'. tol: '+tol+'. Δ: '+delta+'.' );
120114
}
121115
}
122116
t.end();
123117
});
124118

125-
tape( 'the function computes the hyperbolic secant (tiny negative)', function test( t ) {
126-
var expected;
127-
var delta;
128-
var tol;
129-
var x;
130-
var y;
131-
var i;
119+
tape( 'the function returns `1` if provided `+-0`', function test( t ) {
120+
var v;
132121

133-
x = tinyNegative.x;
134-
expected = tinyNegative.expected;
122+
v = sech( -0.0 );
123+
t.strictEqual( v, 1.0, 'returns expected value' );
124+
125+
v = sech( +0.0 );
126+
t.strictEqual( v, 1.0, 'returns expected value' );
135127

136-
for ( i = 0; i < x.length; i++ ) {
137-
y = sech( x[ i ] );
138-
if ( y === expected[ i ] ) {
139-
t.equal( y, expected[ i ], 'x: '+x[ i ]+'. Expected: '+expected[ i ] );
140-
} else {
141-
delta = abs( y - expected[ i ] );
142-
tol = EPS * abs( expected[ i ] );
143-
t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. Value: '+y+'. Expected: '+expected[ i ]+'. Tolerance: '+tol+'.' );
144-
}
145-
}
146128
t.end();
147129
});
148130

149-
tape( 'the function computes the hyperbolic secant (tiny positive)', function test( t ) {
150-
var expected;
151-
var delta;
152-
var tol;
153-
var x;
154-
var y;
155-
var i;
131+
tape( 'the function returns `NaN` if provided `NaN`', function test( t ) {
132+
var v = sech( NaN );
133+
t.strictEqual( isnan( v ), true, 'returns expected value' );
134+
t.end();
135+
});
156136

157-
x = tinyPositive.x;
158-
expected = tinyPositive.expected;
137+
tape( 'the function returns `0.0` if provided `+-infinity`', function test( t ) {
138+
var v;
139+
140+
v = sech( PINF );
141+
t.strictEqual( v, 0.0, 'returns expected value' );
142+
143+
v = sech( NINF );
144+
t.strictEqual( v, 0.0, 'returns expected value' );
159145

160-
for ( i = 0; i < x.length; i++ ) {
161-
y = sech( x[ i ] );
162-
if ( y === expected[ i ] ) {
163-
t.equal( y, expected[ i ], 'x: '+x[ i ]+'. Expected: '+expected[ i ] );
164-
} else {
165-
delta = abs( y - expected[ i ] );
166-
tol = EPS * abs( expected[ i ] );
167-
t.ok( delta <= tol, 'within tolerance. x: '+x[ i ]+'. Value: '+y+'. Expected: '+expected[ i ]+'. Tolerance: '+tol+'.' );
168-
}
169-
}
170146
t.end();
171147
});

0 commit comments

Comments
 (0)