Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 64-bit srandom()?




On Nov 14, 2007, at 1:37 PM, Nick Zitzmann wrote:

I searched around and didn't see anything relevant...

In our 32-bit projects, we're calling:

srandom(time(NULL));

What's the best way of doing something like the above in a 64-bit program? srandom() takes a 32-bit integer when compiling for both 32-bit and 64-bit, but time() returns a 64-bit integer when compiling for 64-bit. I guess I have until 2038 to worry about this, but I'd rather deal with it now...

srandrom() doesn't really care about the actual time- you should just make sure you seed with the least-significant 32-bits which you can do with:


int32_t seed=(int32_t)(time(NULL) & 0xff);
srandom(seed);

(Or something like that- untested code.)

Cheers,
M
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/darwin-dev/email@hidden

This email sent to email@hidden
References: 
 >64-bit srandom()? (From: Nick Zitzmann <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.