Threadsafe, reproducible cell IDs
This merge request changes how the cells get their cellID
s.
We can store up to 32^3 top level cells in 15 bits of the long long cellID
. For every child of a cell, recursively the child inherits the cellID from its parent, shifts it 3 bits to the left, and adds 3 bits depending on its location within the parent cell. This allows us to store up to 16 levels of progeny in a reproduceable, thread-safe way.
If there are either too many top level cells or the depth is too high, we revert to the old "ID-ing" scheme.
Edited by Matthieu Schaller