9 #include <unordered_map> 13 typedef std::vector<std::vector<CircuitTree*> >
SigSplit;
23 const PermElem& operator[](
sign_t index)
const;
29 typedef std::vector<PermElem> PermStruct;
31 void mkIdentity(std::vector<int>& vect);
32 inline PermStruct::iterator lastIter();
35 PermStruct::iterator nextChange;
54 void splitOnSig(
const std::vector<CircuitTree*> circuits,
56 std::vector<sign_t>& signatures,
57 int maxPermutations = -1,
67 const SigSplit& leftSplit,
const SigSplit& rightSplit,
sign_t wireSignature(WireId *wire, int accuracy)
Computes the signature of a wire with given accuracy.
Definition: groupEquality.cpp:51
Definition: groupEquality.cpp:11
bool equal(CircuitGroup *left, CircuitGroup *right)
Definition: groupEquality.cpp:193
std::vector< std::vector< CircuitTree * > > SigSplit
Definition: groupEquality.h:13
std::vector< int > PermElem
Definition: groupEquality.h:20
void splitOnSig(const vector< CircuitTree *> circuits, SigSplit &splitted, std::vector< sign_t > &signatures, int maxPermutations, int accuracy)
Definition: groupEquality.cpp:66
Definition: groupEquality.h:18
Definition: circuitGroup.h:47
Definition: groupEquality.h:16
int factorial(int k)
Computes k!
Definition: groupEquality.cpp:44
std::unordered_map< sign_t, std::set< CircuitTree * > > SigSplitMapped
Definition: groupEquality.h:14
bool equalWithPermutation(const SigSplit &leftSplit, const SigSplit &rightSplit, const Permutation &perm)
Definition: groupEquality.cpp:115
bool equalSizes(const SigSplit &fst, const SigSplit &snd)
Definition: groupEquality.cpp:101
uint64_t sign_t
Type of a circuit signature.
Definition: isomatch.h:26