summaryrefslogtreecommitdiffstats
path: root/src/aig/cnf/cnfWrite.c
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2008-05-08 08:01:00 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2008-05-08 08:01:00 -0700
commite94ccfd3fb07d22ed426e0386ccf536e470744b7 (patch)
tree395b99b931beee0c3416a098cc647f9b6a5b3080 /src/aig/cnf/cnfWrite.c
parent6175fcb8026bae3db5b4280b655131322d7944da (diff)
downloadabc-e94ccfd3fb07d22ed426e0386ccf536e470744b7.tar.gz
abc-e94ccfd3fb07d22ed426e0386ccf536e470744b7.tar.bz2
abc-e94ccfd3fb07d22ed426e0386ccf536e470744b7.zip
Version abc80508
Diffstat (limited to 'src/aig/cnf/cnfWrite.c')
-rw-r--r--src/aig/cnf/cnfWrite.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/aig/cnf/cnfWrite.c b/src/aig/cnf/cnfWrite.c
index 23b3e8f0..5556ac2e 100644
--- a/src/aig/cnf/cnfWrite.c
+++ b/src/aig/cnf/cnfWrite.c
@@ -221,9 +221,18 @@ Cnf_Dat_t * Cnf_ManWriteCnf( Cnf_Man_t * p, Vec_Ptr_t * vMapped, int nOutputs )
Number = 1;
if ( nOutputs )
{
- assert( nOutputs == Aig_ManRegNum(p->pManAig) );
- Aig_ManForEachLiSeq( p->pManAig, pObj, i )
- pCnf->pVarNums[pObj->Id] = Number++;
+ if ( Aig_ManRegNum(p->pManAig) == 0 )
+ {
+ assert( nOutputs == Aig_ManPoNum(p->pManAig) );
+ Aig_ManForEachPo( p->pManAig, pObj, i )
+ pCnf->pVarNums[pObj->Id] = Number++;
+ }
+ else
+ {
+ assert( nOutputs == Aig_ManRegNum(p->pManAig) );
+ Aig_ManForEachLiSeq( p->pManAig, pObj, i )
+ pCnf->pVarNums[pObj->Id] = Number++;
+ }
}
// assign variables to the internal nodes
Vec_PtrForEachEntry( vMapped, pObj, i )