From b0e210a02b8576828ac64e8b97bd565fd28c8748 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Fri, 6 May 2016 13:48:43 +0200 Subject: Make zmul and zsqr (calls low-level functions) inline MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- src/zsqr.c | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) (limited to 'src/zsqr.c') diff --git a/src/zsqr.c b/src/zsqr.c index 5d99229..dbbfba2 100644 --- a/src/zsqr.c +++ b/src/zsqr.c @@ -3,7 +3,7 @@ static inline void -zsqr_impl_single_char(z_t a, z_t b) +zsqr_ll_single_char(z_t a, z_t b) { ENSURE_SIZE(a, 1); a->used = 1; @@ -12,7 +12,7 @@ zsqr_impl_single_char(z_t a, z_t b) } void -zsqr_impl(z_t a, z_t b) +zsqr_ll(z_t a, z_t b) { /* * Karatsuba algorithm, optimised for equal factors. @@ -26,7 +26,7 @@ zsqr_impl(z_t a, z_t b) bits = zbits(b); if (bits <= BITS_PER_CHAR / 2) { - zsqr_impl_single_char(a, b); + zsqr_ll_single_char(a, b); return; } @@ -47,18 +47,18 @@ zsqr_impl(z_t a, z_t b) if (unlikely(zzero(low))) { - zsqr_impl(z2, high); + zsqr_ll(z2, high); zlsh(a, z2, bits << 1); } else { zinit_temp(z0); zinit_temp(z1); - zsqr_impl(z0, low); + zsqr_ll(z0, low); - zmul_impl(z1, low, high); + zmul_ll(z1, low, high); zlsh(z1, z1, bits + 1); - zsqr_impl(z2, high); + zsqr_ll(z2, high); zlsh(a, z2, bits << 1); zadd_unsigned_assign(a, z1); @@ -68,14 +68,3 @@ zsqr_impl(z_t a, z_t b) zfree_temp(z0); } } - -void -zsqr(z_t a, z_t b) -{ - if (unlikely(zzero(b))) { - SET_SIGNUM(a, 0); - } else { - zsqr_impl(a, b); - SET_SIGNUM(a, 1); - } -} -- cgit v1.2.3-70-g09d2