summaryrefslogtreecommitdiffstats
path: root/src/proof/fra
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2012-07-09 19:24:39 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2012-07-09 19:24:39 -0700
commit637736827a770d32778c832802dd8c6ddee73073 (patch)
tree8edb5a7e81aa63b1ae82114ecbff801c61ed3934 /src/proof/fra
parent22dc4983740830d1b37a434f11af57c70e26ec7b (diff)
downloadabc-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.h2
-rw-r--r--src/proof/fra/fraCec.c19
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) );