И каких ошибок следует избегать при добавлении случайности в свой проект.
Никогда не знал чтобы я делал еслиб Math.random()*256 не было. Нужно больше таких минералов как эта статья.
Вполне годный псевдослучайный генератор делается в несколько строк. struct random { private: union { uint64 u64; struct { uint32 u32_1, u32_2; }; } _seed; public: uint operator ()() { _seed.u64 = _seed.u64 * 6364136223846793005ll + 1ll; return _seed.u32_2; } };
Никогда не знал чтобы я делал еслиб Math.random()*256 не было. Нужно больше таких минералов как эта статья.
Вполне годный псевдослучайный генератор делается в несколько строк.
struct random {
private:
union {
uint64 u64;
struct { uint32 u32_1, u32_2; };
} _seed;
public:
uint operator ()() {
_seed.u64 = _seed.u64 * 6364136223846793005ll + 1ll;
return _seed.u32_2;
}
};