Rev 4450 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4450 | Rev 4451 | ||
---|---|---|---|
Line 84... | Line 84... | ||
84 | #define STRING_ARG(arg) #arg |
84 | #define STRING_ARG(arg) #arg |
85 | 85 | ||
86 | #define LOWER32(arg) ((arg) & 0xffffffff) |
86 | #define LOWER32(arg) ((arg) & 0xffffffff) |
87 | #define UPPER32(arg) (((arg) >> 32) & 0xffffffff) |
87 | #define UPPER32(arg) (((arg) >> 32) & 0xffffffff) |
88 | 88 | ||
89 | #define MERGE_LOHI32(lo, hi) \ |
89 | #define MERGE_LOUP32(lo, up) \ |
- | 90 | ((((uint64_t) (lo)) & 0xffffffff) \ |
|
90 | (((lo) & 0xffffffff) | (((hi) & 0xffffffff) << 32)) |
91 | | ((((uint64_t) (up)) & 0xffffffff) << 32)) |
91 | 92 | ||
92 | /** Pseudorandom generator |
93 | /** Pseudorandom generator |
93 | * |
94 | * |
94 | * A pretty standard linear congruential pseudorandom |
95 | * A pretty standard linear congruential pseudorandom |
95 | * number generator (m = 2^32 or 2^64 depending on architecture). |
96 | * number generator (m = 2^32 or 2^64 depending on architecture). |