|
isomatch
|
Classes | |
| class | Permutation |
| class | TooManyPermutations |
Typedefs | |
| typedef std::vector< std::vector< CircuitTree * > > | SigSplit |
| typedef std::unordered_map< sign_t, std::set< CircuitTree * > > | SigSplitMapped |
Functions | |
| int | factorial (int k) |
| Computes k! More... | |
| sign_t | wireSignature (WireId *wire, int accuracy=-1) |
| Computes the signature of a wire with given accuracy. More... | |
| void | splitOnSig (const vector< CircuitTree *> circuits, SigSplit &splitted, std::vector< sign_t > &signatures, int maxPermutations, int accuracy) |
| bool | equalSizes (const SigSplit &fst, const SigSplit &snd) |
| bool | equalWithPermutation (const SigSplit &leftSplit, const SigSplit &rightSplit, const Permutation &perm) |
| bool | equal (CircuitGroup *left, CircuitGroup *right) |
| void | splitOnSig (const std::vector< CircuitTree *> circuits, SigSplit &splitted, std::vector< sign_t > &signatures, int maxPermutations=-1, int accuracy=-1) |
Contains a few useful functions to check whether a group is equal to another group (formally). Included for CircuitGroup.
| typedef std::vector<std::vector<CircuitTree*> > groupEquality::SigSplit |
| typedef std::unordered_map<sign_t, std::set<CircuitTree*> > groupEquality::SigSplitMapped |
| bool groupEquality::equal | ( | CircuitGroup * | left, |
| CircuitGroup * | right | ||
| ) |
Checks that both fst and snd have the same keys, and sets of equal sizes for each key.
| bool groupEquality::equalWithPermutation | ( | const SigSplit & | leftSplit, |
| const SigSplit & | rightSplit, | ||
| const Permutation & | perm | ||
| ) |
| int groupEquality::factorial | ( | int | k | ) |
Computes k!
| void groupEquality::splitOnSig | ( | const std::vector< CircuitTree *> | circuits, |
| SigSplit & | splitted, | ||
| std::vector< sign_t > & | signatures, | ||
| int | maxPermutations = -1, |
||
| int | accuracy = -1 |
||
| ) |
Splits a set of circuits into sets of circuits with the same signatures
| circuits | The wires to consider |
| splitted | A reference to the vector that will be filled |
| signatures | Will be filled with the list of signatures of each chunk from splitted |
| maxPermutations | Stop if the number of permutations exceeds this parameter, and raise TooManyPermutations |
| accuracy | Level of accuracy of the signature function, or -1 for the default value |
| void groupEquality::splitOnSig | ( | const vector< CircuitTree *> | circuits, |
| SigSplit & | splitted, | ||
| std::vector< sign_t > & | signatures, | ||
| int | maxPermutations, | ||
| int | accuracy | ||
| ) |
1.8.13