ref: 7ef09f3db883c42d01e3b1d80f0d2da6ceff9913
dir: /bench/bigfactorial.myr/
use std use testr const main = { testr.bench([ [.name="bigfactorial-1", .fn={ctx; bigfact(1)}], [.name="bigfactorial-100", .fn={ctx; bigfact(100)}], [.name="bigfactorial-1000", .fn={ctx; bigfact(1000)}], [.name="bigfactorial-10000", .fn={ctx; bigfact(10000)}], ][:]) } const bigfact = {n var i var x, y if n == 0 x = std.mkbigint(1) else x = std.mkbigint(n) for i = n-1; i > 0; i-- y = std.mkbigint(i) std.bigmul(x, y) std.bigfree(y) ;; ;; -> x }