Skip to content

Commit 4c14457

Browse files
Create a SECP256K1_ECMULT_TABLE_VERIFY macro.
1 parent b19ec75 commit 4c14457

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
@@ -113,10 +113,13 @@ static void secp256k1_ecmult_odd_multiples_table(int n, secp256k1_ge *pre_a, sec
113113
secp256k1_fe_mul(z, &ai.z, &d.z);
114114
}
115115

116+
#define SECP256K1_ECMULT_TABLE_VERIFY(n,w) \
117+
VERIFY_CHECK(((n) & 1) == 1); \
118+
VERIFY_CHECK((n) >= -((1 << ((w)-1)) - 1)); \
119+
VERIFY_CHECK((n) <= ((1 << ((w)-1)) - 1));
120+
116121
SECP256K1_INLINE static void secp256k1_ecmult_table_get_ge(secp256k1_ge *r, const secp256k1_ge *pre, int n, int w) {
117-
VERIFY_CHECK((n & 1) == 1);
118-
VERIFY_CHECK(n >= -((1 << (w-1)) - 1));
119-
VERIFY_CHECK(n <= ((1 << (w-1)) - 1));
122+
SECP256K1_ECMULT_TABLE_VERIFY(n,w)
120123
if (n > 0) {
121124
*r = pre[(n-1)/2];
122125
} else {
@@ -126,9 +129,7 @@ SECP256K1_INLINE static void secp256k1_ecmult_table_get_ge(secp256k1_ge *r, cons
126129
}
127130

128131
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) {
129-
VERIFY_CHECK((n & 1) == 1);
130-
VERIFY_CHECK(n >= -((1 << (w-1)) - 1));
131-
VERIFY_CHECK(n <= ((1 << (w-1)) - 1));
132+
SECP256K1_ECMULT_TABLE_VERIFY(n,w)
132133
if (n > 0) {
133134
secp256k1_ge_set_xy(r, &x[(n-1)/2], &pre[(n-1)/2].y);
134135
} else {
@@ -138,9 +139,7 @@ SECP256K1_INLINE static void secp256k1_ecmult_table_get_ge_lambda(secp256k1_ge *
138139
}
139140

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

0 commit comments

Comments
 (0)