for offsets larger than 32, rotate right by 64 - offset */
| 464 | |
| 465 | /* for offsets larger than 32, rotate right by 64 - offset */ |
| 466 | static Rand64 rotl1 (Rand64 i, int n) { |
| 467 | lua_assert(n > 32 && n < 64); |
| 468 | n = 64 - n; |
| 469 | return packI((trim32(i.h) >> n) | (i.l << (32 - n)), |
| 470 | (i.h << (32 - n)) | (trim32(i.l) >> n)); |
| 471 | } |
| 472 | |
| 473 | /* |
| 474 | ** implementation of 'xoshiro256**' algorithm on 'Rand64' values |