site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com On Nov 25, 2009, at 9:26 AM, Derek Gaston wrote: #include <stdlib.h> #include <iostream> int main() { for(unsigned int i=0; i<100; i++) { srand(i+1); double value = rand()/(RAND_MAX + 1.0); std::cout<<value<<std::endl; } } Here is the output I get on Snow Leopard: 7.82637e-06 1.56527e-05 2.34791e-05 3.13055e-05 3.91318e-05 4.69582e-05 5.47846e-05 6.2611e-05 7.04373e-05 7.82637e-05 8.60901e-05 9.39164e-05 0.000101743 0.000109569 0.000117396 0.000125222 0.000133048 0.000140875 ..... Running the _exact_ same code on Linux I get: 0.840188 0.700976 0.56138 0.916458 0.274746 0.135439 0.486904 0.352761 0.206965 0.565811 0.926345 0.7856 0.632643 ..... Thanks for any help! Derek _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/gkshenaut%40ucdavis.edu _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... Hello everyone... I've been struggling with rand and srand on OSX 10.6 and 10.5. It seems to me that something is terribly broken. Here is a short program I wrote to convince myself of that: Why are you reseeding the rng in each loop? This will never be random. Try moving the srand call to before the loop and seeding it only once. This piece of code should generate 100 random numbers between 0 and 1... I am expecting that they be fairly spaced out as well... This is actually indicative of what we actually do in one of our applications (I know it doesn't usually make much sense to reseed all the time... but you're just going to have to trust me that it's necessary in our case ;-) Note how _not_ random they are! This is actually what we are seeing in our application! Notice how they are nice and random... and well spread out through the 0 to 1 range. Am I doing something wrong?? I've tested this on several Linux distros and it always works fine.... what is different about rand and srand on OSX? This email sent to gkshenaut@ucdavis.edu This email sent to site_archiver@lists.apple.com