1 #ifndef SECP256K1_INT128_NATIVE_IMPL_H 2 #define SECP256K1_INT128_NATIVE_IMPL_H 7 *r = (((uint128_t)hi) << 64) + lo;
11 *r = (uint128_t)
a * b;
15 *r += (uint128_t)
a * b;
41 return (*r >> n == 0);
45 *r = (((uint128_t)(
uint64_t)hi) << 64) + lo;
53 int128_t ab = (int128_t)
a * b;
54 VERIFY_CHECK(0 <= ab ? *r <= INT128_MAX - ab : INT128_MIN - ab <= *r);
59 int128_t ad = (int128_t)
a * d;
60 int128_t bc = (int128_t)b * c;
61 VERIFY_CHECK(0 <= bc ? INT128_MIN + bc <= ad : ad <= INT128_MAX + bc);
89 return (*r == (int128_t)1 << n);
#define VERIFY_CHECK(cond)
int128_t secp256k1_int128
unsigned __int64 uint64_t
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a