Common: improve native clock.

This commit is contained in:
Fernando Sahmkow 2021-11-23 03:29:00 +01:00
parent c78f6d4f20
commit 096366ead5
3 changed files with 29 additions and 29 deletions

View file

@ -30,6 +30,10 @@ namespace Common {
#else
return _udiv128(r[1], r[0], d, &remainder);
#endif
#else
#ifdef __SIZEOF_INT128__
const auto product = static_cast<unsigned __int128>(a) * static_cast<unsigned __int128>(b);
return static_cast<u64>(product / d);
#else
const u64 diva = a / d;
const u64 moda = a % d;
@ -37,6 +41,7 @@ namespace Common {
const u64 modb = b % d;
return diva * b + moda * divb + moda * modb / d;
#endif
#endif
}
// This function multiplies 2 u64 values and produces a u128 value;