ref: 38941f5eadd5e3606776d3c0004b997fb53ba399
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 }