I'm trying to implement George Marsaglia's Complementary Multiply-With-Carry algorithm in C. It seems to work great under Win7 64 bit and Linux 32 bit, but seems to behave strangely under Win 7 32 bit. The random number it returns is 32 bit, but there's a temporary value used internally that's supposed to be 64 bits, and it's declared:
unsigned long long t;
I suspect this might be the cause of the misbehaviour, so my question is: is the type "long long" 64 bits? Is it supported in 32 bit Windows? Thanks in advance for an answer.