Re: [PATCH] random_normal function - Mailing list pgsql-hackers

From Paul Ramsey
Subject Re: [PATCH] random_normal function
Date
Msg-id 1D4DA54E-76BE-4A38-9313-BEC9FE231543@cleverelephant.ca
Whole thread Raw
In response to Re: [PATCH] random_normal function  (Michael Paquier <michael@paquier.xyz>)
Responses Re: [PATCH] random_normal function  (Paul Ramsey <pramsey@cleverelephant.ca>)
List pgsql-hackers
> 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
(isthe 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,
whichis actually kind of the opposite test. I use the same random number generator as the uniform distribution, so that
aspectis 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?

P


> --
> Michael




pgsql-hackers by date:

Previous
From: Andres Freund
Date:
Subject: Re: Meson add host_system to PG_VERSION_STR
Next
From: samay sharma
Date:
Subject: Re: PGDOCS - Logical replication GUCs - added some xrefs