abc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
rpo.h
Go to the documentation of this file.
1 /**CFile****************************************************************
2 
3  FileName [rpo.h]
4 
5  SystemName [ABC: Logic synthesis and verification system.]
6 
7  PackageName [RPO]
8 
9  Synopsis [Rpo Header]
10 
11  Author [Mayler G. A. Martins / Vinicius Callegaro]
12 
13  Affiliation [UFRGS]
14 
15  Date [Ver. 1.0. Started - May 08, 2013.]
16 
17  Revision [$Id: rpo.h,v 1.00 2013/05/08 00:00:00 mgamartins Exp $]
18 
19 ***********************************************************************/
20 
21 #ifndef ABC__bool__rpo__rpo_h
22 #define ABC__bool__rpo__rpo_h
23 
24 ////////////////////////////////////////////////////////////////////////
25 /// INCLUDES ///
26 ////////////////////////////////////////////////////////////////////////
27 
28 #include "literal.h"
29 
31 
32 ////////////////////////////////////////////////////////////////////////
33 /// DECLARATIONS ///
34 ////////////////////////////////////////////////////////////////////////
35 
37 
39  unsigned long visited : 1;
40  unsigned long connectionType : 2;
41  unsigned long reserved : 1;
42  unsigned long idx1 : 30;
43  unsigned long idx2 : 30;
44 };
45 
46 void Rpo_PrintEdge(Rpo_LCI_Edge_t* edge);
47 int Rpo_CheckANDGroup(Literal_t* lit1, Literal_t* lit2, int nVars);
48 int Rpo_CheckORGroup(Literal_t* lit1, Literal_t* lit2, int nVars);
49 Literal_t* Rpo_Factorize(unsigned* target, int nVars, int nThreshold, int verbose);
50 Literal_t* Rpo_Recursion(unsigned* target, Literal_t** vecLit, int nLit, int nLitCount, int nVars, int* thresholdCount, int thresholdMax, int verbose);
51 Rpo_LCI_Edge_t* Rpo_CreateEdge(Operator_t op, int i, int j, int* vertexDegree);
52 int Rpo_computeMinEdgeCost(Rpo_LCI_Edge_t** edges, int edgeCount, int* vertexDegree);
53 
55 
56 #endif
57 
58 ////////////////////////////////////////////////////////////////////////
59 /// END OF FILE ///
60 ////////////////////////////////////////////////////////////////////////
61 
typedefABC_NAMESPACE_HEADER_START struct Rpo_LCI_Edge_t_ Rpo_LCI_Edge_t
INCLUDES ///.
Definition: rpo.h:36
int Rpo_computeMinEdgeCost(Rpo_LCI_Edge_t **edges, int edgeCount, int *vertexDegree)
Definition: rpo.c:132
Literal_t * Rpo_Factorize(unsigned *target, int nVars, int nThreshold, int verbose)
Definition: rpo.c:174
void Rpo_PrintEdge(Rpo_LCI_Edge_t *edge)
Definition: rpo.c:159
unsigned long idx1
Definition: rpo.h:42
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
Definition: abc_global.h:105
unsigned long reserved
Definition: rpo.h:41
#define ABC_NAMESPACE_HEADER_END
Definition: abc_global.h:106
Rpo_LCI_Edge_t * Rpo_CreateEdge(Operator_t op, int i, int j, int *vertexDegree)
Definition: rpo.c:121
int Rpo_CheckORGroup(Literal_t *lit1, Literal_t *lit2, int nVars)
Definition: rpo.c:106
unsigned long visited
Definition: rpo.h:39
Literal_t * Rpo_Recursion(unsigned *target, Literal_t **vecLit, int nLit, int nLitCount, int nVars, int *thresholdCount, int thresholdMax, int verbose)
Definition: rpo.c:228
unsigned long connectionType
Definition: rpo.h:40
unsigned long idx2
Definition: rpo.h:43
int Rpo_CheckANDGroup(Literal_t *lit1, Literal_t *lit2, int nVars)
FUNCTION DEFINITIONS ///.
Definition: rpo.c:71
Operator_t
INCLUDES ///.
Definition: literal.h:42