Initialise the rng with std::call_once and explicitly cast the output of time() to unsigned int