Logo

Programming-Idioms

This language bar is your friend. Select your favorite languages!
  • Fortran

Idiom #70 Use clock as random generator seed

Get the current datetime and provide it as a seed to a random generator. The generator sequence will be different at each run.

  call random_seed (size=k)
  allocate (seed(k))
  call date_and_time (values=val)
  seed = [(173*i**2+4567,i=1,k)]
  m = min(8,k)
  seed(1:m) = seed(1:m) + val(m:1:-1)
  call random_seed (put=seed)
#include <stdlib.h>
#include <time.h>
srand((unsigned)time(0));

New implementation...