From 0dbf0ff164a999b9c05d045420e11ece8bb31199 Mon Sep 17 00:00:00 2001 From: Om-A-osc Date: Sat, 11 Apr 2026 12:55:17 +0530 Subject: [PATCH] refactor: reuse variance in `stats/base/dists/bernoulli/stdev` --- 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: na - 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 --- --- .../stats/base/dists/bernoulli/stdev/lib/main.js | 11 ++--------- .../stats/base/dists/bernoulli/stdev/manifest.json | 12 ++++++------ .../stats/base/dists/bernoulli/stdev/src/main.c | 11 ++--------- 3 files changed, 10 insertions(+), 24 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/stdev/lib/main.js b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/stdev/lib/main.js index 0b3a10605b21..298ff5188ba2 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/stdev/lib/main.js +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/stdev/lib/main.js @@ -20,8 +20,8 @@ // MODULES // -var isnan = require( '@stdlib/math/base/assert/is-nan' ); var sqrt = require( '@stdlib/math/base/special/sqrt' ); +var variance = require( '@stdlib/stats/base/dists/bernoulli/variance' ); // MAIN // @@ -49,14 +49,7 @@ var sqrt = require( '@stdlib/math/base/special/sqrt' ); * // returns NaN */ function stdev( p ) { - if ( - isnan( p ) || - p < 0.0 || - p > 1.0 - ) { - return NaN; - } - return sqrt( ( 1.0-p ) * p ); + return sqrt( variance( p ) ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/stdev/manifest.json b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/stdev/manifest.json index 546b58881775..0b79e0701b2b 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/stdev/manifest.json +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/stdev/manifest.json @@ -39,8 +39,8 @@ "libpath": [], "dependencies": [ "@stdlib/math/base/napi/unary", - "@stdlib/math/base/assert/is-nan", - "@stdlib/math/base/special/sqrt" + "@stdlib/math/base/special/sqrt", + "@stdlib/stats/base/dists/bernoulli/variance" ] }, { @@ -55,8 +55,8 @@ "libraries": [], "libpath": [], "dependencies": [ - "@stdlib/math/base/assert/is-nan", - "@stdlib/math/base/special/sqrt" + "@stdlib/math/base/special/sqrt", + "@stdlib/stats/base/dists/bernoulli/variance" ] }, { @@ -71,8 +71,8 @@ "libraries": [], "libpath": [], "dependencies": [ - "@stdlib/math/base/assert/is-nan", - "@stdlib/math/base/special/sqrt" + "@stdlib/math/base/special/sqrt", + "@stdlib/stats/base/dists/bernoulli/variance" ] } ] diff --git a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/stdev/src/main.c b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/stdev/src/main.c index 0db3e3c4cf20..c3fd826e4188 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/bernoulli/stdev/src/main.c +++ b/lib/node_modules/@stdlib/stats/base/dists/bernoulli/stdev/src/main.c @@ -17,8 +17,8 @@ */ #include "stdlib/stats/base/dists/bernoulli/stdev.h" -#include "stdlib/math/base/assert/is_nan.h" #include "stdlib/math/base/special/sqrt.h" +#include "stdlib/stats/base/dists/bernoulli/variance.h" /** * Returns the standard deviation of a Bernoulli distribution. @@ -31,12 +31,5 @@ * // returns ~0.3 */ double stdlib_base_dists_bernoulli_stdev( const double p ) { - if ( - stdlib_base_is_nan( p ) || - p < 0.0 || - p > 1.0 - ) { - return 0.0/0.0; // NaN - } - return stdlib_base_sqrt( ( 1.0-p ) * p ); + return stdlib_base_sqrt( stdlib_base_dists_bernoulli_variance( p ) ); }