Цитата Сообщение от rovki Посмотреть сообщение
Осталось малость -сделать макрос и увековечить свое имя и добрую память ...
Этот ваш подход я понял. У меня другие подходы к захвату мира.

Цитата Сообщение от rovki Посмотреть сообщение
А что 128 ,может 256 ,что мелочится то .
У вас проблемы с логикой.
Код xorshift128 прямо в wikipedia описан. Кода xorshift256 там нет. Если есть желание выискивать код xorshift256 только "чтобы было" -- вперёд и с песней. Вариант 128 хорошо себя зарекомендовал и смысла искать 256 нет. Особенно в контексте ПЛК/ПР.

Цитата Сообщение от rovki Посмотреть сообщение
Проблемы в макросе AI были только у вас
Факт остаётся фактом, AI с проблемами согласился, и учёл мои предложения.

1 цикл и 20 циклов разница есть.

Цитата Сообщение от rovki Посмотреть сообщение
Назовите хотя бы 2,3 задачи на ПР ,где нужно использовать RND ,может тогда у вас сложится правильное представление о подходах к проектированию в ОЛ.
У вас проблемы с логикой.

1) Я говорю: если делать random, то нужно использовать проверенные алгоритмы. Каким боком тут "Назовите хотя бы 2,3 задачи на ПР ,где нужно использовать RND"?
И не надо оправдываться словами "для ПР сойдёт тяп-ляп-и-готово".

2) "вы еще и ПК хотите сделать из него призывая применять аналогичные алгоритмы ,прикрываясь -Математика она и в Африке математика". Где логика? Как связаны Африка, ПК и ПР?
Повторю ещё раз для непонятливых: если на ПР понадобились случайные числа, то нужно обратиться к математике, взять проверенный математический подход и применить его.
Сложность xorshift128 -- 3 операции сдвига, 4 xor. Это вполне можно себе позволить и на ПР. Никакой стек не переполнится.


Если что-то уж прямо переполняться начнёт (что вряд ли), можно взять xorshift32. Там 3 сдвига, 3 xor, 1 ячейка памяти. Проходит все тесты, кроме Rank (его полностью заваливает):

Код:
uint32_t x32 = 314159265;
uint32_t xorshift32() {
  x32 ^= x32 << 13;
  x32 ^= x32 >> 17;
  x32 ^= x32 << 5;
  return x32;
}