From 90ee66a3a6aae10fd84f3f43844db55229933e37 Mon Sep 17 00:00:00 2001 From: Alexander M Pickering Date: Sun, 12 Jan 2025 22:45:37 -0600 Subject: work --- src/rng.moon | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/rng.moon (limited to 'src/rng.moon') diff --git a/src/rng.moon b/src/rng.moon new file mode 100644 index 0000000..d732386 --- /dev/null +++ b/src/rng.moon @@ -0,0 +1,30 @@ + +rng = {} +totally_random_seed = tonumber(os.date("%Y%H%M%S")) +math.randomseed(totally_random_seed) + +rng.generator = (seed, m, n) -> + seed = seed or tonumber(os.date("%Y%S")) + co = coroutine.wrap(() -> + while true + math.randomseed(seed) + seed = math.random(m,n) + coroutine.yield(seed) + ) + co, seed + +rng.randomstring = (charset, length) -> + t = {} + charset_len = #charset + for i = 1, length + char = math.random(charset_len) + t[i] = charset\sub(char,char) + table.concat(t) + +rng.hexstring = (length) -> + rng.randomstring("0123456789ABCDEF", length) + +rng.numstring = (length) -> + rng.randomstring("0123456789", length) + +rng -- cgit v1.2.3-70-g09d2