factorial2
Double factorial function.
The double factorial of a number n
, denoted n!!
, is defined as the product of all the positive integers up to n
that have the same parity (odd or even) as n
.
Thus, for example, 5!!
is 5 * 3 * 1 = 15
and 8!!
is 8 * 6 * 4 * 2 = 384
.
Usage
var factorial2 = require( '@stdlib/math/base/special/factorial2' );
factorial2( n )
Evaluates the double factorial of n
.
var v = factorial2( 2 );
// returns 2
v = factorial2( 3 );
// returns 3
v = factorial2( 0 );
// returns 1
v = factorial2( 4 );
// returns 8
v = factorial2( 5 );
// returns 15
v = factorial2( NaN );
// returns NaN
v = factorial2( 301 );
// returns Infinity
Examples
var oneTo = require( '@stdlib/array/base/one-to' );
var factorial2 = require( '@stdlib/math/base/special/factorial2' );
var values = oneTo( 300 );
var i;
for ( i = 0; i < values.length; i++ ) {
console.log( 'f(%d): %d', values[ i ], factorial2( values[ i ] ) );
}
C APIs
Usage
#include "stdlib/math/base/special/factorial2.h"
stdlib_base_factorial2( n )
Evaluates the double factorial of n
.
double out = stdlib_base_factorial2( 3 );
// returns 3
The function accepts the following arguments:
- x:
[in] int32_t
input value.
double stdlib_base_factorial2( const int32_t x );
Examples
#include "stdlib/math/base/special/factorial2.h"
#include <stdio.h>
#include <stdint.h>
int main( void ) {
const int32_t x[] = { 1, 10, 1, 301, 302 };
double b;
int i;
for ( i = 0; i < 5; i++ ){
b = stdlib_base_factorial2( x[ i ] );
printf ( "factorial2(%d) = %lf\n", x[ i ], b );
}
}