Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2017
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.31 KB | None | 0 0
  1. #include <stdint.h>
  2.  
  3. class RNG
  4. {
  5.   public:
  6.     uint32_t seed;
  7.     uint16_t advance();
  8. }
  9.  
  10. uint16_t RNG::advance()
  11. {
  12.     // set seed to last 32 bits of (seed * 0x41C64E6D + 0x6073)
  13.     seed = (seed * 0x41C64E6D + 0x6073) & ((1u << 32) - 1);
  14.     // return first 16 bits
  15.     return (seed & ((1u << 16) - 1));
  16. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement