Namespace busclique

namespace busclique

Typedefs

using biclique_result_cache = std::unordered_map<pair<size_t, size_t>, value_t, craphash>
using chimera_spec = topo_spec_cellmask<chimera_spec_base>
using pegasus_spec = topo_spec_cellmask<pegasus_spec_base>

Enums

enum corner

Values:

enumerator NW
enumerator NE
enumerator SW
enumerator SE
enumerator NWskip
enumerator NEskip
enumerator SWskip
enumerator SEskip
enumerator skipmask
enumerator shift
enumerator mask
enumerator none

Functions

template<typename topo_spec>
void best_bicliques(const topo_spec &topo, const vector<size_t> &nodes, const vector<pair<size_t, size_t>> &edges, vector<pair<pair<size_t, size_t>, vector<vector<size_t>>>> &embs)
template<typename topo_spec>
void best_bicliques(topo_cache<topo_spec> &topology, vector<pair<pair<size_t, size_t>, vector<vector<size_t>>>> &embs)
template<typename T>
size_t get_maxlen(vector<T> &emb, size_t size)
template<typename topo_spec>
bool find_clique_nice(const cell_cache<topo_spec>&, size_t size, vector<vector<size_t>> &emb, size_t &min_width, size_t &max_width, size_t &max_length)
template<>
bool find_clique_nice(const cell_cache<chimera_spec> &cells, size_t size, vector<vector<size_t>> &emb, size_t&, size_t&, size_t &max_length)
template<>
bool find_clique_nice(const cell_cache<pegasus_spec> &cells, size_t size, vector<vector<size_t>> &emb, size_t&, size_t&, size_t &max_length)
template<typename topo_spec>
bool find_clique(const topo_spec &topo, const vector<size_t> &nodes, const vector<pair<size_t, size_t>> &edges, size_t size, vector<vector<size_t>> &emb)
template<typename topo_spec>
bool find_clique(topo_cache<topo_spec> &topology, size_t size, vector<vector<size_t>> &emb)
template<typename topo_spec>
bool find_clique_nice(const topo_spec &topo, const vector<size_t> &nodes, const vector<pair<size_t, size_t>> &edges, size_t size, vector<vector<size_t>> &emb)
template<typename topo_spec>
void short_clique(const topo_spec&, const vector<size_t> &nodes, const vector<pair<size_t, size_t>> &edges, vector<vector<size_t>> &emb)
template<typename topo_spec>
void best_cliques(topo_cache<topo_spec> &topology, vector<vector<vector<size_t>>> &embs, vector<vector<size_t>> &emb_1)
bool find_generic_1(const vector<size_t> &nodes, vector<vector<size_t>> &emb)
bool find_generic_2(const vector<pair<size_t, size_t>> &edges, vector<vector<size_t>> &emb)
bool find_generic_3(const vector<pair<size_t, size_t>> &edges, vector<vector<size_t>> &emb)
bool find_generic_4(const vector<pair<size_t, size_t>> &edges, vector<vector<size_t>> &emb)
size_t binom(size_t x)

Variables

const vector<vector<size_t>> empty_emb
const uint8_t popcount[256] = {0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8}
const uint8_t first_bit[256] = {0, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0}
const uint8_t mask_bit[8] = {1, 2, 4, 8, 16, 32, 64, 128}
const uint16_t mask_subsets[8] = {1, 2, 4, 8, 16, 32, 64, 128}
const std::set<size_t> _emptyset
template<typename topo_spec>
class biclique_cache
#include <biclique_cache.hpp>
template<typename topo_spec>
class biclique_yield_cache
#include <biclique_cache.hpp>
class iterator
#include <biclique_cache.hpp>
template<typename topo_spec>
class bundle_cache
#include <bundle_cache.hpp>
template<typename topo_spec>
class cell_cache
#include <cell_cache.hpp>
class chimera_spec_base : public busclique::topo_spec_base
#include <util.hpp>
template<typename topo_spec>
class clique_cache
#include <clique_cache.hpp>
template<typename topo_spec>
class clique_iterator
#include <clique_cache.hpp>
template<typename topo_spec>
class clique_yield_cache
#include <clique_cache.hpp>
class craphash
#include <find_biclique.hpp>
class ignore_badmask
#include <util.hpp>
class maxcache
#include <clique_cache.hpp>
class pegasus_spec_base : public busclique::topo_spec_base
#include <util.hpp>
class populate_badmask
#include <util.hpp>
template<typename topo_spec>
class topo_cache
#include <topo_cache.hpp>
class topo_spec_base
#include <util.hpp>

Subclassed by busclique::chimera_spec_base, busclique::pegasus_spec_base

template<typename topo_spec>
class topo_spec_cellmask : public topo_spec
#include <util.hpp>
class yieldcache
#include <biclique_cache.hpp>
class zerocache
#include <clique_cache.hpp>