time-to-botec/js/node_modules/@stdlib/math/base/special/binomcoefln
NunoSempere b6addc7f05 feat: add the node modules
Necessary in order to clearly see the squiggle hotwiring.
2022-12-03 12:44:49 +00:00
..
docs feat: add the node modules 2022-12-03 12:44:49 +00:00
lib feat: add the node modules 2022-12-03 12:44:49 +00:00
package.json feat: add the node modules 2022-12-03 12:44:49 +00:00
README.md feat: add the node modules 2022-12-03 12:44:49 +00:00

Logarithm of Binomial Coefficient

Compute the natural logarithm of the binomial coefficient.

The natural logarithm of the binomial coefficient is

Natural logarithm of the binomial coefficient.

The binomial coefficient of two nonnegative integers n and k is defined as

Factorial formula for the Binomial coefficient.

The binomial coefficient can be generalized to negative integers n as follows:

Generalization of the binomial coefficient to negative n.

Usage

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

binomcoefln( n, k )

Evaluates the binomial coefficient of two integers n and k.

var v = binomcoefln( 8, 2 );
// returns ~3.332

v = binomcoefln( 0, 0 );
// returns 0.0

v = binomcoefln( -4, 2 );
// returns ~2.303

v = binomcoefln( 88, 3 );
// returns ~11.606

v = binomcoefln( NaN, 3 );
// returns NaN

v = binomcoefln( 5, NaN );
// returns NaN

v = binomcoefln( NaN, NaN );
// returns NaN

For negative k, the function returns -Infinity.

var v = binomcoefln( 2, -1 );
// returns -Infinity

v = binomcoefln( -3, -1 );
// returns -Infinity

The function returns NaN for non-integer n or k.

var v = binomcoefln( 2, 1.5 );
// returns NaN

v = binomcoefln( 5.5, 2 );
// returns NaN

Examples

var randu = require( '@stdlib/random/base/randu' );
var round = require( '@stdlib/math/base/special/round' );
var binomcoefln = require( '@stdlib/math/base/special/binomcoefln' );

var n;
var k;
var i;

for ( i = 0; i < 100; i++ ) {
    n = round( (randu()*40.0) - 10.0 );
    k = round( randu()*20.0 );
    console.log( 'ln( %d choose %d ) = %d', n, k, binomcoefln( n, k ) );
}