55 x = (x | (x << 16)) & 0x030000FF;
56 x = (x | (x << 8)) & 0x0300F00F;
57 x = (x | (x << 4)) & 0x030C30C3;
58 x = (x | (x << 2)) & 0x09249249;
60 y = (y | (y << 16)) & 0x030000FF;
61 y = (y | (y << 8)) & 0x0300F00F;
62 y = (y | (y << 4)) & 0x030C30C3;
63 y = (y | (y << 2)) & 0x09249249;
65 z = (z | (z << 16)) & 0x030000FF;
66 z = (z | (z << 8)) & 0x0300F00F;
67 z = (z | (z << 4)) & 0x030C30C3;
68 z = (z | (z << 2)) & 0x09249249;
70 return x | (y << 1) | (z << 2);
83 return (
uint64(morton_code(hi_x, hi_y, hi_z)) << 30)
84 |
uint64(morton_code(lo_x, lo_y, lo_z));
89 struct morton_functor<double, uint32>;
93 struct morton_functor<double, uint64>;