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 );
}
}