![]() |
Shamrock 2025.10.0
Astrophysical Code
|
A data structure representing a Karras Radix Tree. More...
#include <shamtree/include/shamtree/KarrasRadixTree.hpp>
Collaboration diagram for shamtree::KarrasRadixTree:Public Member Functions | |
| u32 | get_internal_cell_count () const |
| Get internal cell count. | |
| u32 | get_leaf_count () const |
| Get leaf count. | |
| u32 | get_total_cell_count () const |
| KarrasRadixTree (sham::DeviceBuffer< u32 > &&buf_lchild_id, sham::DeviceBuffer< u32 > &&buf_rchild_id, sham::DeviceBuffer< u8 > &&buf_lchild_flag, sham::DeviceBuffer< u8 > &&buf_rchild_flag, sham::DeviceBuffer< u32 > &&buf_endrange, u32 tree_depth) | |
| CTOR. | |
| KarrasTreeTraverser | get_structure_traverser () const |
| KarrasTreeTraverserHost | get_structure_traverser_host () const |
| bool | is_root_leaf () const |
| is the root a leaf ? | |
Static Public Member Functions | |
| static KarrasRadixTree | make_empty (sham::DeviceScheduler_ptr dev_sched) |
Public Attributes | |
| sham::DeviceBuffer< u32 > | buf_lchild_id |
| left child id (size = internal_count) | |
| sham::DeviceBuffer< u32 > | buf_rchild_id |
| right child id (size = internal_count) | |
| sham::DeviceBuffer< u8 > | buf_lchild_flag |
| left child flag (size = internal_count) | |
| sham::DeviceBuffer< u8 > | buf_rchild_flag |
| right child flag (size = internal_count) | |
| sham::DeviceBuffer< u32 > | buf_endrange |
| endrange (size = internal_count) | |
| u32 | tree_depth |
A data structure representing a Karras Radix Tree.
This class encapsulates the structure of a Karras Radix Tree, which is used for efficiently handling hierarchical data based on Morton codes. It manages buffers for left and right child identifiers and flags, as well as end ranges.
Definition at line 37 of file KarrasRadixTree.hpp.
|
inline |
CTOR.
Definition at line 57 of file KarrasRadixTree.hpp.
|
inline |
Get internal cell count.
Definition at line 41 of file KarrasRadixTree.hpp.
Here is the call graph for this function:
|
inline |
Get leaf count.
Definition at line 44 of file KarrasRadixTree.hpp.
Here is the call graph for this function:
|
inline |
Definition at line 68 of file KarrasRadixTree.hpp.
|
inline |
Definition at line 77 of file KarrasRadixTree.hpp.
|
inline |
Definition at line 46 of file KarrasRadixTree.hpp.
|
inline |
is the root a leaf ?
Definition at line 97 of file KarrasRadixTree.hpp.
Here is the call graph for this function:
|
inlinestatic |
Definition at line 86 of file KarrasRadixTree.hpp.
| sham::DeviceBuffer<u32> shamtree::KarrasRadixTree::buf_endrange |
endrange (size = internal_count)
Definition at line 52 of file KarrasRadixTree.hpp.
| sham::DeviceBuffer<u8> shamtree::KarrasRadixTree::buf_lchild_flag |
left child flag (size = internal_count)
Definition at line 50 of file KarrasRadixTree.hpp.
| sham::DeviceBuffer<u32> shamtree::KarrasRadixTree::buf_lchild_id |
left child id (size = internal_count)
Definition at line 48 of file KarrasRadixTree.hpp.
| sham::DeviceBuffer<u8> shamtree::KarrasRadixTree::buf_rchild_flag |
right child flag (size = internal_count)
Definition at line 51 of file KarrasRadixTree.hpp.
| sham::DeviceBuffer<u32> shamtree::KarrasRadixTree::buf_rchild_id |
right child id (size = internal_count)
Definition at line 49 of file KarrasRadixTree.hpp.
| u32 shamtree::KarrasRadixTree::tree_depth |
Definition at line 54 of file KarrasRadixTree.hpp.