return i1 + i2 */
| 439 | |
| 440 | /* return i1 + i2 */ |
| 441 | static Rand64 Iadd (Rand64 i1, Rand64 i2) { |
| 442 | Rand64 result = packI(i1.h + i2.h, i1.l + i2.l); |
| 443 | if (trim32(result.l) < trim32(i1.l)) /* carry? */ |
| 444 | result.h++; |
| 445 | return result; |
| 446 | } |
| 447 | |
| 448 | /* return i * 5 */ |
| 449 | static Rand64 times5 (Rand64 i) { |