From 76d0af5599554d11f104d582cdac8fbaa8569fcc Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Fri, 4 Mar 2016 23:50:00 +0100 Subject: Clean up, add zerror and zperror, fix bugs and add more tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- src/zsqr.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/zsqr.c') diff --git a/src/zsqr.c b/src/zsqr.c index a9cebd0..39f5591 100644 --- a/src/zsqr.c +++ b/src/zsqr.c @@ -21,7 +21,11 @@ zsqr(z_t a, z_t b) m2 = zbits(b); if (m2 <= BITS_PER_CHAR / 2) { - zsetu(a, b->chars[0] * b->chars[0]); + /* zsetu(a, b->chars[0] * b->chars[0]); { */ + ENSURE_SIZE(a, 1); + a->used = 1; + a->chars[0] = b->chars[0] * b->chars[0]; + /* } */ SET_SIGNUM(a, 1); return; } @@ -38,14 +42,14 @@ zsqr(z_t a, z_t b) zsplit(high, low, b, m2); -#if 0 +#if 1 zsqr(z0, low); zsqr(z2, high); zmul(z1, low, high); + zlsh(z1, z1, m2 + 1); + m2 <<= 1; zlsh(z2, z2, m2); - m2 = (m2 << 1) | 1; - zlsh(z1, z1, m2); zadd(a, z2, z1); zadd(a, a, z0); -- cgit v1.2.3-70-g09d2