Sharith.Factorial.PrimeSwing.Factorial C# (CSharp) Метод

Factorial() публичный Метод

public Factorial ( int n ) : Sharith.Arithmetic.XInt
n int
Результат Sharith.Arithmetic.XInt
        public XInt Factorial(int n)
        {
            if (n < 20) { return XMath.Factorial(n); }

            this.sieve = new PrimeSieve(n);
            var pLen = (int)(2.0 * (XMath.FloorSqrt(n)
                     + (double)n / (XMath.Log2(n) - 1)));
            this.primeList = new int[pLen];

            var exp2 = n - XMath.BitCount(n);
            return this.RecFactorial(n) << exp2;
        }