On Tue, Mar 15, 2016 at 12:47:00AM -0400, Ganesh Ajjanagadde wrote:
[...]
> +static inline double ziggurat(AVRAND64 *rng)
> +{
> + while (1) {
> + int64_t rabs;
> + double x;
> + uint8_t idx;
> + uint64_t r = av_rand64_get(rng) & 0x000fffffffffffff;
> + rabs = (int64_t) (r >> 1);
> + idx = rabs & 0xff;
> + x = ((r & 1) ? -rabs : rabs) * wi[idx];to get good quality numbers from most PRNGs the MSBs are better than the LSBs this is true for LCGs, LFGs, xorshift128+ and others also the commonly used PRNG tests are biased toward testing the MSBs when they test the numbers as scalars [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Rewriting code that is poorly written but fully understood is good. Rewriting code that one doesnt understand is a sign that one is less smart then the original author, trying to rewrite it will not make it better.
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
