aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/vcpkg-test/uint128.cpp
AgeCommit message (Collapse)Author
2020-04-09[vcpkg] Correct UInt128 code 😇 (#10583)nicole mazzuca
* [vcpkg] Correct UInt128 code 😇 `UInt128::operator<<(x, y)` should clear the bottom 64 bits of `x` if `y >= 64`; however, we don't do this, and so we duplicate `x`'s bottom bits into `x.top` instead of moving them. Similarly, we have the opposite problem for `UInt128::operator>>`. This commit fixes these latent bugs, which we weren't hitting because the thing we use them for never actually shifts more than 64 bits.