aboutsummaryrefslogtreecommitdiffstats
path: root/bench/libtfm.h
diff options
context:
space:
mode:
Diffstat (limited to 'bench/libtfm.h')
-rw-r--r--bench/libtfm.h15
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);
}