Цитата Сообщение от Вольд Посмотреть сообщение
Все ГСЧ так работают. Вся разница в длине цикла.
Вот например к чему приводил плохой ГСЧ в Google Chrome: https://medium.com/@betable/tifu-by-...m-f1c308c4fd9d

Кто-нибудь пробовал реализовывать xorshift128plus?
У xorshift128plus период 2128-1, и этого должно хватить с запасом.

К слову, xorshift128plus используется в большинстве браузеров (в Chrome, Safari, FireFox точно) для Math.random().

Собственно, код:
Код:
/* The state must be seeded so that it is not everywhere zero. */
uint64_t s[2];

uint64_t xorshift128plus(void) {
	uint64_t x = s[0];
	uint64_t const y = s[1];
	s[0] = y;
	x ^= x << 23; // a
	s[1] = x ^ y ^ (x >> 17) ^ (y >> 26); // b, c
	return s[1] + y;
}