On Saturday, 8 June 2024 at 13:19:30 UTC, Eric P626 wrote:
I managed to create a random number generator using the following code:

~~~
auto rng = Random(42);
//....
uniform(0,10,rng);
~~~

Now I want to seed the generator using system time. I looked at Date & time functions/classes and systime functions/classes. The problem is that they all require a time zone. But I don't need a time zone since there is no time zone. I just want the number of seconds elapsed since jan 1st 1970. In other words, the internal system clock value.

I'm not sure if anyone said it explicitly, but `uniform(0, 10)` uses the default RNG [`rndGen`](https://dlang.org/phobos/std_random.html#rndGen), which is already properly seeded with an unpredictable seed:

Global random number generator used by various functions in this module whenever no generator is specified. It is allocated per-thread and initialized to an unpredictable value for each thread.

So unless you are explicitly doing something like saving the seed for future playback, I'd leave it off.

-Steve

Reply via email to