diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2015-04-03 16:37:04 +0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2015-04-03 16:37:04 +0700 |
commit | e52d3a0c16de062eb7d5558e3ffe7ee006443065 (patch) | |
tree | 241aecc9aa248d2ed5280022340903a349acc666 | |
parent | 9b29e1a3c06b0f0dea179b8c3228b33510270d4e (diff) | |
download | abc-e52d3a0c16de062eb7d5558e3ffe7ee006443065.tar.gz abc-e52d3a0c16de062eb7d5558e3ffe7ee006443065.tar.bz2 abc-e52d3a0c16de062eb7d5558e3ffe7ee006443065.zip |
Bug fix in handling constants in the updated 'sop' command.
-rw-r--r-- | src/base/abc/abcFunc.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/src/base/abc/abcFunc.c b/src/base/abc/abcFunc.c index 3c3e0f69..500be62a 100644 --- a/src/base/abc/abcFunc.c +++ b/src/base/abc/abcFunc.c @@ -216,22 +216,17 @@ char * Abc_ConvertBddToSop( Mem_Flex_t * pMan, DdManager * dd, DdNode * bFuncOn, assert( bFuncOn == bFuncOnDc || Cudd_bddLeq( dd, bFuncOn, bFuncOnDc ) ); if ( Cudd_IsConstant(bFuncOn) || Cudd_IsConstant(bFuncOnDc) ) { - if ( fMode == -1 ) // if the phase is not known, write constant 1 - fMode = 1; - Vec_StrFill( vCube, nFanins, '-' ); - Vec_StrPush( vCube, '\0' ); if ( pMan ) pSop = Mem_FlexEntryFetch( pMan, nFanins + 4 ); else pSop = ABC_ALLOC( char, nFanins + 4 ); - if ( bFuncOn == Cudd_ReadOne(dd) ) - sprintf( pSop, "%s %d\n", vCube->pArray, fMode ); - else - sprintf( pSop, "%s %d\n", vCube->pArray, !fMode ); + pSop[0] = ' '; + pSop[1] = '0' + (int)(bFuncOn == Cudd_ReadOne(dd)); + pSop[2] = '\n'; + pSop[3] = '\0'; return pSop; } - if ( fMode == -1 ) { // try both phases assert( fAllPrimes == 0 ); |