It's not implementation defined.
Anyhow, this is not the right way to initialize a PRNG, sorry lads. Time doesn't have enough entropy and even worse, because this code only takes seconds, you have a full second (or 2.something billion CPU clock cycles) where re-seeding the PRNG will result in it generating the very same values over and over again.

The generally agreed upon way of seeding a PRNG is to tap into the kernels entropy pool and get some bits out of there. The kernel has a pool of high quality entropy available for access, and it's ideal to get some bits from there to initialize a PRNG.

Edit: to be fair, going down this road leads you to all kinds of interesting topics. It also highly depends on what quality of randomness you require. A game might get away with very low quality randomness out of a shitty LCG, although it really doesn't hurt to use Mersenne Twister which has a much larger period and returns uniformly distributed results. But maybe you don't want uniformly distributed results but add a weight in, for example RPGs might choose to have a "luck" skill that biases the results of the randomness.

Last edited by JustSid; 07/20/14 18:00.

Shitlord by trade and passion. Graphics programmer at Laminar Research.
I write blog posts at feresignum.com