Factorial Function Old and New Standard Algorithms (no prime factorization) Additive Moessner Alfred Moessner's  ingenious method uses only additions! Unfortunately, it is the slowest method. Additive Swing This method uses only addition and squaring! Based on the notion of the 'swing numbers'. See: Divide, Swing and Conquer the Factorial! Naive Product The 'obvious' method (or should I call it the ubiquitous stupid one?). Recursive Product The most simple not naive method to calculate the factorial. Models a complete binary tree. Boiten Split Discovered by Eerke Boiten by playing with transformational programming. See: Factorization of the factorial. Recursive Split Is related to the Boiten algorithm like the Recursive Product to the Naive Product. Hyper A beautiful simple algorithm based on a hypergeometric expansion of the factorial. See: Divide, Swing and Conquer the Factorial! Hyper Double A optimized variant of the Hyper Simple algorithm which uses additionally a symmetric relation between the coefficients. See: Divide, Swing and Conquer the Factorial! Swing A beautiful simple but powerful algorithm. See: Divide, Swing and Conquer the Factorial! Swing Double A optimized variant of the Simple Swing algorithm. See: Divide, Swing and Conquer the Factorial! Swing Rational A recursive variant of the Swing Double algorithm, which uses rational arithmetic. See: Divide, Swing and Conquer the Factorial! Swing Rational Double An attempt to optimize the Swing Rational algorithm. See: Divide, Swing and Conquer the Factorial! Linear Difference Based on the differences of the factorials. Square Difference Based on the differences of squares. Recursive Square Difference Like the forgoing, but computed recursively. Advanced Algorithms (based on prime factorization) Prime Factorization Repeated Squaring An algorithm proposed by Peter Borwein. See: On the Complexity of Calculating Factorials. Prime Factorization Nested Squaring An algorithm proposed by Arnold Schönhage et al.. See: Fast Algorithms, BI-Wiss.-Verl., 1994, page 225. Prime Factorization Swing An algorithm proposed by Peter Luschny. See: Divide, Swing and Conquer the Factorial! (Write me to get the preprint.) Prime Factorization Swing-List A variant of the foregoing algorithm (working directly with lists of prime factors). Prime Factorization Swing-Cache A variant of the foregoing algorithm (caching primorials). Prime Factorization Binomial A simplification of an algorithm given by Ilan Vardi's 'Comp. Recreations in Mathematica', chap. 4.3, based on P. Goetgheluck, Prime divisors of binomial coefficients, Math. Comp. 51, 1988, 325-329. Prime Factorization Primorial Squaring An algorithm proposed by Bruce Leenstra. (Personal communication).
 Home Benchmark Sourcecode Download