Справочник Ada 2012
G.2.5 Требования к производительности генерации случайных чисел
В строгом режиме производительность Numerics.Float_Random и Numerics.Discrete_Random должна соответствовать указанным здесь требованиям.
Требования к реализации
Два разных вызова процедуры Reset, зависящей от времени, должны сбросить генератор в разные состояния при условии, что вызовы разделены во времени по меньшей мере на одну секунду и не более чем на пятьдесят лет.
Реализации генератора состояния и алгоритмы для генерации случайных чисел должны обеспечивать период, по меньшей мере, 231–2; гораздо более длинные периоды желательны, но не требуются.
Реализации Numerics.Float_Random.Random и Numerics.Discrete_Random.Random должны пройти по меньшей мере 85% отдельных испытаний в наборе статистических тестов. Для Numerics.Float_Random тесты применяются непосредственно к сгенерированным значениям с плавающей точкой (то есть они не преобразуются в целые числа предварительно), а для Numerics.Discrete_Random — к сгенерированным значениям различных дискретных типов. Каждый набор тестов выполняет 6 различных тестов, каждый из которых повторяется 10 раз, что в сумме составляет 60 отдельных испытаний. Отдельное испытание считается пройденным, если вычисленное значение хи-квадрат (или другая статистика) для наблюдаемых подсчетов или распределения попадает в диапазон значений, соответствующих 2,5 и 97,5 процентилям для соответствующих степеней свободы (то есть оно не должно быть слишком высоким или слишком низким). Для определения степеней свободы категории измерений объединяются всякий раз, когда ожидаемые подсчеты составляют менее 5.