diff --git a/lib/node_modules/@stdlib/math/base/special/negafibonacci/README.md b/lib/node_modules/@stdlib/math/base/special/negafibonacci/README.md index e5d9b626c033..21f9e288a776 100644 --- a/lib/node_modules/@stdlib/math/base/special/negafibonacci/README.md +++ b/lib/node_modules/@stdlib/math/base/special/negafibonacci/README.md @@ -191,19 +191,19 @@ for ( i = 0; i > -79; i-- ) { Computes the nth [negaFibonacci number][fibonacci-number]. ```c -double out = stdlib_base_negafibonacci( 0 ); -// returns 0 +double out = stdlib_base_negafibonacci( 0.0 ); +// returns 0.0 -out = stdlib_base_negafibonacci( -1 ); -// returns 1 +out = stdlib_base_negafibonacci( -1.0 ); +// returns 1.0 ``` The function accepts the following arguments: -- **n**: `[in] int32_t` input value. +- **n**: `[in] double` input value. ```c -double stdlib_base_negafibonacci( const int32_t n ); +double stdlib_base_negafibonacci( const double n ); ``` @@ -227,15 +227,14 @@ double stdlib_base_negafibonacci( const int32_t n ); ```c #include "stdlib/math/base/special/negafibonacci.h" #include -#include int main( void ) { - int32_t i; + double i; double v; - for ( i = 0; i > -79; i-- ) { + for ( i = 0.0; i > -79.0; i-- ) { v = stdlib_base_negafibonacci( i ); - printf( "negafibonacci(%d) = %lf\n", i, v ); + printf( "negafibonacci(%lf) = %lf\n", i, v ); } } ``` diff --git a/lib/node_modules/@stdlib/math/base/special/negafibonacci/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/special/negafibonacci/benchmark/c/native/benchmark.c index cdd602448b95..b3b4b0812363 100644 --- a/lib/node_modules/@stdlib/math/base/special/negafibonacci/benchmark/c/native/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/special/negafibonacci/benchmark/c/native/benchmark.c @@ -91,13 +91,13 @@ static double rand_double( void ) { */ static double benchmark( void ) { double elapsed; - int32_t x[ 100 ]; + double x[ 100 ]; double t; double y; int i; for ( i = 0; i < 100; i++ ) { - x[ i ] = (int32_t)floor( 40.0 * rand_double() ); + x[ i ] = floor( 40.0 * rand_double() ); } t = tic(); diff --git a/lib/node_modules/@stdlib/math/base/special/negafibonacci/examples/c/example.c b/lib/node_modules/@stdlib/math/base/special/negafibonacci/examples/c/example.c index 83b72f73c155..5b9bd3c3db44 100644 --- a/lib/node_modules/@stdlib/math/base/special/negafibonacci/examples/c/example.c +++ b/lib/node_modules/@stdlib/math/base/special/negafibonacci/examples/c/example.c @@ -18,14 +18,13 @@ #include "stdlib/math/base/special/negafibonacci.h" #include -#include int main( void ) { - int32_t i; + double i; double v; - for ( i = 0; i > -79; i-- ) { + for ( i = 0.0; i > -79.0; i-- ) { v = stdlib_base_negafibonacci( i ); - printf( "negafibonacci(%d) = %lf\n", i, v ); + printf( "negafibonacci(%lf) = %lf\n", i, v ); } } diff --git a/lib/node_modules/@stdlib/math/base/special/negafibonacci/include/stdlib/math/base/special/negafibonacci.h b/lib/node_modules/@stdlib/math/base/special/negafibonacci/include/stdlib/math/base/special/negafibonacci.h index 808270fcf29e..02e05cff893c 100644 --- a/lib/node_modules/@stdlib/math/base/special/negafibonacci/include/stdlib/math/base/special/negafibonacci.h +++ b/lib/node_modules/@stdlib/math/base/special/negafibonacci/include/stdlib/math/base/special/negafibonacci.h @@ -19,8 +19,6 @@ #ifndef STDLIB_MATH_BASE_SPECIAL_NEGAFIBONACCI_H #define STDLIB_MATH_BASE_SPECIAL_NEGAFIBONACCI_H -#include - /* * If C++, prevent name mangling so that the compiler emits a binary file having undecorated names, thus mirroring the behavior of a C compiler. */ @@ -31,7 +29,7 @@ extern "C" { /** * Computes the nth negaFibonacci number. */ -double stdlib_base_negafibonacci( const int32_t n ); +double stdlib_base_negafibonacci( const double n ); #ifdef __cplusplus } diff --git a/lib/node_modules/@stdlib/math/base/special/negafibonacci/manifest.json b/lib/node_modules/@stdlib/math/base/special/negafibonacci/manifest.json index 6b0a4d3c509d..7bf1d197acf5 100644 --- a/lib/node_modules/@stdlib/math/base/special/negafibonacci/manifest.json +++ b/lib/node_modules/@stdlib/math/base/special/negafibonacci/manifest.json @@ -38,7 +38,8 @@ "dependencies": [ "@stdlib/math/base/napi/unary", "@stdlib/constants/float64/max-safe-nth-fibonacci", - "@stdlib/math/base/special/abs" + "@stdlib/math/base/special/abs", + "@stdlib/math/base/assert/is-integer" ] }, { @@ -53,7 +54,8 @@ "libpath": [], "dependencies": [ "@stdlib/constants/float64/max-safe-nth-fibonacci", - "@stdlib/math/base/special/abs" + "@stdlib/math/base/special/abs", + "@stdlib/math/base/assert/is-integer" ] }, { @@ -68,7 +70,8 @@ "libpath": [], "dependencies": [ "@stdlib/constants/float64/max-safe-nth-fibonacci", - "@stdlib/math/base/special/abs" + "@stdlib/math/base/special/abs", + "@stdlib/math/base/assert/is-integer" ] } ] diff --git a/lib/node_modules/@stdlib/math/base/special/negafibonacci/src/addon.c b/lib/node_modules/@stdlib/math/base/special/negafibonacci/src/addon.c index b60ef8975d6d..b0e8fcc147e6 100644 --- a/lib/node_modules/@stdlib/math/base/special/negafibonacci/src/addon.c +++ b/lib/node_modules/@stdlib/math/base/special/negafibonacci/src/addon.c @@ -20,4 +20,4 @@ #include "stdlib/math/base/napi/unary.h" #include -STDLIB_MATH_BASE_NAPI_MODULE_I_D( stdlib_base_negafibonacci ) +STDLIB_MATH_BASE_NAPI_MODULE_D_D( stdlib_base_negafibonacci ) diff --git a/lib/node_modules/@stdlib/math/base/special/negafibonacci/src/main.c b/lib/node_modules/@stdlib/math/base/special/negafibonacci/src/main.c index a93cced781de..c64339966b34 100644 --- a/lib/node_modules/@stdlib/math/base/special/negafibonacci/src/main.c +++ b/lib/node_modules/@stdlib/math/base/special/negafibonacci/src/main.c @@ -17,8 +17,10 @@ */ #include "stdlib/math/base/special/negafibonacci.h" +#include "stdlib/math/base/assert/is_integer.h" #include "stdlib/math/base/special/abs.h" #include "stdlib/constants/float64/max_safe_nth_fibonacci.h" +#include static const double negafibonacci_value[ 79 ] = { 0.0, @@ -109,17 +111,17 @@ static const double negafibonacci_value[ 79 ] = { * @return output value * * @example -* double out = stdlib_base_negafibonacci( -1 ); -* // returns 1 +* double out = stdlib_base_negafibonacci( -1.0 ); +* // returns 1.0 */ -double stdlib_base_negafibonacci( const int32_t n ) { - int32_t an; - if ( n > 0 ) { +double stdlib_base_negafibonacci( const double n ) { + double an; + if ( !stdlib_base_is_integer( n ) || n > 0.0 ) { return 0.0 / 0.0; // NaN } an = stdlib_base_abs( n ); if ( an > STDLIB_CONSTANT_FLOAT64_MAX_SAFE_NTH_FIBONACCI ) { return 0.0 / 0.0; // NaN } - return negafibonacci_value[ an ]; + return negafibonacci_value[ (size_t)an ]; }