drawings_of_cliques
smart_permutations Struct Reference

Structure to go through only needed fingerprints. First try all rellabilings of rotation producing "12345" and then all producing "15432". Then move the another vertex. More...

#include <functions.hpp>

Public Member Functions

string create_permutation (const string &rotation1, const string &roration2)
 
 smart_permutations (const string &fingerprint, int number_of_vertices)
 
string next ()
 

Public Attributes

string fingerprint
 
int number_of_vertices
 
bool done = false
 
string first_rotation
 
string result
 
bool invers = false
 
int counter = 0
 
int counter_rotation = 0
 

Detailed Description

Structure to go through only needed fingerprints. First try all rellabilings of rotation producing "12345" and then all producing "15432". Then move the another vertex.

This is equivalent to first try all posible relabeling to get "12345" and then the same for inverse. Altough we want inverse rotation, in find_canonic_fingerprint we try inverse, therefore from relabeling "15432" we get also "12345".

Constructor & Destructor Documentation

◆ smart_permutations()

smart_permutations::smart_permutations ( const string &  fingerprint,
int  number_of_vertices 
)
inline

Member Function Documentation

◆ create_permutation()

string smart_permutations::create_permutation ( const string &  rotation1,
const string &  roration2 
)
inline

◆ next()

string smart_permutations::next ( )
inline

Member Data Documentation

◆ counter

int smart_permutations::counter = 0

◆ counter_rotation

int smart_permutations::counter_rotation = 0

◆ done

bool smart_permutations::done = false

◆ fingerprint

string smart_permutations::fingerprint

◆ first_rotation

string smart_permutations::first_rotation

◆ invers

bool smart_permutations::invers = false

◆ number_of_vertices

int smart_permutations::number_of_vertices

◆ result

string smart_permutations::result

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