Bit-twiddling
Lars Marius Garshol
larsga at ifi.uio.no
Thu Jul 29 03:07:32 EDT 1999
More information about the Python-list mailing list
Thu Jul 29 03:07:32 EDT 1999
- Previous message (by thread): Bit-twiddling
- Next message (by thread): Still Not Getting Comp.Object.Moderated?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
* Tim Peters | | Provided that seed was a long to begin with, this code almost works | as is. You just need to append "L" to the literals (for 69069 that | isn't necessary, it just avoids the repeated expense of runtime | widening; for 0xffffffff it *is* necessary on a 32-bit machine, else | 0xffffffff == -1 gets widened to -1L and then the masking doesn't | accomplish anything (i & -1L == i for all long i)). Aha! I knew that 0xffffffff didn't work, but I had no idea that the trick was to define it as a long. Thanks! | The elements of mt are then all longs, but each one's *value* fits | in a 32-bit C unsigned long: numerically, it computes the same | values as would the C code. Indeed it does. Thanks again! Based on this advice I took a stab at the rest of the algorithm and now it actually works! Wheee! So if anyone wants a string of random numbers with a period of 2**199937-1 and equi-distributed in 623 dimensions, just let me know. :-) | if-you're-really-after-random-numbers-see-ivan-frohne-ly y'rs - tim I guessed that you would recognize the algorithm. :) I wasn't really after random numbers as much as I was after some easy diversion. This turned out to not be that easy for someone with a bit (hah!) less than the necessary maths and C background. :( Anyway, I see that Frohne uses the code I use above, except that his 69069 is L. But as you say that makes no difference. He doesn't use the same code for number generation, though. If I need more diversion I'll try to turn the C code into an extension module as my first-ever extension module. Should be educational, at least. --Lars M.
- Previous message (by thread): Bit-twiddling
- Next message (by thread): Still Not Getting Comp.Object.Moderated?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list