38 #ifndef RixRNGInline_h 39 #define RixRNGInline_h 54 unsigned result = value;
56 result ^= result >> 17;
57 result ^= result >> 10; result *= 0xb36534e5;
58 result ^= result >> 12;
59 result ^= result >> 21; result *= 0x93fc4795;
61 result ^= result >> 17; result *= 1 | scramble >> 18;
62 return static_cast<float>(result) / 4298115584.0f;
68 const unsigned pattern,
69 const unsigned scramble1 = 0xb2182ef5,
70 const unsigned scramble2 = 0x1e1897a7)
72 unsigned npattern = pattern * ((scramble1 << 1) | 1);
74 npattern += scramble2;
PRMAN_INLINE float HashToRandom(const unsigned value, const unsigned scramble)
PRMAN_INLINE unsigned shufflePattern(const unsigned pattern, const unsigned scramble1=0xb2182ef5, const unsigned scramble2=0x1e1897a7)