Автор статьи разбирает, почему
rand, lrand48 и random из glibc — это не просто «не очень хорошие» генераторы, а полностью непригодные для любых вычислений алгоритмы, и что с этим делать.🍿 Ключевые моменты статьи:
•
rand и lrand48 из glibc проваливают специализированные статистические тесты (TestU01, PractRand)• классические критерии Пирсона и Колмогорова-Смирнова не выявляют скрытые решётчатые структуры и битовые зависимости в генераторах
• поточные шифры (
ChaCha, AES) обгоняют minstd и LCG 80-х не только по качеству, но и по производительностиОсновной фокус — наглядные самописные статистические тесты (gap test, birthday spacings), которые показывают дефекты glibc-генераторов без «чёрного ящика». Плюс практические рекомендации: какие ГПСЧ брать в C++11 и выше, чего ждать от C++26, и почему
random_device работает не так, как вы думаете.😸 Главный инсайт: если ваш генератор не прошёл
BigCrush и PractRand на 32 ТиБ — выбрасывайте без раздумий. 📖 Читать статью...
📍Навигация: Вакансии • Задачи • Собесы
Библиотека C/C++ разработчика
#константная_правильность
