Changeset View
Changeset View
Standalone View
Standalone View
src/secp256k1/src/int128_native_impl.h
| Show First 20 Lines • Show All 78 Lines • ▼ Show 20 Lines | |||||
| static SECP256K1_INLINE void secp256k1_i128_from_i64(secp256k1_int128 *r, int64_t a) { | static SECP256K1_INLINE void secp256k1_i128_from_i64(secp256k1_int128 *r, int64_t a) { | ||||
| *r = a; | *r = a; | ||||
| } | } | ||||
| static SECP256K1_INLINE int secp256k1_i128_eq_var(const secp256k1_int128 *a, const secp256k1_int128 *b) { | static SECP256K1_INLINE int secp256k1_i128_eq_var(const secp256k1_int128 *a, const secp256k1_int128 *b) { | ||||
| return *a == *b; | return *a == *b; | ||||
| } | } | ||||
| static SECP256K1_INLINE int secp256k1_i128_check_pow2(const secp256k1_int128 *r, unsigned int n) { | static SECP256K1_INLINE int secp256k1_i128_check_pow2(const secp256k1_int128 *r, unsigned int n, int sign) { | ||||
| VERIFY_CHECK(n < 127); | VERIFY_CHECK(n < 127); | ||||
| return (*r == (int128_t)1 << n); | VERIFY_CHECK(sign == 1 || sign == -1); | ||||
| return (*r == (int128_t)((uint128_t)sign << n)); | |||||
| } | } | ||||
| #endif | #endif | ||||