File util.hpp

namespace find_embedding

Typedefs

using find_embedding::distance_t = typedef long long int
using find_embedding::RANDOM = typedef default_random_engine
using find_embedding::clock = typedef std::chrono::high_resolution_clock
using find_embedding::distance_queue = typedef pairing_queue::pairing_queue_fast_reset<distance_t>
using find_embedding::int_queue = typedef pairing_queue::pairing_queue_fast_reset<int64_t>
typedef shared_ptr<LocalInteraction> find_embeddingLocalInteractionPtr

Functions

template <typename T>
void find_embeddingcollectMinima(const vector<T> &input, vector<int> &output)

Fill output with the index of all of the minimum and equal values in input.

Variables

constexpr distance_t find_embeddingmax_distance = numeric_limits<distance_t>::max()
class find_embeddingFindEmbeddingException
#include <util.hpp>

Subclassed by find_embedding::ProblemCancelledException

Public Functions

find_embedding::FindEmbeddingExceptionFindEmbeddingException(const string &m = "find embedding exception")
const string &find_embedding::FindEmbeddingExceptionwhat() const

Private Members

string find_embedding::FindEmbeddingExceptionmessage
class find_embeddingLocalInteraction
#include <util.hpp>

Interface for communication between the library and various bindings.

Any bindings of this library need to provide a concrete subclass.

Public Functions

virtual find_embedding::LocalInteraction~LocalInteraction()
void find_embedding::LocalInteractiondisplayOutput(const string &msg) const

Print a message through the local output method.

bool find_embedding::LocalInteractioncancelled(const clock::time_point stoptime) const

Check if someone is trying to cancel the embedding process.

Private Functions

virtual void find_embedding::LocalInteractiondisplayOutputImpl(const string&) const = 0

Print the string to a binding specified sink.

virtual bool find_embedding::LocalInteractiontimedOutImpl(const clock::time_point stoptime) const

Check if the embedding process has timed out.

virtual bool find_embedding::LocalInteractioncancelledImpl() const = 0

Check if someone has tried to cancel the embedding process.

class find_embeddingoptional_parameters
#include <util.hpp>

Set of parameters used to control the embedding process.

Public Functions

template <typename... Args>
void find_embedding::optional_parametersprintx(const char *format, Args... args) const
template <typename... Args>
void find_embedding::optional_parameterserror(const char *format, Args... args) const
template <typename... Args>
void find_embedding::optional_parametersmajor_info(const char *format, Args... args) const
template <typename... Args>
void find_embedding::optional_parametersminor_info(const char *format, Args... args) const
template <typename... Args>
void find_embedding::optional_parametersextra_info(const char *format, Args... args) const
template <typename... Args>
void find_embedding::optional_parametersdebug(const char *format, Args... args) const
find_embedding::optional_parametersoptional_parameters()
void find_embedding::optional_parametersseed(unsigned int randomSeed)

Public Members

LocalInteractionPtr find_embedding::optional_parameterslocalInteractionPtr

actually not controlled by user, not initialized here, but initialized in Python, MATLAB, C wrappers level

int find_embedding::optional_parametersmax_no_improvement = 10
RANDOM find_embedding::optional_parametersrng
double find_embedding::optional_parameterstimeout = 1000

Number of seconds before the process unconditionally stops.

int find_embedding::optional_parameterstries = 10
int find_embedding::optional_parametersverbose = 0
int find_embedding::optional_parametersinner_rounds = numeric_limits<int>::max()
int find_embedding::optional_parametersmax_fill = numeric_limits<int>::max()
bool find_embedding::optional_parametersreturn_overlap = false
int find_embedding::optional_parameterschainlength_patience = 2
int find_embedding::optional_parametersthreads = 1
bool find_embedding::optional_parametersskip_initialization = false
map<int, vector<int>> find_embedding::optional_parametersfixed_chains
map<int, vector<int>> find_embedding::optional_parametersinitial_chains
map<int, vector<int>> find_embedding::optional_parametersrestrict_chains
class find_embeddingProblemCancelledException : public find_embedding::FindEmbeddingException
#include <util.hpp>

Public Functions

find_embedding::ProblemCancelledExceptionProblemCancelledException(const string &m = "problem cancelled exception")