* integerify(B, r): * Return the result of parsing B_{2r-1} as a little-endian integer. */
| 299 | * Return the result of parsing B_{2r-1} as a little-endian integer. |
| 300 | */ |
| 301 | static uint64_t |
| 302 | integerify(const void * B, size_t r) |
| 303 | { |
| 304 | const uint32_t * X = (const uint32_t*)((uintptr_t)(B) + (2 * r - 1) * 64); |
| 305 | |
| 306 | return (((uint64_t)(X[1]) << 32) + X[0]); |
| 307 | } |
| 308 | |
| 309 | void SMix(uint8_t *B, unsigned int r, unsigned int N, void* _V, void* XY) |
| 310 | { |