dejavu
Fast probabilistic symmetry detection.
Loading...
Searching...
No Matches
dejavu::ir::shared_tree Class Reference

IR tree structure. More...

#include <ir.h>

+ Collaboration diagram for dejavu::ir::shared_tree:

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_nodepick_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_nodeget_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
 

Detailed Description

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.

Definition at line 1982 of file ir.h.

Constructor & Destructor Documentation

◆ shared_tree()

dejavu::ir::shared_tree::shared_tree ( int  domain_size)
inlineexplicit

Definition at line 2001 of file ir.h.

◆ ~shared_tree()

dejavu::ir::shared_tree::~shared_tree ( )
inline

Definition at line 2246 of file ir.h.

Member Function Documentation

◆ add_node()

void dejavu::ir::shared_tree::add_node ( int  level,
limited_save data,
tree_node parent,
bool  is_base = false 
)
inline

Definition at line 2179 of file ir.h.

◆ clear_leaves()

void dejavu::ir::shared_tree::clear_leaves ( )
inline

Definition at line 2077 of file ir.h.

◆ finish_level()

void dejavu::ir::shared_tree::finish_level ( int  level)
inline

Definition at line 2200 of file ir.h.

◆ get_current_level_size()

int dejavu::ir::shared_tree::get_current_level_size ( )
inline

Definition at line 2234 of file ir.h.

◆ get_current_level_tracepos()

int dejavu::ir::shared_tree::get_current_level_tracepos ( )
inline

Definition at line 2238 of file ir.h.

◆ get_finished_up_to()

dej_nodiscard int dejavu::ir::shared_tree::get_finished_up_to ( ) const
inline

Definition at line 2222 of file ir.h.

◆ get_level()

tree_node * dejavu::ir::shared_tree::get_level ( int  level)
inline

Definition at line 2230 of file ir.h.

◆ get_level_size()

int dejavu::ir::shared_tree::get_level_size ( int  level)
inline

Definition at line 2242 of file ir.h.

◆ get_node_invariant()

std::vector< unsigned long > * dejavu::ir::shared_tree::get_node_invariant ( )
inline

Definition at line 2063 of file ir.h.

◆ initialize()

void dejavu::ir::shared_tree::initialize ( std::vector< int > &  base,
ir::limited_save root 
)
inline

Definition at line 2067 of file ir.h.

◆ introspection()

void dejavu::ir::shared_tree::introspection ( )
inline

Definition at line 2031 of file ir.h.

◆ make_node_invariant()

void dejavu::ir::shared_tree::make_node_invariant ( )
inline

Definition at line 2006 of file ir.h.

◆ mark_first_level()

void dejavu::ir::shared_tree::mark_first_level ( markset marks)
inline

Definition at line 2158 of file ir.h.

◆ pick_node_from_level()

ir::tree_node * dejavu::ir::shared_tree::pick_node_from_level ( const int  level,
int  num 
)
inline

Definition at line 2216 of file ir.h.

◆ queue_missing_node()

void dejavu::ir::shared_tree::queue_missing_node ( missing_node  node)
inline

Definition at line 2146 of file ir.h.

◆ queue_missing_node_empty()

bool dejavu::ir::shared_tree::queue_missing_node_empty ( )
inline

Definition at line 2150 of file ir.h.

◆ queue_missing_node_pop()

missing_node dejavu::ir::shared_tree::queue_missing_node_pop ( )
inline

Definition at line 2154 of file ir.h.

◆ queue_reserve()

void dejavu::ir::shared_tree::queue_reserve ( const int  n)
inline

Definition at line 2142 of file ir.h.

◆ record_add_invariant()

void dejavu::ir::shared_tree::record_add_invariant ( int  v,
unsigned long  inv 
)
inline

Definition at line 2175 of file ir.h.

◆ record_invariant()

void dejavu::ir::shared_tree::record_invariant ( int  v,
unsigned long  inv 
)
inline

Definition at line 2171 of file ir.h.

◆ reset()

bool dejavu::ir::shared_tree::reset ( std::vector< int > &  new_base,
ir::limited_save root,
bool  keep_old 
)
inline

Definition at line 2088 of file ir.h.

◆ set_finished_up_to()

void dejavu::ir::shared_tree::set_finished_up_to ( const int  new_finished_up_to)
inline

Definition at line 2226 of file ir.h.

◆ stat_leaves()

int dejavu::ir::shared_tree::stat_leaves ( ) const
inline
Returns
How many leaves were stored during random search.

Definition at line 2084 of file ir.h.

Member Data Documentation

◆ h_bfs_automorphism_pw

int dejavu::ir::shared_tree::h_bfs_automorphism_pw = 0

Definition at line 1997 of file ir.h.

◆ h_bfs_top_level_orbit

groups::orbit dejavu::ir::shared_tree::h_bfs_top_level_orbit

Definition at line 1996 of file ir.h.

◆ stored_deviation

deviation_map dejavu::ir::shared_tree::stored_deviation

stores trace deviations of a BFS level

Definition at line 1999 of file ir.h.

◆ stored_leaves

shared_leaves dejavu::ir::shared_tree::stored_leaves

stores leaves of the IR tree

Definition at line 1998 of file ir.h.


The documentation for this class was generated from the following file: