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;
#define PRMAN_INLINE
Definition: prmanapi.h:99
Definition: RixRNGInline.h:45
PRMAN_INLINE float HashToRandom(const unsigned value, const unsigned scramble)
Definition: RixRNGInline.h:50
PRMAN_INLINE unsigned shufflePattern(const unsigned pattern, const unsigned scramble1=0xb2182ef5, const unsigned scramble2=0x1e1897a7)
Definition: RixRNGInline.h:66