isomatch
|
#include "subcircMatch.h"
#include <map>
#include <set>
#include <unordered_map>
#include <vector>
#include <list>
#include <stdexcept>
#include <algorithm>
#include "circuitGroup.h"
#include "dyn_bitset.h"
#include "logging.h"
#include "debug.h"
Functions | |
std::vector< MatchResult > | matchSubcircuit (CircuitGroup *needle, CircuitGroup *haystack) |
std::vector<MatchResult> matchSubcircuit | ( | CircuitGroup * | needle, |
CircuitGroup * | haystack | ||
) |
Finds every match of the components of needle
in haystack
, that is, every subgraph of haystack
formally matching needle
. The results are always non-overlapping; whenever multiple potential matches overlap, one of them only is arbitrarily picked and returned.
needle | Subgroup to find |
haystack | Group to be searched in |