diff --git a/lib/node_modules/@stdlib/stats/strided/snanmeanpn/README.md b/lib/node_modules/@stdlib/stats/strided/snanmeanpn/README.md index 4ada5e41af00..abc5fa39744b 100644 --- a/lib/node_modules/@stdlib/stats/strided/snanmeanpn/README.md +++ b/lib/node_modules/@stdlib/stats/strided/snanmeanpn/README.md @@ -196,6 +196,7 @@ console.log( v ); ```c #include "stdlib/stats/strided/snanmeanpn.h" +include "stdlib/constants/float32/nan.h" ``` #### stdlib_strided_snanmeanpn( N, \*X, strideX ) @@ -203,7 +204,7 @@ console.log( v ); Computes the [arithmetic mean][arithmetic-mean] of a single-precision floating-point strided array, ignoring `NaN` values and using a two-pass error correction algorithm. ```c -const float x[] = { 1.0f, -2.0f, 0.0f/0.0f, 2.0f }; +const float x[] = { 1.0f, -2.0f, STDLIB_CONSTANT_FLOAT32_NAN, 2.0f }; float v = stdlib_strided_snanmeanpn( 4, x, 1 ); // returns ~0.33333f @@ -224,7 +225,7 @@ float stdlib_strided_snanmeanpn( const CBLAS_INT N, const float *X, const CBLAS_ Computes the [arithmetic mean][arithmetic-mean] of a single-precision floating-point strided array, ignoring `NaN` values and using a two-pass error correction algorithm and alternative indexing semantics. ```c -const float x[] = { 1.0f, -2.0f, 0.0f/0.0f, 2.0f }; +const float x[] = { 1.0f, -2.0f, STDLIB_CONSTANT_FLOAT32_NAN, 2.0f }; float v = stdlib_strided_snanmeanpn_ndarray( 4, x, 1, 0 ); // returns ~0.33333f @@ -265,7 +266,7 @@ float stdlib_strided_snanmeanpn_ndarray( const CBLAS_INT N, const float *X, cons int main( void ) { // Create a strided array: - const float x[] = { 1.0f, 2.0f, 0.0f/0.0f, 3.0f, 0.0f/0.0f, 4.0f, 5.0f, 6.0f, 0.0f/0.0f, 7.0f, 8.0f, 0.0f/0.0f }; + const float x[] = { 1.0f, 2.0f, STDLIB_CONSTANT_FLOAT32_NAN, 3.0f, STDLIB_CONSTANT_FLOAT32_NAN, 4.0f, 5.0f, 6.0f, 0.0f/0.0f, 7.0f, 8.0f, STDLIB_CONSTANT_FLOAT32_NAN }; // Specify the number of elements: const int N = 6; diff --git a/lib/node_modules/@stdlib/stats/strided/snanmeanpn/benchmark/c/benchmark.length.c b/lib/node_modules/@stdlib/stats/strided/snanmeanpn/benchmark/c/benchmark.length.c index c5c8f29dd8cd..8e23344ca97c 100644 --- a/lib/node_modules/@stdlib/stats/strided/snanmeanpn/benchmark/c/benchmark.length.c +++ b/lib/node_modules/@stdlib/stats/strided/snanmeanpn/benchmark/c/benchmark.length.c @@ -17,6 +17,7 @@ */ #include "stdlib/stats/strided/snanmeanpn.h" +#include "stdlib/constants/float32/nan.h" #include #include #include @@ -103,7 +104,7 @@ static double benchmark1( int iterations, int len ) { for ( i = 0; i < len; i++ ) { if ( rand_float() < 0.2f ) { - x[ i ] = 0.0f / 0.0f; // NaN + x[ i ] = STDLIB_CONSTANT_FLOAT32_NAN; } else { x[ i ] = ( rand_float() * 20000.0f ) - 10000.0f; } @@ -141,7 +142,7 @@ static double benchmark2( int iterations, int len ) { for ( i = 0; i < len; i++ ) { if ( rand_float() < 0.2 ) { - x[ i ] = 0.0 / 0.0; // NaN + x[ i ] = STDLIB_CONSTANT_FLOAT32_NAN; } else { x[ i ] = ( rand_float() * 20000.0 ) - 10000.0; } diff --git a/lib/node_modules/@stdlib/stats/strided/snanmeanpn/examples/c/example.c b/lib/node_modules/@stdlib/stats/strided/snanmeanpn/examples/c/example.c index 2177060463b1..213aa7ff73d5 100644 --- a/lib/node_modules/@stdlib/stats/strided/snanmeanpn/examples/c/example.c +++ b/lib/node_modules/@stdlib/stats/strided/snanmeanpn/examples/c/example.c @@ -17,11 +17,12 @@ */ #include "stdlib/stats/strided/snanmeanpn.h" +#include "stdlib/constants/float32/nan.h" #include int main( void ) { // Create a strided array: - const float x[] = { 1.0f, 2.0f, 0.0f/0.0f, 3.0f, 0.0f/0.0f, 4.0f, 5.0f, 6.0f, 0.0f/0.0f, 7.0f, 8.0f, 0.0f/0.0f }; + const float x[] = { 1.0f, 2.0f, STDLIB_CONSTANT_FLOAT32_NAN, 3.0f, STDLIB_CONSTANT_FLOAT32_NAN, 4.0f, 5.0f, 6.0f, STDLIB_CONSTANT_FLOAT32_NAN, 7.0f, 8.0f, STDLIB_CONSTANT_FLOAT32_NAN }; // Specify the number of elements: const int N = 6; diff --git a/lib/node_modules/@stdlib/stats/strided/snanmeanpn/manifest.json b/lib/node_modules/@stdlib/stats/strided/snanmeanpn/manifest.json index c4885c62aedf..741f2f36dd7b 100644 --- a/lib/node_modules/@stdlib/stats/strided/snanmeanpn/manifest.json +++ b/lib/node_modules/@stdlib/stats/strided/snanmeanpn/manifest.json @@ -44,7 +44,8 @@ "@stdlib/napi/argv", "@stdlib/napi/argv-int64", "@stdlib/napi/argv-strided-float32array", - "@stdlib/napi/create-double" + "@stdlib/napi/create-double", + "@stdlib/constants/float32/nan" ] }, { @@ -60,7 +61,8 @@ "libpath": [], "dependencies": [ "@stdlib/blas/base/shared", - "@stdlib/strided/base/stride2offset" + "@stdlib/strided/base/stride2offset", + "@stdlib/constants/float32/nan" ] }, { @@ -76,7 +78,8 @@ "libpath": [], "dependencies": [ "@stdlib/blas/base/shared", - "@stdlib/strided/base/stride2offset" + "@stdlib/strided/base/stride2offset", + "@stdlib/constants/float32/nan" ] }, { @@ -92,7 +95,8 @@ "libpath": [], "dependencies": [ "@stdlib/blas/base/shared", - "@stdlib/strided/base/stride2offset" + "@stdlib/strided/base/stride2offset", + "@stdlib/constants/float32/nan" ] } ] diff --git a/lib/node_modules/@stdlib/stats/strided/snanmeanpn/src/main.c b/lib/node_modules/@stdlib/stats/strided/snanmeanpn/src/main.c index 105587cfff86..d40cd1ba3111 100644 --- a/lib/node_modules/@stdlib/stats/strided/snanmeanpn/src/main.c +++ b/lib/node_modules/@stdlib/stats/strided/snanmeanpn/src/main.c @@ -19,6 +19,7 @@ #include "stdlib/stats/strided/snanmeanpn.h" #include "stdlib/blas/base/shared.h" #include "stdlib/strided/base/stride2offset.h" +#include "stdlib/constants/float32/nan.h" /** * Computes the arithmetic mean of a single-precision floating-point strided array, ignoring `NaN` values and using a two-pass error correction algorithm. @@ -62,7 +63,7 @@ float API_SUFFIX(stdlib_strided_snanmeanpn_ndarray)( const CBLAS_INT N, const fl float v; if ( N <= 0 ) { - return 0.0f / 0.0f; // NaN + return STDLIB_CONSTANT_FLOAT32_NAN; } if ( N == 1 || strideX == 0 ) { return X[ offsetX ]; @@ -82,7 +83,7 @@ float API_SUFFIX(stdlib_strided_snanmeanpn_ndarray)( const CBLAS_INT N, const fl ix += strideX; } if ( n == 0 ) { - return 0.0f / 0.0f; // NaN + return STDLIB_CONSTANT_FLOAT32_NAN; } dn = (double)n; s = (double)s / dn;