pracma (version 1.9.9)

fact: Factorial Function

Description

Factorial for non-negative integers n <= 170<="" code="">.

Usage

fact(n)
factorial2(n)

Arguments

n
Vector of integers, for fact, resp. a single integer for factorial2.

Value

fact returns the factorial of each element in n. If n < 0 the value is NaN, and for n > 170 it is Inf. Non-integers will be reduced to integers through floor(n).factorial2 returns the product of all even resp. odd integers, depending on whether n is even or odd.

Details

The factorial is computed by brute force; factorials for n >= 171 are not representable as `double' anymore.

See Also

factorial

Examples

Run this code
fact(c(-1, 0, 1, NA, 171))  #=> NaN   1   1  NA Inf
fact(100)                   #=> 9.332621544394410e+157
factorial(100)              #=> 9.332621544394225e+157
# correct value:                9.332621544394415e+157
# Stirling's approximation:     9.324847625269420e+157
# n! ~ sqrt(2*pi*n) * (n/e)^n

factorial2(8);  factorial2(9);  factorial2(10)  # 384   945  3840
factorial(10) / factorial2(10)                  # => factorial2(9)

Run the code above in your browser using DataLab