>Am Sonntag, den 21.09.2014, 14:45 +0300 schrieb Nadav Har'El: >> Any ideas why I'm getting the wrong sequence? > >I don't think you are getting the wrong sequence, you are just >printing it wrong. "%ld" is for long double and not for double. > >Jens (I tried to subscribe to the mailing list but it didn't work, so please CC me with further responses). "%ld" is not a double at all, it's an int. My message's title was indeed somewhat confusing, because I mentioned drand48() in the title but used lrand48() in my example code. I saw the same problem of a different sequence also with drand48() (printed with %g of course) - but at the end decided to include code which printed lrand48(). Anyway, "%ld" is the right thing to use here because lrand48() returns a "long int". Replacing it with "%d" makes no difference and the sequences are still different (I tried). This is because while lrand48()'s type is officially "long", its return value is just 32-bit, so one can treat it just fine as either long (64-bit on my 64-bit machine) or int (32-bit) and you get the same result. -- Nadav Har'El nyh@cloudius-systems.com