isomatch
Classes | Namespaces | Typedefs | Functions
groupEquality.h File Reference
#include "circuitTree.h"
#include <vector>
#include <unordered_map>
#include <set>

Go to the source code of this file.

Classes

class  groupEquality::TooManyPermutations
 
class  groupEquality::Permutation
 

Namespaces

 groupEquality
 

Typedefs

typedef std::vector< std::vector< CircuitTree * > > groupEquality::SigSplit
 
typedef std::unordered_map< sign_t, std::set< CircuitTree * > > groupEquality::SigSplitMapped
 

Functions

int groupEquality::factorial (int k)
 Computes k! More...
 
sign_t groupEquality::wireSignature (WireId *wire, int accuracy=-1)
 Computes the signature of a wire with given accuracy. More...
 
void groupEquality::splitOnSig (const std::vector< CircuitTree *> circuits, SigSplit &splitted, std::vector< sign_t > &signatures, int maxPermutations=-1, int accuracy=-1)
 
bool groupEquality::equalSizes (const SigSplit &fst, const SigSplit &snd)
 
bool groupEquality::equalWithPermutation (const SigSplit &leftSplit, const SigSplit &rightSplit, const Permutation &perm)
 
bool groupEquality::equal (CircuitGroup *left, CircuitGroup *right)