Simplify secp256k1_fe_{impl_,}verify

This commit is contained in:
Pieter Wuille
2023-05-11 04:42:09 -04:00
parent 4e176ad5b9
commit 7fc642fa25
3 changed files with 24 additions and 27 deletions

View File

@@ -163,12 +163,11 @@ static void secp256k1_fe_verify(const secp256k1_fe *a) { (void)a; }
static void secp256k1_fe_impl_verify(const secp256k1_fe *a);
static void secp256k1_fe_verify(const secp256k1_fe *a) {
/* Magnitude between 0 and 32. */
int r = (a->magnitude >= 0) & (a->magnitude <= 32);
VERIFY_CHECK((a->magnitude >= 0) && (a->magnitude <= 32));
/* Normalized is 0 or 1. */
r &= (a->normalized == 0) | (a->normalized == 1);
VERIFY_CHECK((a->normalized == 0) || (a->normalized == 1));
/* If normalized, magnitude must be 0 or 1. */
if (a->normalized) r &= (a->magnitude <= 1);
VERIFY_CHECK(r == 1);
if (a->normalized) VERIFY_CHECK(a->magnitude <= 1);
/* Invoke implementation-specific checks. */
secp256k1_fe_impl_verify(a);
}