return i1 + i2 */
| 419 | |
| 420 | /* return i1 + i2 */ |
| 421 | static Rand64 Iadd (Rand64 i1, Rand64 i2) { |
| 422 | Rand64 result = packI(i1.h + i2.h, i1.l + i2.l); |
| 423 | if (trim32(result.l) < trim32(i1.l)) /* carry? */ |
| 424 | result.h++; |
| 425 | return result; |
| 426 | } |
| 427 | |
| 428 | /* return i * 5 */ |
| 429 | static Rand64 times5 (Rand64 i) { |