File clique_cache.hpp#
-
namespace busclique
Variables
-
const vector<vector<size_t>> empty_emb#
-
class maxcache
- #include <clique_cache.hpp>
Public Functions
-
inline maxcache(size_t r, size_t c, size_t *m)#
Private Members
-
size_t *mem#
-
inline maxcache(size_t r, size_t c, size_t *m)#
-
class zerocache
- #include <clique_cache.hpp>
-
template<typename topo_spec>
class clique_iterator - #include <clique_cache.hpp>
Public Functions
-
inline clique_iterator(const cell_cache<topo_spec> &c, const clique_cache<topo_spec> &q)#
-
inline bool next(vector<vector<size_t>> &e)#
-
inline clique_iterator(const cell_cache<topo_spec> &c, const clique_cache<topo_spec> &q)#
-
template<typename topo_spec>
class clique_cache - #include <clique_cache.hpp>
Public Functions
-
clique_cache(const clique_cache&) = delete#
-
clique_cache(clique_cache&&) = delete#
-
inline clique_cache(const cell_cache<topo_spec> &c, const bundle_cache<topo_spec> &b, size_t w)#
-
template<typename C>
inline clique_cache(const cell_cache<topo_spec> &c, const bundle_cache<topo_spec> &b, size_t w, C &check)#
-
inline ~clique_cache()#
-
inline void print()#
-
inline bool extract_solution(vector<vector<size_t>> &emb) const#
Private Functions
-
inline size_t memrows(size_t i) const#
-
inline size_t memcols(size_t i) const#
-
inline size_t memsize(size_t i) const#
-
inline size_t memsize() const#
-
template<typename T, typename C, typename ...Corners>
inline void extend_cache(const T &prev, size_y h, size_x w, C &check, Corners... corners)#
-
template<typename T, typename C, typename ...Corners>
inline void extend_cache(const T &prev, maxcache &next, size_y y0, size_y y1, size_x x0, size_x x1, C &check, corner c, Corners... corners)#
Private Members
-
const cell_cache<topo_spec> &cells#
-
const bundle_cache<topo_spec> &bundles#
-
const size_t width#
-
size_t *mem#
Private Static Functions
Friends
- friend class clique_iterator< topo_spec >
-
clique_cache(const clique_cache&) = delete#
-
template<typename topo_spec>
class clique_yield_cache - #include <clique_cache.hpp>
Public Functions
-
inline clique_yield_cache(const cell_cache<topo_spec> &cells)#
-
inline const vector<vector<vector<size_t>>> &embeddings()#
Public Static Functions
-
static inline void get_length_range(const pegasus_spec &topo, size_t width, size_t &min_length, size_t &max_length)#
Private Functions
-
inline size_t compute_length_bound(const zephyr_spec &topo)#
-
inline size_t compute_length_bound(const pegasus_spec &topo)#
-
inline size_t compute_length_bound(const chimera_spec &topo)#
-
inline size_t emb_max_length(const vector<vector<size_t>> &emb) const#
-
inline void process_cliques(const clique_cache<topo_spec> &cliques)#
-
inline void compute_cache_width_1(const cell_cache<topo_spec> &cells, const bundle_cache<topo_spec> &bundles)#
-
inline void compute_cache_width_gt_1(const cell_cache<pegasus_spec> &cells, const bundle_cache<pegasus_spec> &bundles)#
-
inline void compute_cache_width_gt_1(const cell_cache<chimera_spec> &cells, const bundle_cache<chimera_spec> &bundles)#
-
inline void compute_cache_width_gt_1(const cell_cache<zephyr_spec> &cells, const bundle_cache<zephyr_spec> &bundles)#
-
inline void compute_cache(const cell_cache<zephyr_spec> &cells)#
-
inline void compute_cache(const cell_cache<chimera_spec> &cells)#
-
inline void compute_cache(const cell_cache<pegasus_spec> &cells)#
-
inline clique_yield_cache(const cell_cache<topo_spec> &cells)#
-
const vector<vector<size_t>> empty_emb#