Skip to content

Latest commit

 

History

History
258 lines (159 loc) · 5.43 KB

File metadata and controls

258 lines (159 loc) · 5.43 KB

Fibonaccif

Compute the nth Fibonacci number as a single-precision floating-point number.

The Fibonacci numbers are the integer sequence

$$0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, \ldots$$

The sequence is defined by the recurrence relation

$$F_n = F_{n-1} + F_{n-2}$$

with seed values F_0 = 0 and F_1 = 1.

Usage

var fibonaccif = require( '@stdlib/math/base/special/fibonaccif' );

fibonaccif( n )

Computes the nth Fibonacci number as a single-precision floating-point number.

var v = fibonaccif( 0 );
// returns 0

v = fibonaccif( 1 );
// returns 1

v = fibonaccif( 2 );
// returns 1

v = fibonaccif( 3 );
// returns 2

v = fibonaccif( 36 );
// returns 14930352

If n > 36, the function returns NaN, as larger Fibonacci numbers cannot be safely represented in single-precision floating-point format.

var v = fibonaccif( 37 );
// returns NaN

If not provided a nonnegative integer value, the function returns NaN.

var v = fibonaccif( 3.14 );
// returns NaN

v = fibonaccif( -1 );
// returns NaN

If provided NaN, the function returns NaN.

var v = fibonaccif( NaN );
// returns NaN

Examples

var fibonaccif = require( '@stdlib/math/base/special/fibonaccif' );

var v;
var i;

for ( i = 0; i < 37; i++ ) {
    v = fibonaccif( i );
    console.log( v );
}

C APIs

Usage

#include "stdlib/math/base/special/fibonaccif.h"

stdlib_base_fibonaccif( n )

Computes the nth Fibonacci number as a single-precision floating-point number.

float out = stdlib_base_fibonaccif( 0 );
// returns 0

out = stdlib_base_fibonaccif( 1 );
// returns 1

The function accepts the following arguments:

  • n: [in] int32_t input value.
float stdlib_base_fibonaccif( const int32_t n );

Examples

#include "stdlib/math/base/special/fibonaccif.h"
#include <stdio.h>
#include <stdint.h>

int main( void ) {
    int32_t i;
    float v;

    for ( i = 0; i < 37; i++ ) {
        v = stdlib_base_fibonaccif( i );
        printf( "fibonaccif(%d) = %f\n", i, v );
    }
}