lifer
Guest
Алгоритм работы ф-ции rand()
Кто знает как реализована ф-ция rand() в PHP?
Можно ли где-то посмотреть алгоритм её работы?
Кто знает как реализована ф-ция rand() в PHP?
Можно ли где-то посмотреть алгоритм её работы?
www.php.netАвтор оригинала: lifer
А где можно скачать исходники PHP?
Автор оригинала: lifer
Кто знает как реализована ф-ция rand() в PHP?
Можно ли где-то посмотреть алгоритм её работы?
PHPAPI long php_rand(TSRMLS_D)
{
long ret;
#ifdef ZTS
ret = php_rand_r(&BG(rand_seed));
#else
# if defined(HAVE_RANDOM)
ret = random();
# elif defined(HAVE_LRAND48)
ret = lrand48();
# else
ret = rand();
# endif
#endif
return ret;
}
static int
do_rand(unsigned long *ctx)
{
return ((*ctx = *ctx * 1103515245 + 12345) % ((u_long)PHP_RAND_MAX + 1));
}
PHPAPI int
php_rand_r(unsigned int *ctx)
{
u_long val = (u_long) *ctx;
*ctx = do_rand(&val);
return (int) *ctx;
}
Просто интересно как именно получается случайное число.скажи: а с какой целью ты пытаешься накачать сорцов и увидеть " как реализована ф-ция rand() в PHP" ?
Если тебе "просто интересно" то тебе надо было спрашивать не "где посмотреть как сделано в пхп" а "какие алгоритмы бывают и где их посмотреть" на что тебя вполне заслуженно пошлют гугломАвтор оригинала: lifer
Просто интересно как именно получается случайное число.
Примерчик исключения можно?Автор оригинала: [DAN]
компьютер не может (за очень редким исключением) генерить случайные числа.