state of the art C++ pseudo-random number generator library for sequential and parallel Monte Carlo simulations