23 #if defined(__cplusplus)
113 uint64_t *array,
int length);
121 uint64_t x2, uint64_t y,
123 uint64_t mask, uint64_t tbl[16]);
149 uint64_t x2, uint64_t y,
151 uint64_t mask, uint64_t tbl[16]) {
158 x = (x1 & mask) ^ x2;
159 xh = (uint32_t)(x >> 32);
160 xl = (uint32_t)(x & 0xffffffffU);
161 yh = (uint32_t)(y >> 32);
162 yl = (uint32_t)(y & 0xffffffffU);
165 yh = xl ^ (yh >> sh2);
166 yl = xh ^ (yl >> sh2);
167 *r = ((uint64_t)yh << 32) | yl;
168 *r ^= tbl[yl & 0x0f];
186 array[(idx - size + large_size) & large_mask],
187 array[(idx - size + large_size + 1) & large_mask],
188 array[(idx + pos - size + large_size) & large_mask],
203 uint64_t r, uint64_t t) {
206 r ^= tmp_tbl[t & 0x0f];
218 uint64_t r, uint64_t t) {
226 x.u = r ^ dbl_tmp_tbl[t & 0x0f];
239 uint64_t r, uint64_t t) {
247 x.u = r ^ dbl_tmp_tbl[t & 0x0f];
275 array[(idx + pos - 1 - size + large_size)
301 array[(idx + pos - 1 - size + large_size)
353 array[(idx + pos - 1 - size + large_size)
358 #if defined(__cplusplus)