From 5cd5cdc640351f9b4ea4e781dc24197c2b341fed Mon Sep 17 00:00:00 2001 From: Om-A-osc Date: Sat, 11 Apr 2026 12:29:09 +0530 Subject: [PATCH 1/2] refactor: reuse variance in `chi/stdev` implementation --- 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 --- --- .../@stdlib/stats/base/dists/chi/stdev/lib/main.js | 10 ++-------- .../@stdlib/stats/base/dists/chi/stdev/manifest.json | 9 +++------ .../@stdlib/stats/base/dists/chi/stdev/src/main.c | 10 ++-------- 3 files changed, 7 insertions(+), 22 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/chi/stdev/lib/main.js b/lib/node_modules/@stdlib/stats/base/dists/chi/stdev/lib/main.js index 05d9704cb96d..6b2d9f862301 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/chi/stdev/lib/main.js +++ b/lib/node_modules/@stdlib/stats/base/dists/chi/stdev/lib/main.js @@ -20,9 +20,8 @@ // MODULES // -var isnan = require( '@stdlib/math/base/assert/is-nan' ); -var mean = require( '@stdlib/stats/base/dists/chi/mean' ); var sqrt = require( '@stdlib/math/base/special/sqrt' ); +var variance = require( '@stdlib/stats/base/dists/chi/variance' ); // MAIN // @@ -50,12 +49,7 @@ var sqrt = require( '@stdlib/math/base/special/sqrt' ); * // returns NaN */ function stdev( k ) { - var mu; - if ( isnan( k ) || k < 0.0 ) { - return NaN; - } - mu = mean( k ); - return sqrt( k - ( mu*mu ) ); + return sqrt( variance( k ) ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/chi/stdev/manifest.json b/lib/node_modules/@stdlib/stats/base/dists/chi/stdev/manifest.json index e62f2b269ea6..bddde16d3b0c 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/chi/stdev/manifest.json +++ b/lib/node_modules/@stdlib/stats/base/dists/chi/stdev/manifest.json @@ -39,9 +39,8 @@ "libpath": [], "dependencies": [ "@stdlib/math/base/napi/unary", - "@stdlib/math/base/assert/is-nan", "@stdlib/math/base/special/sqrt", - "@stdlib/stats/base/dists/chi/mean" + "@stdlib/stats/base/dists/chi/variance" ] }, { @@ -56,9 +55,8 @@ "libraries": [], "libpath": [], "dependencies": [ - "@stdlib/math/base/assert/is-nan", "@stdlib/math/base/special/sqrt", - "@stdlib/stats/base/dists/chi/mean" + "@stdlib/stats/base/dists/chi/variance" ] }, { @@ -73,9 +71,8 @@ "libraries": [], "libpath": [], "dependencies": [ - "@stdlib/math/base/assert/is-nan", "@stdlib/math/base/special/sqrt", - "@stdlib/stats/base/dists/chi/mean" + "@stdlib/stats/base/dists/chi/variance" ] } ] diff --git a/lib/node_modules/@stdlib/stats/base/dists/chi/stdev/src/main.c b/lib/node_modules/@stdlib/stats/base/dists/chi/stdev/src/main.c index a079b32c1956..ed6f9f6c8516 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/chi/stdev/src/main.c +++ b/lib/node_modules/@stdlib/stats/base/dists/chi/stdev/src/main.c @@ -16,9 +16,8 @@ * limitations under the License. */ -#include "stdlib/stats/base/dists/chi/mean.h" -#include "stdlib/math/base/assert/is_nan.h" #include "stdlib/math/base/special/sqrt.h" +#include "stdlib/stats/base/dists/chi/variance.h" /** * Returns the standard deviation of a chi distribution. @@ -31,10 +30,5 @@ * // returns ~0.697 */ double stdlib_base_dists_chi_stdev( const double k ) { - double mu; - if ( stdlib_base_is_nan( k ) || k < 0.0 ) { - return 0.0/0.0; // NaN - } - mu = stdlib_base_dists_chi_mean( k ); - return stdlib_base_sqrt( k - ( mu*mu ) ); + return stdlib_base_sqrt( stdlib_base_dists_chi_variance( k ) ); } From a05c4d537e84d33a6d2038acba5f7908f1a07627 Mon Sep 17 00:00:00 2001 From: Athan Date: Sat, 11 Apr 2026 00:19:26 -0700 Subject: [PATCH 2/2] Apply suggestions from code review Co-authored-by: Athan Signed-off-by: Athan --- lib/node_modules/@stdlib/stats/base/dists/chi/stdev/src/main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/node_modules/@stdlib/stats/base/dists/chi/stdev/src/main.c b/lib/node_modules/@stdlib/stats/base/dists/chi/stdev/src/main.c index ed6f9f6c8516..7fac0e700311 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/chi/stdev/src/main.c +++ b/lib/node_modules/@stdlib/stats/base/dists/chi/stdev/src/main.c @@ -16,8 +16,9 @@ * limitations under the License. */ -#include "stdlib/math/base/special/sqrt.h" +#include "stdlib/stats/base/dists/chi/stdev.h" #include "stdlib/stats/base/dists/chi/variance.h" +#include "stdlib/math/base/special/sqrt.h" /** * Returns the standard deviation of a chi distribution.