37 #ifndef RixRNGInline_h
38 #define RixRNGInline_h
53 unsigned result = value;
55 result ^= result >> 17;
56 result ^= result >> 10; result *= 0xb36534e5;
57 result ^= result >> 12;
58 result ^= result >> 21; result *= 0x93fc4795;
60 result ^= result >> 17; result *= 1 | scramble >> 18;
61 return static_cast<float>(result) / 4298115584.0f;
67 const unsigned pattern,
68 const unsigned scramble1 = 0xb2182ef5,
69 const unsigned scramble2 = 0x1e1897a7)
71 unsigned npattern = pattern * ((scramble1 << 1) | 1);
73 npattern += scramble2;