mirror of
https://github.com/paboyle/Grid.git
synced 2024-11-10 15:55:37 +00:00
30 lines
519 B
C
30 lines
519 B
C
|
#ifndef GRID_LEBESGUE_H
|
||
|
#define GRID_LEBESGUE_H
|
||
|
|
||
|
#include<vector>
|
||
|
|
||
|
// Lebesgue, Morton, Z-graph ordering assistance
|
||
|
namespace Grid {
|
||
|
|
||
|
class LebesgueOrder {
|
||
|
public:
|
||
|
|
||
|
static int UseLebesgueOrder;
|
||
|
|
||
|
typedef uint32_t IndexInteger;
|
||
|
|
||
|
inline IndexInteger Reorder(IndexInteger ss) {
|
||
|
return UseLebesgueOrder ? _LebesgueReorder[ss] : ss;
|
||
|
};
|
||
|
|
||
|
IndexInteger alignup(IndexInteger n);
|
||
|
|
||
|
LebesgueOrder(GridBase *grid);
|
||
|
|
||
|
private:
|
||
|
std::vector<IndexInteger> _LebesgueReorder;
|
||
|
|
||
|
};
|
||
|
}
|
||
|
#endif
|