Skip to content

Commit b797a50

Browse files
Create a SECP256K1_ECMULT_TABLE_VERIFY macro.
1 parent a731200 commit b797a50

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

src/ecmult_impl.h

+8-9
Original file line numberDiff line numberDiff line change
@@ -114,10 +114,13 @@ static void secp256k1_ecmult_odd_multiples_table(int n, secp256k1_ge *pre_a, sec
114114
secp256k1_fe_mul(z, &ai.z, &d.z);
115115
}
116116

117+
#define SECP256K1_ECMULT_TABLE_VERIFY(n,w) \
118+
VERIFY_CHECK(((n) & 1) == 1); \
119+
VERIFY_CHECK((n) >= -((1 << ((w)-1)) - 1)); \
120+
VERIFY_CHECK((n) <= ((1 << ((w)-1)) - 1));
121+
117122
SECP256K1_INLINE static void secp256k1_ecmult_table_get_ge(secp256k1_ge *r, const secp256k1_ge *pre, int n, int w) {
118-
VERIFY_CHECK((n & 1) == 1);
119-
VERIFY_CHECK(n >= -((1 << (w-1)) - 1));
120-
VERIFY_CHECK(n <= ((1 << (w-1)) - 1));
123+
SECP256K1_ECMULT_TABLE_VERIFY(n,w)
121124
if (n > 0) {
122125
*r = pre[(n-1)/2];
123126
} else {
@@ -127,9 +130,7 @@ SECP256K1_INLINE static void secp256k1_ecmult_table_get_ge(secp256k1_ge *r, cons
127130
}
128131

129132
SECP256K1_INLINE static void secp256k1_ecmult_table_get_ge_lambda(secp256k1_ge *r, const secp256k1_ge *pre, const secp256k1_fe *x, int n, int w) {
130-
VERIFY_CHECK((n & 1) == 1);
131-
VERIFY_CHECK(n >= -((1 << (w-1)) - 1));
132-
VERIFY_CHECK(n <= ((1 << (w-1)) - 1));
133+
SECP256K1_ECMULT_TABLE_VERIFY(n,w)
133134
if (n > 0) {
134135
secp256k1_ge_set_xy(r, &x[(n-1)/2], &pre[(n-1)/2].y);
135136
} else {
@@ -139,9 +140,7 @@ SECP256K1_INLINE static void secp256k1_ecmult_table_get_ge_lambda(secp256k1_ge *
139140
}
140141

141142
SECP256K1_INLINE static void secp256k1_ecmult_table_get_ge_storage(secp256k1_ge *r, const secp256k1_ge_storage *pre, int n, int w) {
142-
VERIFY_CHECK((n & 1) == 1);
143-
VERIFY_CHECK(n >= -((1 << (w-1)) - 1));
144-
VERIFY_CHECK(n <= ((1 << (w-1)) - 1));
143+
SECP256K1_ECMULT_TABLE_VERIFY(n,w)
145144
if (n > 0) {
146145
secp256k1_ge_from_storage(r, &pre[(n-1)/2]);
147146
} else {

0 commit comments

Comments
 (0)