21 #ifndef ABC__sat__bsat__satProof2_h
22 #define ABC__sat__bsat__satProof2_h
60 static inline int Prf_BitWordNum(
int nWidth ) {
return (nWidth >> 6) + ((nWidth & 63) > 0); }
122 assert( p->iFirst == -1 );
132 int i, w, nSize, nWordsNew;
134 assert( p->pInfo == NULL );
135 if ( nWidth < 64 * p->
nWords )
142 for ( i = 0; i < nSize; i++ )
145 for ( w = 0; w < p->nWords; w++ )
147 for ( ; w < nWordsNew; w++ )
152 p->nWords = nWordsNew;
159 assert( iClause - p->iFirst >= 0 );
161 Vec_WrdShrink( p->vInfo, (iClause - p->iFirst) * p->nWords );
182 assert( p->iFirst2 == -1 );
189 int i, w, k = 0, Entry, nSize;
191 assert( p->pInfo == NULL );
195 assert( Entry - p->iFirst >= 0 && Entry - p->iFirst < nSize );
197 for ( w = 0; w < p->nWords; w++ )
204 if ( p->iFirst2 == -1 )
207 p->iFirst = p->iFirst2;
225 assert( p->pInfo != NULL );
236 for ( w = 0; w < p->nWords; w++ )
237 p->pInfo[w] |= pProofStart[w];
245 if ( p->vId2Pr == NULL )
263 assert( p->pInfo == NULL );
270 assert( p->pInfo != NULL );
292 assert( p->pInfo == NULL );
296 if ( p->vId2Pr == NULL )
298 for ( i = 0; i < 64 * p->nWords; i++ )
static void Prf_ManClearNewInfo(Prf_Man_t *p)
static double Vec_IntMemory(Vec_Int_t *p)
static double Vec_WrdMemory(Vec_Wrd_t *p)
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
static int Abc_InfoHasBit(unsigned *p, int i)
static void Vec_WrdPush(Vec_Wrd_t *p, word Entry)
static void Prf_ManChainResolve(Prf_Man_t *p, clause *c)
static int Abc_MaxInt(int a, int b)
static int Vec_WrdSize(Vec_Wrd_t *p)
static void Vec_IntSort(Vec_Int_t *p, int fReverse)
static int clause_id(clause *c)
typedefABC_NAMESPACE_HEADER_START struct Prf_Man_t_ Prf_Man_t
INCLUDES ///.
static void Prf_ManChainStart(Prf_Man_t *p, clause *c)
static void Prf_ManAddSaved(Prf_Man_t *p, int i, int iNew)
static Vec_Int_t * Vec_IntAlloc(int nCap)
FUNCTION DEFINITIONS ///.
static void Vec_WrdClear(Vec_Wrd_t *p)
static Prf_Man_t * Prf_ManAlloc()
FUNCTION DECLARATIONS ///.
static void Vec_WrdShrink(Vec_Wrd_t *p, int nSizeNew)
static void Vec_WrdWriteEntry(Vec_Wrd_t *p, int i, word Entry)
static int Vec_IntEntry(Vec_Int_t *p, int i)
unsigned __int64 word
DECLARATIONS ///.
static word * Prf_ManClauseInfo(Prf_Man_t *p, int Id)
static void Vec_WrdFree(Vec_Wrd_t *p)
static void Prf_ManShrink(Prf_Man_t *p, int iClause)
static void Prf_ManCompact(Prf_Man_t *p, int iNew)
static void Vec_IntPush(Vec_Int_t *p, int Entry)
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
#define ABC_NAMESPACE_HEADER_END
static Vec_Int_t * Prf_ManUnsatCore(Prf_Man_t *p)
static Vec_Wrd_t * Vec_WrdAlloc(int nCap)
FUNCTION DEFINITIONS ///.
static double Prf_ManMemory(Prf_Man_t *p)
static int Prf_ManChainStop(Prf_Man_t *p)
static void Abc_InfoSetBit(unsigned *p, int i)
static void Prf_ManRestart(Prf_Man_t *p, Vec_Int_t *vId2Pr, int iFirst, int nWidth)
static int Vec_IntSize(Vec_Int_t *p)
static void Prf_ManGrow(Prf_Man_t *p, int nWidth)
static void Prf_ManStop(Prf_Man_t *p)
static int Prf_BitWordNum(int nWidth)
GLOBAL VARIABLES ///.
#define ABC_CALLOC(type, num)
static void Prf_ManStopP(Prf_Man_t **p)
static int Prf_ManSize(Prf_Man_t *p)
static void Vec_IntFree(Vec_Int_t *p)
static void Vec_IntClear(Vec_Int_t *p)
#define Vec_IntForEachEntry(vVec, Entry, i)
MACRO DEFINITIONS ///.
typedefABC_NAMESPACE_HEADER_START struct Vec_Wrd_t_ Vec_Wrd_t
INCLUDES ///.
static word * Vec_WrdEntryP(Vec_Wrd_t *p, int i)