| 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 */
|
|---|