UNPKG

enhancedmath

Version:

This package contains some enhanced mathematical operations

19 lines (18 loc) 479 B
import { isNumber, isFraction } from './Helpers/index'; /** * Calculates the factorial of n * @param {number} n The amount * @returns {number} The factorial of n */ const factorial = (n) => { if (n < 0 || !isNumber(n) || isFraction(n)) return undefined; if (n === 0 || n === 1) return BigInt(1); let result = BigInt(1); for (let i = n; i > 0; i--) { result *= BigInt(i); } return result.valueOf(); }; export default factorial;