diff options
Diffstat (limited to 'bench/libtfm.h')
| -rw-r--r-- | bench/libtfm.h | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/bench/libtfm.h b/bench/libtfm.h index fd651a8..3c9f85f 100644 --- a/bench/libtfm.h +++ b/bench/libtfm.h @@ -273,21 +273,14 @@ zrand(z_t r, int dev, int dist, z_t n) static void zpowu(z_t r, z_t a, unsigned long long int b) { - z_t product, factor; int neg = zsignum(a) < 0; - - zinit(product); - zinit(factor); - zsetu(product, 1); - zset(factor, a); - + zset(_a, a); + zsetu(r, 1); for (; b; b >>= 1) { if (b & 1) - zmul(product, product, factor); - zsqr(factor, factor); + zmul(r, r, _a); + zsqr(_a, _a); } - - zset(r, product); if (neg) zneg(r, r); } |
