55 int ConstLit = Abc_Var2Lit(pDat->
pVarNums[0], 0);
59 vLits = Vec_IntAlloc( Gia_ManPoNum(
p) );
62 int iObj = Gia_ObjId(
p, pObj );
63 Vec_IntPush( vLits, Abc_Var2Lit(pDat->
pVarNums[iObj], 1) );
69 for ( i = 0; i < pDat->
nClauses; i++ )
89 vKeep = Vec_IntAlloc( Gia_ManPoNum(
p) );
92 Vec_IntWriteEntry( vLits, i, Abc_LitNot(Vec_IntEntry(vLits,i)) );
93 status =
sat_solver_solve( pSat, Vec_IntArray(vLits), Vec_IntArray(vLits) + Vec_IntSize(vLits), 0, 0, 0, 0 );
94 Vec_IntWriteEntry( vLits, i, Abc_LitNot(Vec_IntEntry(vLits,i)) );
96 Vec_IntWriteEntry( vLits, i, ConstLit );
100 Vec_IntPush( vKeep, i );
104 Vec_IntFree( vLits );
105 if ( Vec_IntSize(vKeep) == Gia_ManPoNum(
p) )
107 Vec_IntFree( vKeep );
111 Vec_IntFree( vKeep );
132 printf(
"User AIG: " );
135 printf(
"Drop AIG: " );
138 if ( Gia_ManPoNum(pTemp) == 1 )
143 pTemp->
nConstrs = Gia_ManPoNum(pTemp) - 1;
144 for ( i = 0; i < Gia_ManPoNum(pTemp); i++ )
160 printf(
"AIG%3d : ", i );
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
void Aig_ManStop(Aig_Man_t *p)
typedefABC_NAMESPACE_HEADER_START struct Aig_Man_t_ Aig_Man_t
INCLUDES ///.
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
#define sat_solver_addclause
Cnf_Dat_t * Cnf_Derive(Aig_Man_t *pAig, int nOutputs)
struct Cnf_Dat_t_ Cnf_Dat_t
void Cnf_DataFree(Cnf_Dat_t *p)
Aig_Man_t * Gia_ManToAigSimple(Gia_Man_t *p)
void Gia_ManStop(Gia_Man_t *p)
Gia_Man_t * Gia_ManDup(Gia_Man_t *p)
void Gia_ManSwapPos(Gia_Man_t *p, int i)
#define Gia_ManForEachPo(p, pObj, i)
struct Gia_Obj_t_ Gia_Obj_t
struct Gia_Man_t_ Gia_Man_t
Gia_Man_t * Gia_ManDupCones(Gia_Man_t *p, int *pPos, int nPos, int fTrimPis)
Gia_Man_t * Gia_ManDupDfs(Gia_Man_t *p)
void Gia_ManPrintStats(Gia_Man_t *p, Gps_Par_t *pPars)
sat_solver * sat_solver_new(void)
int sat_solver_simplify(sat_solver *s)
void sat_solver_setnvars(sat_solver *s, int n)
void sat_solver_delete(sat_solver *s)
Gia_Man_t * Gia_ManOptimizeRing(Gia_Man_t *p)
ABC_NAMESPACE_IMPL_START Gia_Man_t * Gia_ManDropContained(Gia_Man_t *p)
DECLARATIONS ///.
typedefABC_NAMESPACE_HEADER_START struct Ssc_Pars_t_ Ssc_Pars_t
INCLUDES ///.
Gia_Man_t * Ssc_PerformSweepingConstr(Gia_Man_t *p, Ssc_Pars_t *pPars)
void Ssc_ManSetDefaultParams(Ssc_Pars_t *p)
MACRO DEFINITIONS ///.