From 865f3929d4ac1ad1f06c4773d4bf26877aaff726 Mon Sep 17 00:00:00 2001 From: Harshit Date: Sun, 17 May 2026 08:53:05 +0000 Subject: [PATCH] refactor(stats/strided/dnanmidrange): replace inline 0.0/0.0 with STDLIB_CONSTANT_FLOAT64_NAN from stdlib/constants/float64/nan --- 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_pkg_readmes status: passed - task: lint_markdown_docs status: na - 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: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: missing_dependencies - task: lint_c_examples status: missing_dependencies - task: lint_c_benchmarks status: missing_dependencies - 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/strided/dnanmidrange/README.md | 8 +++++--- .../dnanmidrange/benchmark/c/benchmark.length.c | 5 +++-- .../stats/strided/dnanmidrange/examples/c/example.c | 3 ++- .../@stdlib/stats/strided/dnanmidrange/manifest.json | 12 ++++++++---- .../@stdlib/stats/strided/dnanmidrange/src/main.c | 6 +++--- 5 files changed, 21 insertions(+), 13 deletions(-) diff --git a/lib/node_modules/@stdlib/stats/strided/dnanmidrange/README.md b/lib/node_modules/@stdlib/stats/strided/dnanmidrange/README.md index 5362f5478460..80b668ab68c1 100644 --- a/lib/node_modules/@stdlib/stats/strided/dnanmidrange/README.md +++ b/lib/node_modules/@stdlib/stats/strided/dnanmidrange/README.md @@ -178,6 +178,7 @@ console.log( v ); ```c #include "stdlib/stats/strided/dnanmidrange.h" +#include "stdlib/constants/float64/nan.h" ``` #### stdlib_strided_dnanmidrange( N, \*X, strideX ) @@ -185,7 +186,7 @@ console.log( v ); Computes the [mid-range][mid-range] of a double-precision floating-point strided array, ignoring `NaN` values. ```c -const double x[] = { 1.0, 0.0/0.0, 3.0, -4.0 }; +const double x[] = { 1.0, STDLIB_CONSTANT_FLOAT64_NAN, 3.0, -4.0 }; double v = stdlib_strided_dnanmidrange( 4, x, 1 ); // returns -0.5 @@ -206,7 +207,7 @@ double stdlib_strided_dnanmidrange( const CBLAS_INT N, const double *X, const CB Computes the [mid-range][mid-range] of a double-precision floating-point strided array, ignoring `NaN` values and using alternative indexing semantics. ```c -const double x[] = { 1.0, 0.0/0.0, 3.0, -4.0 }; +const double x[] = { 1.0, STDLIB_CONSTANT_FLOAT64_NAN, 3.0, -4.0 }; double v = stdlib_strided_dnanmidrange_ndarray( 4, x, 1, 0 ); // returns -0.5 @@ -243,11 +244,12 @@ double stdlib_strided_dnanmidrange_ndarray( const CBLAS_INT N, const double *X, ```c #include "stdlib/stats/strided/dnanmidrange.h" +#include "stdlib/constants/float64/nan.h" #include int main( void ) { // Create a strided array: - const double x[] = { 1.0, -2.0, -3.0, 4.0, -5.0, -6.0, 7.0, 8.0, 0.0/0.0, 0.0/0.0 }; + const double x[] = { 1.0, -2.0, -3.0, 4.0, -5.0, -6.0, 7.0, 8.0, STDLIB_CONSTANT_FLOAT64_NAN, STDLIB_CONSTANT_FLOAT64_NAN }; // Specify the number of elements: const int N = 5; diff --git a/lib/node_modules/@stdlib/stats/strided/dnanmidrange/benchmark/c/benchmark.length.c b/lib/node_modules/@stdlib/stats/strided/dnanmidrange/benchmark/c/benchmark.length.c index c4e0a005eea5..39e0f2d99afa 100644 --- a/lib/node_modules/@stdlib/stats/strided/dnanmidrange/benchmark/c/benchmark.length.c +++ b/lib/node_modules/@stdlib/stats/strided/dnanmidrange/benchmark/c/benchmark.length.c @@ -17,6 +17,7 @@ */ #include "stdlib/stats/strided/dnanmidrange.h" +#include "stdlib/constants/float64/nan.h" #include #include #include @@ -104,7 +105,7 @@ static double benchmark1( int iterations, int len ) { x = (double *)malloc( len * sizeof( double ) ); for ( i = 0; i < len; i++ ) { if ( rand_double() < 0.2 ) { - x[ i ] = 0.0 / 0.0; // NaN + x[ i ] = STDLIB_CONSTANT_FLOAT64_NAN; } else { x[ i ] = ( rand_double() * 20000.0 ) - 10000.0; } @@ -144,7 +145,7 @@ static double benchmark2( int iterations, int len ) { x = (double *)malloc( len * sizeof( double ) ); for ( i = 0; i < len; i++ ) { if ( rand_double() < 0.2 ) { - x[ i ] = 0.0 / 0.0; // NaN + x[ i ] = STDLIB_CONSTANT_FLOAT64_NAN; } else { x[ i ] = ( rand_double() * 20000.0 ) - 10000.0; } diff --git a/lib/node_modules/@stdlib/stats/strided/dnanmidrange/examples/c/example.c b/lib/node_modules/@stdlib/stats/strided/dnanmidrange/examples/c/example.c index 0a94bb1c6be2..40c6949f142a 100644 --- a/lib/node_modules/@stdlib/stats/strided/dnanmidrange/examples/c/example.c +++ b/lib/node_modules/@stdlib/stats/strided/dnanmidrange/examples/c/example.c @@ -17,11 +17,12 @@ */ #include "stdlib/stats/strided/dnanmidrange.h" +#include "stdlib/constants/float64/nan.h" #include int main( void ) { // Create a strided array: - const double x[] = { 1.0, -2.0, -3.0, 4.0, -5.0, -6.0, 7.0, 8.0, 0.0/0.0, 0.0/0.0 }; + const double x[] = { 1.0, -2.0, -3.0, 4.0, -5.0, -6.0, 7.0, 8.0, STDLIB_CONSTANT_FLOAT64_NAN, STDLIB_CONSTANT_FLOAT64_NAN }; // Specify the number of elements: const int N = 5; diff --git a/lib/node_modules/@stdlib/stats/strided/dnanmidrange/manifest.json b/lib/node_modules/@stdlib/stats/strided/dnanmidrange/manifest.json index 87ac804c1994..47c0f3ff5afb 100644 --- a/lib/node_modules/@stdlib/stats/strided/dnanmidrange/manifest.json +++ b/lib/node_modules/@stdlib/stats/strided/dnanmidrange/manifest.json @@ -47,7 +47,8 @@ "@stdlib/napi/argv", "@stdlib/napi/argv-int64", "@stdlib/napi/argv-strided-float64array", - "@stdlib/napi/create-double" + "@stdlib/napi/create-double", + "@stdlib/constants/float64/nan" ] }, { @@ -66,7 +67,8 @@ "@stdlib/strided/base/stride2offset", "@stdlib/math/base/assert/is-nan", "@stdlib/math/base/assert/is-positive-zero", - "@stdlib/math/base/assert/is-negative-zero" + "@stdlib/math/base/assert/is-negative-zero", + "@stdlib/constants/float64/nan" ] }, { @@ -85,7 +87,8 @@ "@stdlib/strided/base/stride2offset", "@stdlib/math/base/assert/is-nan", "@stdlib/math/base/assert/is-positive-zero", - "@stdlib/math/base/assert/is-negative-zero" + "@stdlib/math/base/assert/is-negative-zero", + "@stdlib/constants/float64/nan" ] }, { @@ -104,7 +107,8 @@ "@stdlib/strided/base/stride2offset", "@stdlib/math/base/assert/is-nan", "@stdlib/math/base/assert/is-positive-zero", - "@stdlib/math/base/assert/is-negative-zero" + "@stdlib/math/base/assert/is-negative-zero", + "@stdlib/constants/float64/nan" ] } ] diff --git a/lib/node_modules/@stdlib/stats/strided/dnanmidrange/src/main.c b/lib/node_modules/@stdlib/stats/strided/dnanmidrange/src/main.c index e71c201209c4..b67e8794cbab 100644 --- a/lib/node_modules/@stdlib/stats/strided/dnanmidrange/src/main.c +++ b/lib/node_modules/@stdlib/stats/strided/dnanmidrange/src/main.c @@ -22,6 +22,7 @@ #include "stdlib/math/base/assert/is_negative_zero.h" #include "stdlib/blas/base/shared.h" #include "stdlib/strided/base/stride2offset.h" +#include "stdlib/constants/float64/nan.h" /** * Computes the mid-range of a double-precision floating-point strided array, ignoring `NaN` values. @@ -51,9 +52,8 @@ double API_SUFFIX(stdlib_strided_dnanmidrange_ndarray)( const CBLAS_INT N, const double max; double min; double v; - if ( N <= 0 ) { - return 0.0 / 0.0; // NaN + return STDLIB_CONSTANT_FLOAT64_NAN; } if ( N == 1 || strideX == 0 ) { return X[ offsetX ]; @@ -67,7 +67,7 @@ double API_SUFFIX(stdlib_strided_dnanmidrange_ndarray)( const CBLAS_INT N, const ix += strideX; } if ( i == N ) { - return 0.0 / 0.0; // NaN + return STDLIB_CONSTANT_FLOAT64_NAN; } min = v; max = min;