Статистический тест randomRange
1 int count = 500000; 2 double a = 0; 3 double b = 0; 4 5 foreach(i; 1..count) 6 { 7 randomRange([0.5, 0.5], 8 { 9 a++; 10 }, 11 { 12 b++; 13 } 14 ); 15 } 16 a = a/count; 17 b = b/count; 18 assert(abs(a-0.5) <= 0.01, text("randomRange не прошла статистический тест da = ", abs(a-0.5))); 19 assert(abs(b-0.5) <= 0.01, text("randomRange не прошла статистический тест db = ", abs(b-0.5)));
Вызывает функцию и передает ей номер выбранной вероятности. @note Сумма вероятностей должна быть равна единице! @param range массив вероятностей @param funcs перечисление делегатов