Create a SECP256K1_ECMULT_TABLE_VERIFY macro.
This commit is contained in:
parent
a731200cc3
commit
b797a500ec
@ -114,10 +114,13 @@ static void secp256k1_ecmult_odd_multiples_table(int n, secp256k1_ge *pre_a, sec
|
|||||||
secp256k1_fe_mul(z, &ai.z, &d.z);
|
secp256k1_fe_mul(z, &ai.z, &d.z);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define SECP256K1_ECMULT_TABLE_VERIFY(n,w) \
|
||||||
|
VERIFY_CHECK(((n) & 1) == 1); \
|
||||||
|
VERIFY_CHECK((n) >= -((1 << ((w)-1)) - 1)); \
|
||||||
|
VERIFY_CHECK((n) <= ((1 << ((w)-1)) - 1));
|
||||||
|
|
||||||
SECP256K1_INLINE static void secp256k1_ecmult_table_get_ge(secp256k1_ge *r, const secp256k1_ge *pre, int n, int w) {
|
SECP256K1_INLINE static void secp256k1_ecmult_table_get_ge(secp256k1_ge *r, const secp256k1_ge *pre, int n, int w) {
|
||||||
VERIFY_CHECK((n & 1) == 1);
|
SECP256K1_ECMULT_TABLE_VERIFY(n,w)
|
||||||
VERIFY_CHECK(n >= -((1 << (w-1)) - 1));
|
|
||||||
VERIFY_CHECK(n <= ((1 << (w-1)) - 1));
|
|
||||||
if (n > 0) {
|
if (n > 0) {
|
||||||
*r = pre[(n-1)/2];
|
*r = pre[(n-1)/2];
|
||||||
} else {
|
} else {
|
||||||
@ -127,9 +130,7 @@ SECP256K1_INLINE static void secp256k1_ecmult_table_get_ge(secp256k1_ge *r, cons
|
|||||||
}
|
}
|
||||||
|
|
||||||
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) {
|
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) {
|
||||||
VERIFY_CHECK((n & 1) == 1);
|
SECP256K1_ECMULT_TABLE_VERIFY(n,w)
|
||||||
VERIFY_CHECK(n >= -((1 << (w-1)) - 1));
|
|
||||||
VERIFY_CHECK(n <= ((1 << (w-1)) - 1));
|
|
||||||
if (n > 0) {
|
if (n > 0) {
|
||||||
secp256k1_ge_set_xy(r, &x[(n-1)/2], &pre[(n-1)/2].y);
|
secp256k1_ge_set_xy(r, &x[(n-1)/2], &pre[(n-1)/2].y);
|
||||||
} else {
|
} else {
|
||||||
@ -139,9 +140,7 @@ SECP256K1_INLINE static void secp256k1_ecmult_table_get_ge_lambda(secp256k1_ge *
|
|||||||
}
|
}
|
||||||
|
|
||||||
SECP256K1_INLINE static void secp256k1_ecmult_table_get_ge_storage(secp256k1_ge *r, const secp256k1_ge_storage *pre, int n, int w) {
|
SECP256K1_INLINE static void secp256k1_ecmult_table_get_ge_storage(secp256k1_ge *r, const secp256k1_ge_storage *pre, int n, int w) {
|
||||||
VERIFY_CHECK((n & 1) == 1);
|
SECP256K1_ECMULT_TABLE_VERIFY(n,w)
|
||||||
VERIFY_CHECK(n >= -((1 << (w-1)) - 1));
|
|
||||||
VERIFY_CHECK(n <= ((1 << (w-1)) - 1));
|
|
||||||
if (n > 0) {
|
if (n > 0) {
|
||||||
secp256k1_ge_from_storage(r, &pre[(n-1)/2]);
|
secp256k1_ge_from_storage(r, &pre[(n-1)/2]);
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user