dejavu
Fast probabilistic symmetry detection.
|
IR tree structure. More...
#include <ir.h>
Public Member Functions | |
shared_tree (int domain_size) | |
void | make_node_invariant () |
void | introspection () |
std::vector< unsigned long > * | get_node_invariant () |
void | initialize (std::vector< int > &base, ir::limited_save *root) |
void | clear_leaves () |
int | stat_leaves () const |
bool | reset (std::vector< int > &new_base, ir::limited_save *root, bool keep_old) |
void | queue_reserve (const int n) |
void | queue_missing_node (missing_node node) |
bool | queue_missing_node_empty () |
missing_node | queue_missing_node_pop () |
void | mark_first_level (markset &marks) |
void | record_invariant (int v, unsigned long inv) |
void | record_add_invariant (int v, unsigned long inv) |
void | add_node (int level, limited_save *data, tree_node *parent, bool is_base=false) |
void | finish_level (int level) |
ir::tree_node * | pick_node_from_level (const int level, int num) |
dej_nodiscard int | get_finished_up_to () const |
void | set_finished_up_to (const int new_finished_up_to) |
tree_node * | get_level (int level) |
int | get_current_level_size () |
int | get_current_level_tracepos () |
int | get_level_size (int level) |
~shared_tree () | |
Public Attributes | |
groups::orbit | h_bfs_top_level_orbit |
int | h_bfs_automorphism_pw = 0 |
shared_leaves | stored_leaves |
deviation_map | stored_deviation |
IR tree structure.
Datastructure to explicitly store parts of an IR tree, such as a level-wise store, leaf store, as well as further information used for pruning in BFS.
Can be used across multiple threads.
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
groups::orbit dejavu::ir::shared_tree::h_bfs_top_level_orbit |
deviation_map dejavu::ir::shared_tree::stored_deviation |
shared_leaves dejavu::ir::shared_tree::stored_leaves |