The custom random number generator can now be replaced with a C++11 RNG. This greatly improves the reliability and trustworthiness of it. In addition to this, the conversion of the RNG to a thread-local object removes the race condition that was present in the previous implementation. It also theoretically improves performance by a tiny bit.