return i1 + i2 */
| 399 | |
| 400 | /* return i1 + i2 */ |
| 401 | static Rand64 Iadd (Rand64 i1, Rand64 i2) { |
| 402 | Rand64 result = packI(i1.h + i2.h, i1.l + i2.l); |
| 403 | if (trim32(result.l) < trim32(i1.l)) /* carry? */ |
| 404 | result.h++; |
| 405 | return result; |
| 406 | } |
| 407 | |
| 408 | /* return i * 5 */ |
| 409 | static Rand64 times5 (Rand64 i) { |