Статистический тест randomRange
int count = 500000; double a = 0; double b = 0; foreach(i; 1..count) { randomRange([0.5, 0.5], { a++; }, { b++; } ); } a = a/count; b = b/count; assert(abs(a-0.5) <= 0.01, text("randomRange не прошла статистический тест da = ", abs(a-0.5))); assert(abs(b-0.5) <= 0.01, text("randomRange не прошла статистический тест db = ", abs(b-0.5)));
Вызывает функцию и передает ей номер выбранной вероятности. @note Сумма вероятностей должна быть равна единице! @param range массив вероятностей @param funcs перечисление делегатов