Skip to content

Latest commit

 

History

History
286 lines (176 loc) · 6.92 KB

File metadata and controls

286 lines (176 loc) · 6.92 KB

negaLucas

Compute the nth negaLucas number.

The negaLucas numbers are the integer sequence

$$2, -1, 3, -4, 7, -11, 18, -29, 47, -76, 123, -199, 322, \ldots$$

The sequence is defined by the recurrence relation

$$L_{n-2} = L_{n} - L_{n-1}$$

which yields

$$L_{-n} = (-1)^{n} L_n$$

with seed values L_0 = 2 and L_{-1} = -1.

Usage

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

negalucas( n )

Computes the nth negaLucas number.

var v = negalucas( 0 );
// returns 2

v = negalucas( -1 );
// returns -1

v = negalucas( -2 );
// returns 3

v = negalucas( -3 );
// returns -4

v = negalucas( -76 );
// returns 7639424778862807

If n < -76, the function returns NaN, as larger negaLucas numbers cannot be safely represented in double-precision floating-point format.

var v = negalucas( -77 );
// returns NaN

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

var v = negalucas( -3.14 );
// returns NaN

v = negalucas( 1 );
// returns NaN

If provided NaN, the function returns NaN.

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

Examples

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

var v;
var i;

for ( i = 0; i > -77; i-- ) {
    v = negalucas( i );
    console.log( v );
}

C APIs

Usage

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

stdlib_base_negalucas( n )

Computes the nth negaLucas number.

double out = stdlib_base_negalucas( 0.0 );
// returns 2.0

out = stdlib_base_negalucas( -1.0 );
// returns -1.0

The function accepts the following arguments:

  • n: [in] double input value.
double stdlib_base_negalucas( const double n );

Examples

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

int main( void ) {
    double i;
    double v;

    for ( i = 0.0; i > -77.0; i-- ) {
        v = stdlib_base_negalucas( i );
        printf( "negalucas(%lf) = %lf\n", i, v );
    }
}

See Also