mirror of
https://github.com/devinacker/bsnes-plus.git
synced 2025-04-02 10:52:46 -04:00
20 lines
416 B
C++
20 lines
416 B
C++
#ifndef NALL_RANDOM_HPP
|
|
#define NALL_RANDOM_HPP
|
|
|
|
namespace nall {
|
|
//pseudo-random number generator
|
|
inline unsigned prng() {
|
|
static unsigned n = 0;
|
|
return n = (n >> 1) ^ (((n & 1) - 1) & 0xedb88320);
|
|
}
|
|
|
|
struct random_cyclic {
|
|
unsigned seed;
|
|
inline unsigned operator()() {
|
|
return seed = (seed >> 1) ^ (((seed & 1) - 1) & 0xedb88320);
|
|
}
|
|
random_cyclic() : seed(0) {}
|
|
};
|
|
}
|
|
|
|
#endif
|