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

Creates cell selectors. More...

#include <ir.h>

Public Types

enum  selector_style { SELECT_SPARSE , SELECT_COMB , SELECT_SMALL , SELECT_DRY_LAND }
 

Public Member Functions

int cell_selector (const coloring *c, const int base_pos)
 
std::function< type_selector_hook > * get_selector_hook ()
 
big_number get_ir_size_estimate ()
 
void make_cell_selector (sgraph *g, controller *state, controller *state_probe, const selector_style style, const int h_seed, const int h_budget)
 
void find_sparse_optimized_base (sgraph *g, controller *state)
 
void find_first_base (sgraph *g, controller *state)
 
void find_sparse_optimized_base_recurse (sgraph *g, controller *state, int perturbe)
 
void find_small_optimized_base (sgraph *g, controller *state, int perturbe)
 
void find_combinatorial_optimized_base (sgraph *g, controller *state)
 
void find_combinatorial_optimized_base_recurse (sgraph *g, controller *state, int perturbe)
 
void find_early_trace_deviation_base (sgraph *g, controller *state, controller *state_probe, int perturbe)
 

Detailed Description

Creates cell selectors.

Heuristics which enable the creation of different cell selectors, as well as moving an controller to a leaf of the IR tree.

Definition at line 1140 of file ir.h.

Member Enumeration Documentation

◆ selector_style

Enumerator
SELECT_SPARSE 
SELECT_COMB 
SELECT_SMALL 
SELECT_DRY_LAND 

Definition at line 1176 of file ir.h.

Member Function Documentation

◆ cell_selector()

int dejavu::ir::cell_selector_factory::cell_selector ( const coloring c,
const int  base_pos 
)
inline

Cell selector, chooses first non-trivial color class, unless color class from stored base is applicable.

Parameters
cColoring from which a color class shall be selected.
base_posCurrent position in base.

Definition at line 1185 of file ir.h.

◆ find_combinatorial_optimized_base()

void dejavu::ir::cell_selector_factory::find_combinatorial_optimized_base ( sgraph g,
controller state 
)
inline

Definition at line 1507 of file ir.h.

◆ find_combinatorial_optimized_base_recurse()

void dejavu::ir::cell_selector_factory::find_combinatorial_optimized_base_recurse ( sgraph g,
controller state,
int  perturbe 
)
inline

Find a base/selector for a given graph g from state state. Attemtps to find a good base for combinatorial graphs solved by bfs/random walks (i.e., by choosing large colors).

Parameters
RA refinement workspace.
gThe graph.
stateThe IR state from which a base is created.

Definition at line 1559 of file ir.h.

◆ find_early_trace_deviation_base()

void dejavu::ir::cell_selector_factory::find_early_trace_deviation_base ( sgraph g,
controller state,
controller state_probe,
int  perturbe 
)
inline

Find a base/selector for a given graph g from state state. Attemtps to find a good base for combinatorial graphs solved by bfs/random walks (i.e., by choosing large colors).

Parameters
RA refinement workspace.
gThe graph.
stateThe IR state from which a base is created.

Definition at line 1615 of file ir.h.

◆ find_first_base()

void dejavu::ir::cell_selector_factory::find_first_base ( sgraph g,
controller state 
)
inline

Definition at line 1368 of file ir.h.

◆ find_small_optimized_base()

void dejavu::ir::cell_selector_factory::find_small_optimized_base ( sgraph g,
controller state,
int  perturbe 
)
inline

Find a base/selector for a given graph g from state state. Attempts to find a with small color classes.

Parameters
RA refinement workspace.
gThe graph.
stateThe IR state from which a base is created.

Definition at line 1477 of file ir.h.

◆ find_sparse_optimized_base()

void dejavu::ir::cell_selector_factory::find_sparse_optimized_base ( sgraph g,
controller state 
)
inline

Find a base/selector for a given graph g from state state. Attemtps to find a good base for simple, sparse graphs.

Parameters
RA refinement workspace.
gThe graph.
stateThe IR state from which a base is created.

Definition at line 1284 of file ir.h.

◆ find_sparse_optimized_base_recurse()

void dejavu::ir::cell_selector_factory::find_sparse_optimized_base_recurse ( sgraph g,
controller state,
int  perturbe 
)
inline

Find a base/selector for a given graph g from state state. Attemtps to find a good base for simple, sparse graphs.

Parameters
RA refinement workspace.
gThe graph.
stateThe IR state from which a base is created.

Definition at line 1407 of file ir.h.

◆ get_ir_size_estimate()

big_number dejavu::ir::cell_selector_factory::get_ir_size_estimate ( )
inline
Returns
estimate for how large the IR tree of the last computed selector is

Definition at line 1216 of file ir.h.

◆ get_selector_hook()

std::function< type_selector_hook > * dejavu::ir::cell_selector_factory::get_selector_hook ( )
inline
Returns
A selector hook based on the saved base and configured dynamic selector.

Definition at line 1207 of file ir.h.

◆ make_cell_selector()

void dejavu::ir::cell_selector_factory::make_cell_selector ( sgraph g,
controller state,
controller state_probe,
const selector_style  style,
const int  h_seed,
const int  h_budget 
)
inline

Creates and stores a new cell selector.

Parameters
gthe graph
stateir controller that is navigated to the new target leaf
state_probeir controller used for auxiliary probing
h_seedchooses strategy of the new cell selector
h_budgetavailable budget

Definition at line 1229 of file ir.h.


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