www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - srand time error uint/long

reply number <putimalitze gmx.de> writes:
How to call srand() with time()?

```
void main()
{
     import core.stdc.stdlib : rand, srand;
     import core.stdc.time : time;
     srand(time(null));
}
```

Error: function core.stdc.stdlib.srand(uint seed) is not callable 
using argument types (long)
cannot pass argument time(null) of type long to parameter uint 
seed

https://run.dlang.io/is/ner0Lx


And how to use the d libs instead? is this the way to go?

```
Random rnd = Random(Clock.currTime().second);
uniform01(rnd); //(or whatever)
```
Apr 29 2019
next sibling parent reply rikki cattermole <rikki cattermole.co.nz> writes:
float f = uniform01();

Its already initialized on module load.

If you do want to custom seed it, you'll probably want to cast the seed 
to uint instead and have your own instance of the random number generator.
Apr 29 2019
parent number <putimalitze gmx.de> writes:
On Monday, 29 April 2019 at 14:39:29 UTC, rikki cattermole wrote:
 float f = uniform01();

 Its already initialized on module load.

 If you do want to custom seed it, you'll probably want to cast 
 the seed to uint instead and have your own instance of the 
 random number generator.
On Monday, 29 April 2019 at 15:24:41 UTC, Paul Backus wrote:
 https://dlang.org/phobos/std_random.html#unpredictableSeed
Thanks!
Apr 29 2019
prev sibling parent Paul Backus <snarwin gmail.com> writes:
On Monday, 29 April 2019 at 14:36:49 UTC, number wrote:
 And how to use the d libs instead? is this the way to go?

 ```
 Random rnd = Random(Clock.currTime().second);
 uniform01(rnd); //(or whatever)
 ```
https://dlang.org/phobos/std_random.html#unpredictableSeed
Apr 29 2019