Back to Mathematical functions
// Description: Factorial
// Documentation: math_functions.txt
#ifndef PASTELSYS_FACTORIAL_H
#define PASTELSYS_FACTORIAL_H
#include "pastel/sys/mytypes.h"
namespace Pastel
{
//! Returns the factorial.
/*!
Preconditions:
i >= 0
A table look-up is used for i in [0, 20].
The gamma() function is used for larger i.
Note that 20! < 2^64 - 1 < 21!.
*/
template <typename Real>
Real factorial(integer i);
//! Returns the logarithm of the factorial.
/*!
Preconditions:
i >= 0
A table look-up is used for i in [0, 256].
The gamma() function is used for larger i.
*/
template <typename Real>
Real lnFactorial(integer i);
}
#include "pastel/sys/math/factorial.hpp"
#endif