Modernize deterministic mixer code
- replace uint32_t state and free functions with a small struct
- define a single overload set for mixing
- be paranoid about implicit conversions of the 'extra' state
- use the above mentioned struct everywhere, and remove copies of the code
- add a unit test (which contains a copy of the original code to verify the results are the same)
- replace use of
boost::integer_traits
withstd::numeric_limits
Edited by Gerhard Raven