Advertisement
Guest User

Untitled

a guest
Jan 16th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.53 KB | None | 0 0
  1. def crand(seed):
  2. r=[]
  3. r.append(seed)
  4. for i in range(30):
  5. r.append((16807*r[-1]) % 2147483647)
  6. if r[-1] < 0:
  7. r[-1] += 2147483647
  8. for i in range(31, 34):
  9. r.append(r[len(r)-31])
  10. for i in range(34, 344):
  11. r.append((r[len(r)-31] + r[len(r)-3]) % 2**32)
  12. while True:
  13. next = r[len(r)-31]+r[len(r)-3] % 2**32
  14. r.append(next)
  15. yield (next >> 1 if next < 2**32 else (next - 2**32) >> 1)
  16.  
  17. my_generator = crand(123)
  18. for i in range(5):
  19. print my_generator.next()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement