NAME
    fact - factorial

SYNOPSIS
    fact(x)

TYPES
    x		int

    return	int

DESCRIPTION
    Return the factorial of a number.  Factorial is defined as:

	   x! = 1 * 2 * 3 * ... * x-1 * x
	   0! = 1

EXAMPLE
    ; print fact(10), fact(5), fact(2), fact(1), fact(0)
    3628800 120 2 1 1

    ; print fact(40)
    815915283247897734345611269596115894272000000000

LIMITS
    2^24 > x >= 0
    y < 2^24

LINK LIBRARY
    void zfact(NUMBER x, *ret)

SEE ALSO
    comb, perm, randperm

## Copyright (C) 1999-2006  Landon Curt Noll
##
## Calc is open software; you can redistribute it and/or modify it under
## the terms of the version 2.1 of the GNU Lesser General Public License
## as published by the Free Software Foundation.
##
## Calc is distributed in the hope that it will be useful, but WITHOUT
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
## or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU Lesser General
## Public License for more details.
##
## A copy of version 2.1 of the GNU Lesser General Public License is
## distributed with calc under the filename COPYING-LGPL.  You should have
## received a copy with calc; if not, write to Free Software Foundation, Inc.
## 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
##
## Under source code control:	1994/10/20 04:03:02
## File existed as early as:	1994
##
## chongo <was here> /\oo/\	http://www.isthe.com/chongo/
## Share and enjoy!  :-)	http://www.isthe.com/chongo/tech/comp/calc/
