Re: [PATCH] random_normal function
От | Paul Ramsey |
---|---|
Тема | Re: [PATCH] random_normal function |
Дата | |
Msg-id | 0FC87A09-8CAD-4FB6-B675-3432D8F6C6A3@cleverelephant.ca обсуждение исходный текст |
Ответ на | Re: [PATCH] random_normal function (Paul Ramsey <pramsey@cleverelephant.ca>) |
Ответы |
Re: [PATCH] random_normal function
|
Список | pgsql-hackers |
> On Dec 9, 2022, at 9:17 AM, Paul Ramsey <pramsey@cleverelephant.ca> wrote: > > >> On Dec 8, 2022, at 8:29 PM, Michael Paquier <michael@paquier.xyz> wrote: >> >> On Thu, Dec 08, 2022 at 04:44:56PM -0800, Paul Ramsey wrote: >>> Final tme, with fixes from cirrusci. >> >> Well, why not. Seems like you would use that a lot with PostGIS. >> >> #include <math.h> /* for ldexp() */ >> +#include <float.h> /* for DBL_EPSILON */ >> And be careful with the order here. > > Should be ... alphabetical? > >> +static void >> +drandom_check_default_seed() >> We always use (void) rather than empty parenthesis sets. > > OK > >> I would not leave that unchecked, so I think that you should add >> something in ramdom.sql. Or would you prefer switching some of >> the regression tests be switched so as they use the new normal >> function? > > Reading through those tests... seems like they will (rarely) fail. Is that... OK? > The tests seem to be mostly worried that random() starts returning constants, which seems like a good thing to test for(is the random number generating returning randomness). > An obvious test for this function is that the mean and stddev converge on the supplied parameters, given enough inputs,which is actually kind of the opposite test. I use the same random number generator as the uniform distribution, sothat aspect is already covered by the existing tests. > >> (Ahem. Bonus points for a random_string() returning a bytea, based on >> pg_strong_random().) > > Would love to. Separate patch of bundled into this one? Here's the original with suggestions applied and a random_string that applies on top of it. Thanks! P
Вложения
В списке pgsql-hackers по дате отправления: