Re: Re: [HACKERS] random() function produces wrong range

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Re: [HACKERS] random() function produces wrong range
Дата
Msg-id 8198.965317539@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: [HACKERS] random() function produces wrong range  (Roland Roberts <roberts@panix.com>)
Ответы Re: random() function produces wrong range  (Christopher Masto <chris@netmonger.net>)
Список pgsql-general
Roland Roberts <roberts@panix.com> writes:
> Call random() several times and test the maximum value against your
> thresholds of 2^15 and 2^31.  If random() is generating values in the
> range 1:2^31-1, you would expect half of your values to be greater
> than 2^15-1; more importantly, if you generate, say, 10 values, you
> expect only a 1:1024 chance that they are all below 2^15.

Actually the odds are far better than that.  If the range is 2^31-1
then only about 2^-16th of the outputs should be less than 2^15.
So ten probes gives you a failure probability of about 2^-160 not
2^-10.

Generalizing, you could tell the difference between widths of 31,
47, or 63 bits with the same level of reliability.

            regards, tom lane

В списке pgsql-general по дате отправления:

Предыдущее
От: Roland Roberts
Дата:
Сообщение: Re: [HACKERS] random() function produces wrong range
Следующее
От: Federico Sevilla III
Дата:
Сообщение: Re: Unions in views