[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Очень хороший генератор. Удовлетворяет критериям от хи-квадрат до максимума-t, т.е. практически всем.
Позволяет получить по-настоящему случайное число.
Конечно по ресурсам немного велик, т.к. для получения случайного числа использует CRC MD-5, которая на AVR занимает 10 кб.
Если что-то попроще, то можешь взять стандартную ф-ю Си - rand.
Можитель, модуль и приращение можешь выбрать на свой вкус.
/* (в модуле stdlib.h) */
#define RAND_MAX 32767
/* "пример" от комитета ANSI-C */
unsigned long next=1;
int rand(void) {
next=next*1103515245+12345;
return((unsigned int)(next/65536)%32768);
}
void srand(unsigned int seed) {
next=seed;
}
ЗЫ: Все детально описано во 2-м томе Кнута.
E-mail: info@telesys.ru