Support median block size > 4 GB

add a 128/64 division routine so we can use a > 32 bit median block
size in calculations
This commit is contained in:
moneromooo-monero 2019-10-07 19:24:57 +00:00
parent b60cf6a938
commit be82c40703
No known key found for this signature in database
GPG key ID: 686F07454D6CEFC3
6 changed files with 174 additions and 14 deletions

View file

@ -129,6 +129,9 @@ static inline uint32_t div128_32(uint64_t dividend_hi, uint64_t dividend_lo, uin
return remainder;
}
// Long divisor with 2^64 base
void div128_64(uint64_t dividend_hi, uint64_t dividend_lo, uint64_t divisor, uint64_t* quotient_hi, uint64_t *quotient_lo, uint64_t *remainder_hi, uint64_t *remainder_lo);
#define IDENT16(x) ((uint16_t) (x))
#define IDENT32(x) ((uint32_t) (x))
#define IDENT64(x) ((uint64_t) (x))