9 namespace QuasiRandom {
13 state += (state << 16); state ^= (state >> 13);
14 state += (state << 4); state ^= (state >> 7);
15 state += (state << 10); state ^= (state >> 5);
16 state += (state << 8); state ^= (state >> 16);
22 return mix( state + extra );
27 typedef boost::low_bits_mask_t<32> mask_t;
28 state =
mix32( state ,
uint32_t( extra & mask_t::sig_bits_fast) );
29 return mix32( state ,
uint32_t((extra >> 32) & mask_t::sig_bits_fast) );
36 for (
size_t i=0; i < s.
size() / 4; ++i) {
42 state =
mix32(state , x);
uint32_t mixString(uint32_t state, const std::string &extra)
mix some 'extra' entropy into 'state' and return result
uint32_t mix(uint32_t state)
Create a hash with a large avalanche effect from a 32 bit integer.
unsigned long long uint64_t
uint32_t mix32(uint32_t state, uint32_t extra)
mix some 'extra' entropy into 'state' and return result
uint32_t mix64(uint32_t state, uint64_t extra)
mix some 'extra' entropy into 'state' and return result
Helper functions to set/get the application return code.