20 #ifndef __mortonIndexing_hpp__
21 #define __mortonIndexing_hpp__
34 const ViewType1D<realx3>& pos,
39 uint64_t
splitBy3(
const uint64_t val){
41 x = (x | x << 32) & 0x1f00000000ffff;
42 x = (x | x << 16) & 0x1f0000ff0000ff;
43 x = (x | x << 8) & 0x100f00f00f00f00f;
44 x = (x | x << 4) & 0x10c30c30c30c30c3;
45 x = (x | x << 2) & 0x1249249249249249;
59 x = x & 0x9249249249249249;
60 x = (x | (x >> 2)) & 0x30c30c30c30c30c3;
61 x = (x | (x >> 4)) & 0xf00f00f00f00f00f;
62 x = (x | (x >> 8)) & 0x00ff0000ff0000ff;
63 x = (x | (x >> 16)) & 0xffff00000000ffff;
64 x = (x | (x >> 32)) & 0x00000000ffffffff;
86 #endif //__mortonIndexing_hpp__