diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2012-07-09 19:24:39 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2012-07-09 19:24:39 -0700 |
commit | 637736827a770d32778c832802dd8c6ddee73073 (patch) | |
tree | 8edb5a7e81aa63b1ae82114ecbff801c61ed3934 /src/proof/fra | |
parent | 22dc4983740830d1b37a434f11af57c70e26ec7b (diff) | |
download | abc-637736827a770d32778c832802dd8c6ddee73073.tar.gz abc-637736827a770d32778c832802dd8c6ddee73073.tar.bz2 abc-637736827a770d32778c832802dd8c6ddee73073.zip |
Adding several command-line arguments to 'dsat'.
Diffstat (limited to 'src/proof/fra')
-rw-r--r-- | src/proof/fra/fra.h | 2 | ||||
-rw-r--r-- | src/proof/fra/fraCec.c | 19 |
2 files changed, 14 insertions, 7 deletions
diff --git a/src/proof/fra/fra.h b/src/proof/fra/fra.h index 922a3c47..8be02e45 100644 --- a/src/proof/fra/fra.h +++ b/src/proof/fra/fra.h @@ -285,7 +285,7 @@ static inline int Fra_ImpCreate( int Left, int Right ) //////////////////////////////////////////////////////////////////////// /*=== fraCec.c ========================================================*/ -extern int Fra_FraigSat( Aig_Man_t * pMan, ABC_INT64_T nConfLimit, ABC_INT64_T nInsLimit, int fFlipBits, int fAndOuts, int fNewSolver, int fVerbose ); +extern int Fra_FraigSat( Aig_Man_t * pMan, ABC_INT64_T nConfLimit, ABC_INT64_T nInsLimit, int nStartLearned, int nDeltaLearned, int nRatioLearned, int fFlipBits, int fAndOuts, int fNewSolver, int fVerbose ); extern int Fra_FraigCec( Aig_Man_t ** ppAig, int nConfLimit, int fVerbose ); extern int Fra_FraigCecPartitioned( Aig_Man_t * pMan1, Aig_Man_t * pMan2, int nConfLimit, int nPartSize, int fSmart, int fVerbose ); /*=== fraClass.c ========================================================*/ diff --git a/src/proof/fra/fraCec.c b/src/proof/fra/fraCec.c index f1f15155..0e483b1f 100644 --- a/src/proof/fra/fraCec.c +++ b/src/proof/fra/fraCec.c @@ -44,7 +44,7 @@ ABC_NAMESPACE_IMPL_START SeeAlso [] ***********************************************************************/ -int Fra_FraigSat( Aig_Man_t * pMan, ABC_INT64_T nConfLimit, ABC_INT64_T nInsLimit, int fFlipBits, int fAndOuts, int fNewSolver, int fVerbose ) +int Fra_FraigSat( Aig_Man_t * pMan, ABC_INT64_T nConfLimit, ABC_INT64_T nInsLimit, int nStartLearned, int nDeltaLearned, int nRatioLearned, int fFlipBits, int fAndOuts, int fNewSolver, int fVerbose ) { if ( fNewSolver ) { @@ -75,7 +75,6 @@ int Fra_FraigSat( Aig_Man_t * pMan, ABC_INT64_T nConfLimit, ABC_INT64_T nInsLimi return 1; } - if ( fAndOuts ) { // assert each output independently @@ -182,6 +181,14 @@ int Fra_FraigSat( Aig_Man_t * pMan, ABC_INT64_T nConfLimit, ABC_INT64_T nInsLimi return 1; } + if ( nStartLearned ) + pSat->nLearntStart = nStartLearned; + if ( nDeltaLearned ) + pSat->nLearntDelta = nDeltaLearned; + if ( nRatioLearned ) + pSat->nLearntRatio = nRatioLearned; + if ( fVerbose ) + pSat->fVerbose = fVerbose; if ( fAndOuts ) { @@ -225,8 +232,8 @@ int Fra_FraigSat( Aig_Man_t * pMan, ABC_INT64_T nConfLimit, ABC_INT64_T nInsLimi // solve the miter clk = clock(); - if ( fVerbose ) - pSat->verbosity = 1; +// if ( fVerbose ) +// pSat->verbosity = 1; status = sat_solver_solve( pSat, NULL, NULL, (ABC_INT64_T)nConfLimit, (ABC_INT64_T)nInsLimit, (ABC_INT64_T)0, (ABC_INT64_T)0 ); if ( status == l_Undef ) { @@ -303,7 +310,7 @@ int Fra_FraigCec( Aig_Man_t ** ppAig, int nConfLimit, int fVerbose ) // if SAT only, solve without iteration clk = clock(); - RetValue = Fra_FraigSat( pAig, (ABC_INT64_T)2*nBTLimitStart, (ABC_INT64_T)0, 1, 0, 0, 0 ); + RetValue = Fra_FraigSat( pAig, (ABC_INT64_T)2*nBTLimitStart, (ABC_INT64_T)0, 0, 0, 0, 1, 0, 0, 0 ); if ( fVerbose ) { printf( "Initial SAT: Nodes = %6d. ", Aig_ManNodeNum(pAig) ); @@ -371,7 +378,7 @@ ABC_PRT( "Time", clock() - clk ); if ( RetValue == -1 ) { clk = clock(); - RetValue = Fra_FraigSat( pAig, (ABC_INT64_T)nBTLimitLast, (ABC_INT64_T)0, 1, 0, 0, 0 ); + RetValue = Fra_FraigSat( pAig, (ABC_INT64_T)nBTLimitLast, (ABC_INT64_T)0, 0, 0, 0, 1, 0, 0, 0 ); if ( fVerbose ) { printf( "Final SAT: Nodes = %6d. ", Aig_ManNodeNum(pAig) ); |