diff --git a/lib/node_modules/@stdlib/math/base/special/floorn/manifest.json b/lib/node_modules/@stdlib/math/base/special/floorn/manifest.json index 301084ec689f..b2c253708c84 100644 --- a/lib/node_modules/@stdlib/math/base/special/floorn/manifest.json +++ b/lib/node_modules/@stdlib/math/base/special/floorn/manifest.json @@ -41,6 +41,7 @@ "@stdlib/math/base/napi/binary", "@stdlib/math/base/special/abs", "@stdlib/math/base/special/floor", + "@stdlib/math/base/special/pow", "@stdlib/math/base/assert/is-infinite", "@stdlib/math/base/assert/is-nan", "@stdlib/constants/float64/min-base10-exponent", @@ -65,6 +66,7 @@ "dependencies": [ "@stdlib/math/base/special/abs", "@stdlib/math/base/special/floor", + "@stdlib/math/base/special/pow", "@stdlib/math/base/assert/is-infinite", "@stdlib/math/base/assert/is-nan", "@stdlib/constants/float64/min-base10-exponent", @@ -89,6 +91,7 @@ "dependencies": [ "@stdlib/math/base/special/abs", "@stdlib/math/base/special/floor", + "@stdlib/math/base/special/pow", "@stdlib/math/base/assert/is-infinite", "@stdlib/math/base/assert/is-nan", "@stdlib/constants/float64/min-base10-exponent", diff --git a/lib/node_modules/@stdlib/math/base/special/floorn/src/main.c b/lib/node_modules/@stdlib/math/base/special/floorn/src/main.c index 9f21b6044695..5196f4cbc8a1 100644 --- a/lib/node_modules/@stdlib/math/base/special/floorn/src/main.c +++ b/lib/node_modules/@stdlib/math/base/special/floorn/src/main.c @@ -19,6 +19,7 @@ #include "stdlib/math/base/special/floorn.h" #include "stdlib/math/base/special/abs.h" #include "stdlib/math/base/special/floor.h" +#include "stdlib/math/base/special/pow.h" #include "stdlib/math/base/assert/is_infinite.h" #include "stdlib/math/base/assert/is_nan.h" #include "stdlib/constants/float64/min_base10_exponent.h" @@ -27,7 +28,6 @@ #include "stdlib/constants/float64/min_base10_exponent_subnormal.h" #include "stdlib/constants/float64/ninf.h" #include -#include // VARIABLES // @@ -133,14 +133,14 @@ double stdlib_base_floorn( const double x, const int32_t n ) { } // If we overflow, return `x`, as the number of digits to the right of the decimal is too small (i.e., `x` is too large / lacks sufficient fractional precision) for there to be any effect when rounding... if ( n < STDLIB_CONSTANT_FLOAT64_MIN_BASE10_EXPONENT ) { - s = pow( 10.0, - ( n + STDLIB_CONSTANT_FLOAT64_MAX_BASE10_EXPONENT ) ); // TODO: replace use of `pow` once have stdlib equivalent + s = stdlib_base_pow( 10.0, - ( n + STDLIB_CONSTANT_FLOAT64_MAX_BASE10_EXPONENT ) ); y = ( x * HUGE_VALUE ) * s; // order of operation matters! if ( stdlib_base_is_infinite( y ) ) { return x; } return ( stdlib_base_floor( y ) / HUGE_VALUE ) / s; } - s = pow( 10.0, -n ); // TODO: replace use of `pow` once have stdlib equivalent + s = stdlib_base_pow( 10.0, -n ); y = x * s; if ( stdlib_base_is_infinite( y ) ) { return x;