ref: 40cb514dc86cbabe9730d0e1ca650d0c8ed18cc2
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 }