| 806 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x10}; |
| 807 | |
| 808 | sv modL(u8* r, i64 x[64]) |
| 809 | { |
| 810 | i64 carry, i, j; |
| 811 | for (i = 63; i >= 32; --i) { |
| 812 | carry = 0; |
| 813 | for (j = i - 32; j < i - 12; ++j) { |
| 814 | x[j] += carry - 16 * x[i] * L[j - (i - 32)]; |
| 815 | carry = (x[j] + 128) >> 8; |
| 816 | x[j] -= carry << 8; |
| 817 | } |
| 818 | x[j] += carry; |
| 819 | x[i] = 0; |
| 820 | } |
| 821 | carry = 0; |
| 822 | FOR(j, 32) |
| 823 | { |
| 824 | x[j] += carry - (x[31] >> 4) * L[j]; |
| 825 | carry = x[j] >> 8; |
| 826 | x[j] &= 255; |
| 827 | } |
| 828 | FOR(j, 32) x[j] -= carry * L[j]; |
| 829 | FOR(i, 32) |
| 830 | { |
| 831 | x[i + 1] += x[i] >> 8; |
| 832 | r[i] = x[i] & 255; |
| 833 | } |
| 834 | } |
| 835 | |
| 836 | sv reduce(u8* r) |
| 837 | { |
no outgoing calls
no test coverage detected