summaryrefslogtreecommitdiffstats
path: root/src/base/abci/abcExact.c
diff options
context:
space:
mode:
authorMathias Soeken <mathias.soeken@epfl.ch>2016-08-28 13:44:59 +0200
committerMathias Soeken <mathias.soeken@epfl.ch>2016-08-28 13:44:59 +0200
commit2d71abd581e5c1572bdc83a15f0b5dbdd1cc0e28 (patch)
tree8fe75e268b75d4a91040a910cf6b63c06e29d243 /src/base/abci/abcExact.c
parent610fcb27121bd00ecca74faacb2f53b4f088f201 (diff)
downloadabc-2d71abd581e5c1572bdc83a15f0b5dbdd1cc0e28.tar.gz
abc-2d71abd581e5c1572bdc83a15f0b5dbdd1cc0e28.tar.bz2
abc-2d71abd581e5c1572bdc83a15f0b5dbdd1cc0e28.zip
Symmetric variables in BMS.
Diffstat (limited to 'src/base/abci/abcExact.c')
-rw-r--r--src/base/abci/abcExact.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/base/abci/abcExact.c b/src/base/abci/abcExact.c
index 3f65af9e..f328d9b3 100644
--- a/src/base/abci/abcExact.c
+++ b/src/base/abci/abcExact.c
@@ -1204,12 +1204,13 @@ static int Ses_ManCreateClauses( Ses_Man_t * pSes )
}
/* EXTRA clauses: symmetric variables */
- if ( pSes->nMaxDepth == -1 && pSes->nSpecFunc == 1 ) /* only check if there is one output function */
+ if ( /*pSes->nMaxDepth == -1 &&*/ pSes->nSpecFunc == 1 ) /* only check if there is one output function */
for ( q = 1; q < pSes->nSpecVars; ++q )
for ( p = 0; p < q; ++p )
- if ( Extra_TruthVarsSymm( (unsigned*)( pSes->pSpec ), pSes->nSpecVars, p, q ) )
+ if ( Extra_TruthVarsSymm( (unsigned*)( pSes->pSpec ), pSes->nSpecVars, p, q ) &&
+ ( !pSes->pArrTimeProfile || ( pSes->pArrTimeProfile[p] == pSes->pArrTimeProfile[q] ) ) )
{
- if ( pSes->fVeryVerbose )
+ if ( pSes->fSatVerbose )
printf( "variables %d and %d are symmetric\n", p, q );
for ( i = 0; i < pSes->nGates; ++i )
for ( j = 0; j < q; ++j )
@@ -2033,6 +2034,8 @@ Abc_Ntk_t * Abc_NtkFindExact( word * pTruth, int nVars, int nFunc, int nMaxDepth
pSes = Ses_ManAlloc( pTruth, nVars, nFunc, nMaxDepth, pArrTimeProfile, 0, nBTLimit, fVerbose );
pSes->nStartGates = nStartGates;
+ pSes->fReasonVerbose = 1;
+ pSes->fSatVerbose = 1;
if ( fVerbose )
Ses_ManPrintFuncs( pSes );
@@ -2069,7 +2072,7 @@ Gia_Man_t * Gia_ManFindExact( word * pTruth, int nVars, int nFunc, int nMaxDepth
pSes = Ses_ManAlloc( pTruth, nVars, nFunc, nMaxDepth, pArrTimeProfile, 1, nBTLimit, fVerbose );
pSes->nStartGates = nStartGates;
pSes->fVeryVerbose = 1;
- pSes->fExtractVerbose = 1;
+ pSes->fExtractVerbose = 0;
pSes->fSatVerbose = 0;
pSes->fReasonVerbose = 1;
if ( fVerbose )