## Function Factorial

(

**factorial** < n > )

Returns the factorial of `n,' which should be a non-negative integer. The

result will returned as a floating-point number, single-float if possible,

otherwise double-float. If it is returned as a double-float, it won't

necessarily be integral, since the actual computation is

(exp (gamma-ln (1+ n)))

Implementation is loosely based on Numerical Recipes in C, section 6.1. On the

TI Explorer, the largest argument that won't cause a floating overflow is 170.