Skip to content

Commit eeaf7c4

Browse files
committed
refactor: reduce number of arithmetic operations
--- 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: passed - 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: passed - 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: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed ---
1 parent 05ab958 commit eeaf7c4

4 files changed

Lines changed: 8 additions & 12 deletions

File tree

lib/node_modules/@stdlib/stats/base/dists/wald/mode/lib/main.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ var sqrt = require( '@stdlib/math/base/special/sqrt' );
5555
*/
5656
function mode( mu, lambda ) {
5757
var r;
58+
var v;
5859
if (
5960
isnan( mu ) ||
6061
isnan( lambda ) ||
@@ -64,7 +65,8 @@ function mode( mu, lambda ) {
6465
return NaN;
6566
}
6667
r = mu / lambda;
67-
return mu * ( sqrt( 1.0 + ( ( 3.0*r/2.0 ) * ( 3.0*r/2.0 ) ) ) - ( 3.0*r/2.0 ) );
68+
v = 1.5 * r;
69+
return mu * ( sqrt( 1.0 + ( v*v ) ) - v );
6870
}
6971

7072

lib/node_modules/@stdlib/stats/base/dists/wald/mode/src/main.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
*/
3434
double stdlib_base_dists_wald_mode( const double mu, const double lambda ) {
3535
double r;
36+
double v;
3637
if (
3738
stdlib_base_is_nan( mu ) ||
3839
stdlib_base_is_nan( lambda ) ||
@@ -42,5 +43,6 @@ double stdlib_base_dists_wald_mode( const double mu, const double lambda ) {
4243
return 0.0/0.0; // NaN
4344
}
4445
r = mu / lambda;
45-
return mu * ( stdlib_base_sqrt( 1.0 + ( ( 3.0*r/2.0 ) * ( 3.0*r/2.0 ) ) ) - ( 3.0*r/2.0 ) );
46+
v = 1.5 * r;
47+
return mu * ( stdlib_base_sqrt( 1.0 + ( v*v ) ) - v );
4648
}

lib/node_modules/@stdlib/stats/base/dists/wald/mode/test/test.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,11 +114,7 @@ tape( 'the function returns the mode of a Wald distribution', function test( t )
114114
lambda = data.lambda;
115115
for ( i = 0; i < mu.length; i++ ) {
116116
y = mode( mu[i], lambda[i] );
117-
if ( y === expected[i] ) {
118-
t.strictEqual( y, expected[i], 'mu:'+mu[i]+', lambda: '+lambda[i]+', y: '+y+', expected: '+expected[i] );
119-
} else {
120-
t.ok( isAlmostSameValue( y, expected[i], 2 ), 'within tolerance. mu: '+mu[i]+'. lambda: '+lambda[i]+'. y: '+y+'. E: '+expected[ i ]+'.' );
121-
}
117+
t.strictEqual( isAlmostSameValue( y, expected[i], 2 ), true, 'within tolerance. mu: '+mu[i]+'. lambda: '+lambda[i]+'. y: '+y+'. E: '+expected[ i ]+'.' );
122118
}
123119
t.end();
124120
});

lib/node_modules/@stdlib/stats/base/dists/wald/mode/test/test.native.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -123,11 +123,7 @@ tape( 'the function returns the mode of a Wald distribution', opts, function tes
123123
lambda = data.lambda;
124124
for ( i = 0; i < mu.length; i++ ) {
125125
y = mode( mu[i], lambda[i] );
126-
if ( y === expected[i] ) {
127-
t.strictEqual( y, expected[i], 'mu:'+mu[i]+', lambda: '+lambda[i]+', y: '+y+', expected: '+expected[i] );
128-
} else {
129-
t.ok( isAlmostSameValue( y, expected[i], 2 ), 'within tolerance. mu: '+mu[i]+'. lambda: '+lambda[i]+'. y: '+y+'. E: '+expected[ i ]+'.' );
130-
}
126+
t.strictEqual( isAlmostSameValue( y, expected[i], 2 ), true, 'within tolerance. mu: '+mu[i]+'. lambda: '+lambda[i]+'. y: '+y+'. E: '+expected[ i ]+'.' );
131127
}
132128
t.end();
133129
});

0 commit comments

Comments
 (0)