1 | /**CHeaderFile***************************************************************** |
---|
2 | |
---|
3 | FileName [satInt.h] |
---|
4 | |
---|
5 | PackageName [sat] |
---|
6 | |
---|
7 | Synopsis [] |
---|
8 | |
---|
9 | Description [Internal data structures of the sat package.] |
---|
10 | |
---|
11 | SeeAlso [] |
---|
12 | |
---|
13 | Author [HoonSang Jin ] |
---|
14 | |
---|
15 | Copyright [ This file was created at the University of Colorado at |
---|
16 | Boulder. The University of Colorado at Boulder makes no warranty |
---|
17 | about the suitability of this software for any purpose. It is |
---|
18 | presented on an AS IS basis.] |
---|
19 | |
---|
20 | Revision [$Id: satInt.h,v 1.19 2009/04/11 18:26:37 fabio Exp $] |
---|
21 | |
---|
22 | ******************************************************************************/ |
---|
23 | |
---|
24 | |
---|
25 | #ifndef _SATINT |
---|
26 | #define _SATINT |
---|
27 | |
---|
28 | /*---------------------------------------------------------------------------*/ |
---|
29 | /* Nested includes */ |
---|
30 | /*---------------------------------------------------------------------------*/ |
---|
31 | #include "baig.h" |
---|
32 | #include "sat.h" |
---|
33 | |
---|
34 | /*---------------------------------------------------------------------------*/ |
---|
35 | /* Constant declarations */ |
---|
36 | /*---------------------------------------------------------------------------*/ |
---|
37 | |
---|
38 | #define LATEST_ACTIVITY_DELETION 0x1 |
---|
39 | #define MAX_UNRELEVANCE_DELETION 0x2 |
---|
40 | #define SIMPLE_LATEST_DELETION 0x4 |
---|
41 | |
---|
42 | /*Bing:*/ |
---|
43 | #define RESET_LC 0xfffffffe |
---|
44 | #define RESET_DVH 0xfffffffd |
---|
45 | #define SCOREUNIT 100000 |
---|
46 | |
---|
47 | /*---------------------------------------------------------------------------*/ |
---|
48 | /* Type declarations */ |
---|
49 | /*---------------------------------------------------------------------------*/ |
---|
50 | |
---|
51 | |
---|
52 | /*---------------------------------------------------------------------------*/ |
---|
53 | /* Structure declarations */ |
---|
54 | /*---------------------------------------------------------------------------*/ |
---|
55 | |
---|
56 | /**Struct********************************************************************** |
---|
57 | |
---|
58 | Synopsis [sat option] |
---|
59 | |
---|
60 | Description [] |
---|
61 | |
---|
62 | ******************************************************************************/ |
---|
63 | |
---|
64 | /*---------------------------------------------------------------------------*/ |
---|
65 | /* Variable declarations */ |
---|
66 | /*---------------------------------------------------------------------------*/ |
---|
67 | |
---|
68 | |
---|
69 | /*---------------------------------------------------------------------------*/ |
---|
70 | /* Macro declarations */ |
---|
71 | /*---------------------------------------------------------------------------*/ |
---|
72 | |
---|
73 | |
---|
74 | /*---------------------------------------------------------------------------*/ |
---|
75 | /* Function prototypes */ |
---|
76 | /*---------------------------------------------------------------------------*/ |
---|
77 | |
---|
78 | EXTERN satLevel_t * sat_GetDecision( satManager_t *cm, int level); |
---|
79 | EXTERN satArray_t * sat_ArrayAlloc(long number); |
---|
80 | EXTERN int sat_ImplyStop( satManager_t *cm, satLevel_t *d, long v, long left, long right); |
---|
81 | EXTERN int sat_ImplySplit( satManager_t *cm, satLevel_t *d, long v, long left, long right); |
---|
82 | EXTERN int sat_ImplyConflict( satManager_t *cm, satLevel_t *d, long v, long left, long right); |
---|
83 | EXTERN int sat_ImplyLeftForward( satManager_t *cm, satLevel_t *d, long v, long left, long right); |
---|
84 | EXTERN int sat_ImplyRightForward( satManager_t *cm, satLevel_t *d, long v, long left, long right); |
---|
85 | EXTERN int sat_ImplyForwardOne( satManager_t *cm, satLevel_t *d, long v, long left, long right); |
---|
86 | EXTERN int sat_ImplyPropRight( satManager_t *cm, satLevel_t *d, long v, long left, long right); |
---|
87 | EXTERN int sat_ImplyPropRightOne( satManager_t *cm, satLevel_t *d, long v, long left, long right); |
---|
88 | EXTERN int sat_ImplyPropLeft( satManager_t *cm, satLevel_t *d, long v, long left, long right); |
---|
89 | EXTERN int sat_ImplyPropLeftOne( satManager_t *cm, satLevel_t *d, long v, long left, long right); |
---|
90 | EXTERN int sat_ImplyPropLeftRight( satManager_t *cm, satLevel_t *d, long v, long left, long right); |
---|
91 | EXTERN satQueue_t * sat_CreateQueue( long MaxElements ); |
---|
92 | EXTERN satStatistics_t * sat_InitStatistics(void); |
---|
93 | EXTERN int sat_BacktrackWithAdditionalTest( satManager_t *cm, int level); |
---|
94 | EXTERN satLinearHead_t * sat_CreateLinearHead( satManager_t *cm, int flag); |
---|
95 | EXTERN satLinearCluster_t * sat_CreateCluster( satLinearHead_t *head, satLinearElem_t *e1, satLinearElem_t *e2, int flagIndex, int *idArr); |
---|
96 | EXTERN void sat_ExtractAssignmentFromBDD( satLinearHead_t *head, DdManager *mgr, satArray_t *arr, DdNode *cube); |
---|
97 | EXTERN DdNode *sat_CofactorBDDArray( satLinearHead_t *head, DdManager *mgr, DdNode *l1, satArray_t *satArr); |
---|
98 | EXTERN char * sat_RemoveSpace(char *line); |
---|
99 | EXTERN char * sat_CopyWord(char *lp, char *word); |
---|
100 | EXTERN satLinearHead_t * sat_CreateHeadForUIP(satManager_t *cm); |
---|
101 | EXTERN DdNode * sat_BuildBDDForClause( satManager_t *cm, satLinearHead_t *head, long v, int includeLevel, satArray_t *arr); |
---|
102 | EXTERN int sat_GetUIPFromGivenBDD(satLinearHead_t *head, DdManager *mgr, DdNode *total, satArray_t *arr); |
---|
103 | EXTERN void RT_Free(RTManager_t *rm); |
---|
104 | EXTERN void ResetRTree(RTManager_t *rm); |
---|
105 | EXTERN bAigEdge_t sat_GenerateFwdIP(bAig_Manager_t* manager, satManager_t *cm, RTnode_t RTnode, int cut); |
---|
106 | EXTERN void sat_BuildRT(satManager_t * cm, RTnode_t root, long *lp, long *tmpIP, int size, boolean NotCNF); |
---|
107 | EXTERN void sat_GenerateCore_All(satManager_t * cm); |
---|
108 | EXTERN void sat_InitLayerScore(satManager_t * cm); |
---|
109 | |
---|
110 | /**AutomaticEnd***************************************************************/ |
---|
111 | |
---|
112 | #endif /* _SATINT */ |
---|