From b9d887fc3cd3ae26c678bf35bc90c4f1d6b03888 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Fri, 13 Feb 2015 16:18:10 +0100 Subject: Unify prng use MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Finally drop all isaac references, do not use system rng any more. Drop rng state from flam3_frame – it was not used anyway. --- xorshift.c | 44 -------------------------------------------- 1 file changed, 44 deletions(-) delete mode 100644 xorshift.c (limited to 'xorshift.c') diff --git a/xorshift.c b/xorshift.c deleted file mode 100644 index 9291b90..0000000 --- a/xorshift.c +++ /dev/null @@ -1,44 +0,0 @@ -/* “An experimental exploration of Marsaglia’s xorshift generators, - * scrambled”, Sebastiano Vigna */ - -#include -#include -#include -#include -#include - -#include "xorshift.h" - -uint64_t xorshift_step (randctx * const st) { - uint64_t s0 = st->s[ st->p ]; - uint64_t s1 = st->s[ st->p = ( st->p + 1 ) & (XORSHIFT_S-1) ]; - s1 ^= s1 << 31; // a - s1 ^= s1 >> 11; // b - s0 ^= s0 >> 30; // c - return ( st->s[ st->p ] = s0 ^ s1 ) * 1181783497276652981LL; -} - -static uint64_t rand64 () { - unsigned long long rand; - while (!__builtin_ia32_rdrand64_step (&rand)); - return rand; -} - -void xorshift_seed (randctx * const st) { - /* seed with high-quality randomness */ - for (unsigned char i = 0; i < XORSHIFT_S; i++) { - st->s[i] = rand64 (); - } -} - -#if 0 -uint64_t xorshift_step (randctx * const st) { - uint64_t x = st->s[0]; - x ^= x >> 12; // a - x ^= x << 25; // b - x ^= x >> 27; // c - st->s[0] = x; - return x * 2685821657736338717LL; -} -#endif - -- cgit v1.2.3