Binet's Formula

Evaluate Binet's formula extended to real numbers.

Binet's formula refers to the closed-form solution for computing the nth Fibonacci number and may be expressed

where φ is the golden ratio and ψ is 1 - φ. To extend Fibonacci numbers to real numbers, we may express Binet's formula as

Usage

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

binet( x )

Evaluates Binet's formula extended to real numbers.

var v = binet( 0.0 );
// returns 0.0

v = binet( 1.0 );
// returns 1.0

v = binet( 2.0 );
// returns 1.0

v = binet( 3.0 );
// returns 2.0

v = binet( -1.0 );
// returns 1.0

v = binet( 3.14 );
// returns ~2.12

If provided NaN, the function returns NaN.

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

Notes

  • The function returns only approximate Fibonacci numbers for nonnegative integers.
  • The function does not return complex numbers, guaranteeing real-valued return values.

Examples

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

var v;
var i;

for ( i = 0; i < 79; i++ ) {
    v = binet( i );
    console.log( v );
}

C APIs

Usage

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

stdlib_base_binet( x )

Evaluates Binet's formula extended to real numbers.

double out = stdlib_base_binet( 0.0 );
// returns 0.0

out = stdlib_base_binet( 1.0 );
// returns 1.0

The function accepts the following arguments:

  • x: [in] double input value.
double stdlib_base_binet( const double x );

Examples

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

int main( void ) {
    const double x[] = { 0.0, 1.0, 2.0, 3.0, 4.0 };

    double y;
    int i;
    for ( i = 0; i < 5; i++ ) {
        y = stdlib_base_binet( x[ i ] );
        printf( "binet(%lf) = %lf\n", x[ i ], y );
    }
}
Did you find this page helpful?