Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def crand(seed):
- r=[]
- r.append(seed)
- for i in range(30):
- r.append((16807*r[-1]) % 2147483647)
- if r[-1] < 0:
- r[-1] += 2147483647
- for i in range(31, 34):
- r.append(r[len(r)-31])
- for i in range(34, 344):
- r.append((r[len(r)-31] + r[len(r)-3]) % 2**32)
- while True:
- next = r[len(r)-31]+r[len(r)-3] % 2**32
- r.append(next)
- yield (next >> 1 if next < 2**32 else (next - 2**32) >> 1)
- my_generator = crand(123)
- for i in range(5):
- print my_generator.next()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement