UnCoVer (Using Coverability for Verification)
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | List of all members
SignatureCreater Class Reference

The SignatureCreater provides functions to generate signatures for Hypergraphs. More...

#include <SignatureCreater.h>

Public Member Functions

virtual ~SignatureCreater ()
 Destroys this SignatureCreater.
 

Static Public Member Functions

static PartSig createHGSignature (Hypergraph const &graph, HGSignature &signature)
 Computes the signature for a Hypergraph. More...
 

Private Member Functions

 SignatureCreater ()
 This constructor cannot be used.
 

Static Private Member Functions

static PartSig hashFromString (string s)
 Computes a hash value for a string. More...
 
static PartSig newCert (PartSig const &old, string label, vector< PartSig > const &neighborCert)
 Computes a hash value for an edge based on its label and attached vertices. More...
 

Detailed Description

The SignatureCreater provides functions to generate signatures for Hypergraphs.

A signature is a hash satisfying that two Hypergraphs are isomorphic if their signatures are equal. The other way does not necessarily hold!

See Also
Hypergraph
HGSignature
Author
Jan Stückrath
Marvin Heumüller

Member Function Documentation

PartSig createHGSignature ( Hypergraph const &  graph,
HGSignature signature 
)
static

Computes the signature for a Hypergraph.

The current content of the given 'signature' parameter is deleted and replaced by a detailed signature. A shorter signature is returned.

Parameters
graphthe Hypergraph for which the signature will be created
signaturea container to store the computed (detailed) signature
Returns
a short signature
PartSig hashFromString ( string  s)
staticprivate

Computes a hash value for a string.

This function uses the ELF hash function to generate hash values for labels of edges.

Parameters
sthe string to be hashed
Returns
a hash value
PartSig newCert ( PartSig const &  old,
string  label,
vector< PartSig > const &  neighborCert 
)
staticprivate

Computes a hash value for an edge based on its label and attached vertices.

Parameters
oldthe old hash of the edge (usually the a hash of the label)
labelthe label of the edge
neighborCertthe hash values of each attached vertices
Returns
a hash of the edge

The documentation for this class was generated from the following files: