diff --git a/lib/node_modules/@stdlib/math/base/special/fibonaccif/README.md b/lib/node_modules/@stdlib/math/base/special/fibonaccif/README.md index 5614ab9eb5f6..40951a990dff 100644 --- a/lib/node_modules/@stdlib/math/base/special/fibonaccif/README.md +++ b/lib/node_modules/@stdlib/math/base/special/fibonaccif/README.md @@ -164,19 +164,19 @@ logEachMap( 'fibonaccif(%d) = %0.1f', x, fibonaccif ); Computes the nth [Fibonacci number][fibonacci-number] as a single-precision floating-point number. ```c -float out = stdlib_base_fibonaccif( 0 ); +float out = stdlib_base_fibonaccif( 0.0f ); // returns 0.0f -out = stdlib_base_fibonaccif( 1 ); +out = stdlib_base_fibonaccif( 1.0f ); // returns 1.0f ``` The function accepts the following arguments: -- **n**: `[in] int32_t` input value. +- **n**: `[in] float` input value. ```c -float stdlib_base_fibonaccif( const int32_t n ); +float stdlib_base_fibonaccif( const float n ); ``` @@ -200,15 +200,14 @@ float stdlib_base_fibonaccif( const int32_t n ); ```c #include "stdlib/math/base/special/fibonaccif.h" #include -#include int main( void ) { - int32_t i; + float i; float v; - for ( i = 0; i < 37; i++ ) { + for ( i = 0.0f; i < 37.0f; i++ ) { v = stdlib_base_fibonaccif( i ); - printf( "fibonaccif(%d) = %f\n", i, v ); + printf( "fibonaccif(%f) = %f\n", i, v ); } } ``` diff --git a/lib/node_modules/@stdlib/math/base/special/fibonaccif/benchmark/c/native/benchmark.c b/lib/node_modules/@stdlib/math/base/special/fibonaccif/benchmark/c/native/benchmark.c index a85da61142e4..d22366d44a61 100644 --- a/lib/node_modules/@stdlib/math/base/special/fibonaccif/benchmark/c/native/benchmark.c +++ b/lib/node_modules/@stdlib/math/base/special/fibonaccif/benchmark/c/native/benchmark.c @@ -18,7 +18,6 @@ #include "stdlib/math/base/special/fibonaccif.h" #include -#include #include #include #include @@ -92,14 +91,14 @@ static float rand_float( void ) { */ static double benchmark( void ) { double elapsed; - int32_t x; double t; - double y; + float x; + float y; int i; t = tic(); for ( i = 0; i < ITERATIONS; i++ ) { - x = (int32_t)floor( 36.0*rand_float() ); + x = floorf( 36.0f*rand_float() ); y = stdlib_base_fibonaccif( x ); if ( y < 0 ) { printf( "should return a nonnegative integer\n" ); diff --git a/lib/node_modules/@stdlib/math/base/special/fibonaccif/examples/c/example.c b/lib/node_modules/@stdlib/math/base/special/fibonaccif/examples/c/example.c index cab99e248bac..55081e1bc096 100644 --- a/lib/node_modules/@stdlib/math/base/special/fibonaccif/examples/c/example.c +++ b/lib/node_modules/@stdlib/math/base/special/fibonaccif/examples/c/example.c @@ -18,14 +18,13 @@ #include "stdlib/math/base/special/fibonaccif.h" #include -#include int main( void ) { - int32_t i; + float i; float v; - for ( i = 0; i < 37; i++ ) { + for ( i = 0.0f; i < 37.0f; i++ ) { v = stdlib_base_fibonaccif( i ); - printf( "fibonaccif(%d) = %f\n", i, v ); + printf( "fibonaccif(%f) = %f\n", i, v ); } } diff --git a/lib/node_modules/@stdlib/math/base/special/fibonaccif/include/stdlib/math/base/special/fibonaccif.h b/lib/node_modules/@stdlib/math/base/special/fibonaccif/include/stdlib/math/base/special/fibonaccif.h index 4b1c175fc166..1148127cc55c 100644 --- a/lib/node_modules/@stdlib/math/base/special/fibonaccif/include/stdlib/math/base/special/fibonaccif.h +++ b/lib/node_modules/@stdlib/math/base/special/fibonaccif/include/stdlib/math/base/special/fibonaccif.h @@ -19,8 +19,6 @@ #ifndef STDLIB_MATH_BASE_SPECIAL_FIBONACCIF_H #define STDLIB_MATH_BASE_SPECIAL_FIBONACCIF_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 Fibonacci number as a single-precision floating-point number. */ -float stdlib_base_fibonaccif( const int32_t n ); +float stdlib_base_fibonaccif( const float n ); #ifdef __cplusplus } diff --git a/lib/node_modules/@stdlib/math/base/special/fibonaccif/lib/main.js b/lib/node_modules/@stdlib/math/base/special/fibonaccif/lib/main.js index 9380dd553aee..ad56fec914d5 100644 --- a/lib/node_modules/@stdlib/math/base/special/fibonaccif/lib/main.js +++ b/lib/node_modules/@stdlib/math/base/special/fibonaccif/lib/main.js @@ -21,7 +21,7 @@ // MODULES // var isnanf = require( '@stdlib/math/base/assert/is-nanf' ); -var isIntegerf = require( '@stdlib/math/base/assert/is-integerf' ); +var isNonNegativeIntegerf = require( '@stdlib/math/base/assert/is-nonnegative-integerf' ); var MAX_FIBONACCI = require( '@stdlib/constants/float32/max-safe-nth-fibonacci' ); var FIBONACCI = require( './fibonacci.json' ); @@ -77,8 +77,7 @@ var FIBONACCI = require( './fibonacci.json' ); function fibonaccif( n ) { if ( isnanf( n ) || - isIntegerf( n ) === false || - n < 0 || + !isNonNegativeIntegerf( n ) || n > MAX_FIBONACCI ) { return NaN; diff --git a/lib/node_modules/@stdlib/math/base/special/fibonaccif/manifest.json b/lib/node_modules/@stdlib/math/base/special/fibonaccif/manifest.json index 26a079a0b09f..577851365c52 100644 --- a/lib/node_modules/@stdlib/math/base/special/fibonaccif/manifest.json +++ b/lib/node_modules/@stdlib/math/base/special/fibonaccif/manifest.json @@ -37,6 +37,7 @@ "libpath": [], "dependencies": [ "@stdlib/math/base/napi/unary", + "@stdlib/math/base/assert/is-nonnegative-integerf", "@stdlib/constants/float32/max-safe-nth-fibonacci" ] }, @@ -51,6 +52,7 @@ "libraries": [], "libpath": [], "dependencies": [ + "@stdlib/math/base/assert/is-nonnegative-integerf", "@stdlib/constants/float32/max-safe-nth-fibonacci" ] }, @@ -65,6 +67,7 @@ "libraries": [], "libpath": [], "dependencies": [ + "@stdlib/math/base/assert/is-nonnegative-integerf", "@stdlib/constants/float32/max-safe-nth-fibonacci" ] } diff --git a/lib/node_modules/@stdlib/math/base/special/fibonaccif/src/addon.c b/lib/node_modules/@stdlib/math/base/special/fibonaccif/src/addon.c index 0c93d2701413..f7827f950841 100644 --- a/lib/node_modules/@stdlib/math/base/special/fibonaccif/src/addon.c +++ b/lib/node_modules/@stdlib/math/base/special/fibonaccif/src/addon.c @@ -19,4 +19,4 @@ #include "stdlib/math/base/special/fibonaccif.h" #include "stdlib/math/base/napi/unary.h" -STDLIB_MATH_BASE_NAPI_MODULE_I_F( stdlib_base_fibonaccif ) +STDLIB_MATH_BASE_NAPI_MODULE_F_F( stdlib_base_fibonaccif ) diff --git a/lib/node_modules/@stdlib/math/base/special/fibonaccif/src/main.c b/lib/node_modules/@stdlib/math/base/special/fibonaccif/src/main.c index 44aefe9f3c41..56c920f08a9a 100644 --- a/lib/node_modules/@stdlib/math/base/special/fibonaccif/src/main.c +++ b/lib/node_modules/@stdlib/math/base/special/fibonaccif/src/main.c @@ -17,7 +17,10 @@ */ #include "stdlib/math/base/special/fibonaccif.h" +#include "stdlib/math/base/assert/is_nonnegative_integerf.h" #include "stdlib/constants/float32/max_safe_nth_fibonacci.h" +#include +#include static const int32_t fibonacci_value[ 37 ] = { 0, @@ -66,12 +69,12 @@ static const int32_t fibonacci_value[ 37 ] = { * @return output value * * @example -* float out = stdlib_base_fibonaccif( 1 ); +* float out = stdlib_base_fibonaccif( 1.0f ); * // returns 1.0f */ -float stdlib_base_fibonaccif( const int32_t n ) { - if ( n < 0 || n > STDLIB_CONSTANT_FLOAT32_MAX_SAFE_NTH_FIBONACCI ) { - return 0.0 / 0.0; // NaN +float stdlib_base_fibonaccif( const float n ) { + if ( !stdlib_base_is_nonnegative_integerf( n ) || n > STDLIB_CONSTANT_FLOAT32_MAX_SAFE_NTH_FIBONACCI ) { + return 0.0f / 0.0f; // NaN } - return fibonacci_value[ n ]; + return fibonacci_value[ (size_t)n ]; }