From 456cffcd2e808a3a9c3ff47f988138bbce555e0e Mon Sep 17 00:00:00 2001 From: Jason Gross Date: Mon, 14 Jan 2019 20:09:21 -0500 Subject: Fix computation of INTX_MIN The minimum is -2^(bitwidth-1), not -2^bitwidth. Oops. --- p521_32.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'p521_32.c') diff --git a/p521_32.c b/p521_32.c index 5e2fd8a15..d1ae368c9 100644 --- a/p521_32.c +++ b/p521_32.c @@ -41,7 +41,7 @@ static void fiat_p521_addcarryx_u30(uint32_t* out1, fiat_p521_uint1* out2, fiat_ */ static void fiat_p521_subborrowx_u30(uint32_t* out1, fiat_p521_uint1* out2, fiat_p521_uint1 arg1, uint32_t arg2, uint32_t arg3) { int32_t x1 = ((int32_t)(arg2 - arg1) - (int32_t)arg3); - fiat_p521_int1 x2 = (fiat_p521_int1)((int64_t)x1 >> 30); + fiat_p521_int1 x2 = (fiat_p521_int1)(x1 >> 30); uint32_t x3 = (x1 & UINT32_C(0x3fffffff)); *out1 = x3; *out2 = (fiat_p521_uint1)(0x0 - x2); @@ -1200,7 +1200,7 @@ static void fiat_p521_to_bytes(uint8_t out1[66], const uint32_t arg1[17]) { uint8_t x130 = (uint8_t)(x127 & UINT8_C(0xff)); uint8_t x131 = (uint8_t)(x129 >> 8); uint8_t x132 = (uint8_t)(x129 & UINT8_C(0xff)); - fiat_p521_uint1 x133 = (fiat_p521_uint1)((int64_t)x131 >> 8); + fiat_p521_uint1 x133 = (fiat_p521_uint1)(x131 >> 8); uint8_t x134 = (uint8_t)(x131 & UINT8_C(0xff)); uint32_t x135 = (x133 + x48); uint32_t x136 = (x135 >> 8); @@ -1252,7 +1252,7 @@ static void fiat_p521_to_bytes(uint8_t out1[66], const uint32_t arg1[17]) { uint8_t x182 = (uint8_t)(x179 & UINT8_C(0xff)); uint8_t x183 = (uint8_t)(x181 >> 8); uint8_t x184 = (uint8_t)(x181 & UINT8_C(0xff)); - fiat_p521_uint1 x185 = (fiat_p521_uint1)((int64_t)x183 >> 8); + fiat_p521_uint1 x185 = (fiat_p521_uint1)(x183 >> 8); uint8_t x186 = (uint8_t)(x183 & UINT8_C(0xff)); uint32_t x187 = (x185 + x60); uint32_t x188 = (x187 >> 8); -- cgit v1.2.3