diff --git a/tv_rand.py b/tv_rand.py new file mode 100644 index 0000000..3035286 --- /dev/null +++ b/tv_rand.py @@ -0,0 +1,28 @@ +import os +import struct + + +class Rand(object): + def __init__(self, random=os.urandom): + self._random = random + + def b(self, l): + return self._random(l) + + def v(self, l, f): + return struct.unpack(f, self.b(l))[0] + + def u8(self): + return self.v(1, 'b') + + def u32(self): + return self.v(4, ' 0 + + def a(self, vals): + return vals[self.u8() % len(vals)]