124static inline int Tas_VarIsAssigned(
Tas_Var_t * pVar ) {
return pVar->
fAssign; }
129static inline int Tas_VarIsJust(
Tas_Var_t * pVar ) {
return Gia_ObjIsAnd(pVar) && !Tas_VarIsAssigned(Gia_ObjFanin0(pVar)) && !Tas_VarIsAssigned(Gia_ObjFanin1(pVar)); }
130static inline int Tas_VarFanin0Value(
Tas_Var_t * pVar ) {
return !Tas_VarIsAssigned(Gia_ObjFanin0(pVar)) ? 2 : (Tas_VarValue(Gia_ObjFanin0(pVar)) ^ Gia_ObjFaninC0(pVar)); }
131static inline int Tas_VarFanin1Value(
Tas_Var_t * pVar ) {
return !Tas_VarIsAssigned(Gia_ObjFanin1(pVar)) ? 2 : (Tas_VarValue(Gia_ObjFanin1(pVar)) ^ Gia_ObjFaninC1(pVar)); }
133static inline int Tas_VarDecLevel(
Tas_Man_t *
p,
Tas_Var_t * pVar ) {
assert( pVar->Value != ~0 );
return Vec_IntEntry(
p->vLevReas, 3*pVar->Value); }
136static inline int Tas_ClauseDecLevel(
Tas_Man_t *
p,
int hClause ) {
return Tas_VarDecLevel(
p,
p->pClauses.pData[hClause] ); }
141#define Tas_ClaForEachVar( p, pClause, pVar, i ) \
142 for ( pVar = Tas_ManVar(p, pClause->pVars[(i=0)]); pClause->pVars[i]; pVar = (Tas_Var_t *)(((char *)pVar + pClause->pVars[++i])) )
144#define Tas_QueForEachVar( p, pQue, pVar, i ) \
145 for ( pVar = Tas_ManVar(p, pQue->pVars[(i=pQue->iHead)]); i < pQue->iTail; pVar = Tas_ManVar(p, pQue->pVars[i++]) )
166 if (
p->pVars->iCur +
sizeof(
Tas_Var_t) >
p->pVars->nSize )
168 p->pVars->nSize *= 2;
169 p->pVars->pData =
ABC_REALLOC(
char,
p->pVars->pData,
p->pVars->nSize );
171 pVar =
p->pVars->pData +
p->pVars->iCur;
192 assert( !Gia_ObjIsComplement(pObj) );
193 if ( pObj->
Value == 0 )
199 return Tas_ManVar(
p, pObj->
Value );
#define ABC_REALLOC(type, obj, num)
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
Tas_Var_t * Tas_ManObj2Var(Tas_Man_t *p, Gia_Obj_t *pObj)
Tas_Var_t * Tas_ManCreateVar(Tas_Man_t *p)
FUNCTION DEFINITIONS ///.
struct Tas_Var_t_ Tas_Var_t
struct Tas_Sto_t_ Tas_Sto_t
struct Tas_Que_t_ Tas_Que_t
typedefABC_NAMESPACE_IMPL_START struct Tas_Par_t_ Tas_Par_t
DECLARATIONS ///.
struct Tas_Cls_t_ Tas_Cls_t
struct Tas_Man_t_ Tas_Man_t
struct Gia_Obj_t_ Gia_Obj_t
struct Gia_Man_t_ Gia_Man_t
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.