ref: 358de40c2f56409ced4d76cd2c4201c609457dac
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 }