aboutsummaryrefslogtreecommitdiff
path: root/secp256k1_64.c
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2019-01-14 20:09:21 -0500
committerGravatar Jason Gross <jasongross9@gmail.com>2019-01-15 14:00:52 -0500
commit456cffcd2e808a3a9c3ff47f988138bbce555e0e (patch)
tree1ad646e6b3a65ae30e5e02fe09c0e64cb04affb8 /secp256k1_64.c
parentc61d5be86e3efb978883fc60687af42192aacaff (diff)
Fix computation of INTX_MIN
The minimum is -2^(bitwidth-1), not -2^bitwidth. Oops.
Diffstat (limited to 'secp256k1_64.c')
-rw-r--r--secp256k1_64.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/secp256k1_64.c b/secp256k1_64.c
index 9abfa7910..749e9bc40 100644
--- a/secp256k1_64.c
+++ b/secp256k1_64.c
@@ -46,7 +46,7 @@ static void fiat_secp256k1_addcarryx_u64(uint64_t* out1, fiat_secp256k1_uint1* o
*/
static void fiat_secp256k1_subborrowx_u64(uint64_t* out1, fiat_secp256k1_uint1* out2, fiat_secp256k1_uint1 arg1, uint64_t arg2, uint64_t arg3) {
fiat_secp256k1_int128 x1 = ((arg2 - (fiat_secp256k1_int128)arg1) - arg3);
- fiat_secp256k1_int1 x2 = (fiat_secp256k1_int1)((fiat_secp256k1_int256)x1 >> 64);
+ fiat_secp256k1_int1 x2 = (fiat_secp256k1_int1)(x1 >> 64);
uint64_t x3 = (uint64_t)(x1 & UINT64_C(0xffffffffffffffff));
*out1 = x3;
*out2 = (fiat_secp256k1_uint1)(0x0 - x2);
@@ -1255,7 +1255,7 @@ static void fiat_secp256k1_to_bytes(uint8_t out1[32], const uint64_t arg1[4]) {
uint8_t x16 = (uint8_t)(x13 & UINT8_C(0xff));
uint8_t x17 = (uint8_t)(x15 >> 8);
uint8_t x18 = (uint8_t)(x15 & UINT8_C(0xff));
- fiat_secp256k1_uint1 x19 = (fiat_secp256k1_uint1)((int64_t)x17 >> 8);
+ fiat_secp256k1_uint1 x19 = (fiat_secp256k1_uint1)(x17 >> 8);
uint8_t x20 = (uint8_t)(x17 & UINT8_C(0xff));
uint64_t x21 = (x19 + x3);
uint64_t x22 = (x21 >> 8);
@@ -1272,7 +1272,7 @@ static void fiat_secp256k1_to_bytes(uint8_t out1[32], const uint64_t arg1[4]) {
uint8_t x33 = (uint8_t)(x30 & UINT8_C(0xff));
uint8_t x34 = (uint8_t)(x32 >> 8);
uint8_t x35 = (uint8_t)(x32 & UINT8_C(0xff));
- fiat_secp256k1_uint1 x36 = (fiat_secp256k1_uint1)((int64_t)x34 >> 8);
+ fiat_secp256k1_uint1 x36 = (fiat_secp256k1_uint1)(x34 >> 8);
uint8_t x37 = (uint8_t)(x34 & UINT8_C(0xff));
uint64_t x38 = (x36 + x2);
uint64_t x39 = (x38 >> 8);
@@ -1289,7 +1289,7 @@ static void fiat_secp256k1_to_bytes(uint8_t out1[32], const uint64_t arg1[4]) {
uint8_t x50 = (uint8_t)(x47 & UINT8_C(0xff));
uint8_t x51 = (uint8_t)(x49 >> 8);
uint8_t x52 = (uint8_t)(x49 & UINT8_C(0xff));
- fiat_secp256k1_uint1 x53 = (fiat_secp256k1_uint1)((int64_t)x51 >> 8);
+ fiat_secp256k1_uint1 x53 = (fiat_secp256k1_uint1)(x51 >> 8);
uint8_t x54 = (uint8_t)(x51 & UINT8_C(0xff));
uint64_t x55 = (x53 + x1);
uint64_t x56 = (x55 >> 8);