| 464 | } |
| 465 | |
| 466 | static uint64_t |
| 467 | xadd(uint64_t a, uint64_t b) |
| 468 | { |
| 469 | uint64_t c; |
| 470 | |
| 471 | c = a + b; |
| 472 | |
| 473 | /* |
| 474 | * Detect overflow. |
| 475 | */ |
| 476 | if (c < a || c < b) |
| 477 | return (UINT64_MAX); |
| 478 | |
| 479 | return (c); |
| 480 | } |
| 481 | |
| 482 | static uint64_t |
| 483 | xmul(uint64_t a, uint64_t b) |