Bernoulli

Compute the nth Bernoulli number.

Usage

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

bernoulli( n )

Computes the nth Bernoulli number.

var v = bernoulli( 0 );
// returns 1.0

v = bernoulli( 1 );
// returns 0.5

v = bernoulli( 2 );
// returns ~0.167

v = bernoulli( 3 );
// returns 0.0

v = bernoulli( 4 );
// returns ~-0.033

v = bernoulli( 5 );
// returns 0.0

v = bernoulli( 20 );
// returns ~-529.124

For even integers n >= 260, the function alternates between returning positive and negative infinity, as larger Bernoulli numbers cannot be safely represented in double-precision floating-point format.

var v = bernoulli( 260 );
// returns -Infinity

v = bernoulli( 262 );
// returns Infinity

v = bernoulli( 264 );
// returns -Infinity

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

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

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

If provided NaN, the function returns NaN.

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

Examples

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

var v;
var i;

for ( i = 0; i < 280; i++ ) {
    v = bernoulli( i );
    console.log( v );
}

C APIs

Usage

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

stdlib_base_bernoulli( n )

Computes the nth Bernoulli number.

double out = stdlib_base_bernoulli( 0 );
// returns 1.0

out = stdlib_base_bernoulli( 1 );
// returns 0.5

The function accepts the following arguments:

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

Examples

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

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

    for ( i = 0; i < 130; i++ ) {
        v = stdlib_base_bernoulli( i );
        printf( "bernoulli(%d) = %lf\n", i, v );
    }
}
Did you find this page helpful?