Fixes undefined behavior from shifting into signed bit; use unsigned literal instead
This commit is contained in:
parent
b2d444d782
commit
bcc41bf3d1
@ -57,7 +57,7 @@ uint64_t HilbertCode::BitInterleaving(const uint32_t latitude, const uint32_t lo
|
|||||||
|
|
||||||
void HilbertCode::TransposeCoordinate(uint32_t *X) const
|
void HilbertCode::TransposeCoordinate(uint32_t *X) const
|
||||||
{
|
{
|
||||||
uint32_t M = 1 << (32 - 1), P, Q, t;
|
uint32_t M = 1u << (32 - 1), P, Q, t;
|
||||||
int i;
|
int i;
|
||||||
// Inverse undo
|
// Inverse undo
|
||||||
for (Q = M; Q > 1; Q >>= 1)
|
for (Q = M; Q > 1; Q >>= 1)
|
||||||
|
Loading…
Reference in New Issue
Block a user