Rev 4450 | Show entire file | Ignore 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). |