summaryrefslogtreecommitdiffstats
path: root/src/base
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2011-02-19 11:51:20 -0800
committerAlan Mishchenko <alanmi@berkeley.edu>2011-02-19 11:51:20 -0800
commit0656af22fd9291f208598dc960686bf01d006677 (patch)
tree6ed7089c22b70a8c02959850c8c76425d7f1f781 /src/base
parentc7ebd9321146a188c4632dd8bfaecc024fbea2c1 (diff)
downloadabc-0656af22fd9291f208598dc960686bf01d006677.tar.gz
abc-0656af22fd9291f208598dc960686bf01d006677.tar.bz2
abc-0656af22fd9291f208598dc960686bf01d006677.zip
Adding one more control switch to CEC commands (i)prove.
Diffstat (limited to 'src/base')
-rw-r--r--src/base/abci/abc.c32
1 files changed, 28 insertions, 4 deletions
diff --git a/src/base/abci/abc.c b/src/base/abci/abc.c
index 5a83936f..425b64f5 100644
--- a/src/base/abci/abc.c
+++ b/src/base/abci/abc.c
@@ -10420,7 +10420,7 @@ int Abc_CommandIProve( Abc_Frame_t * pAbc, int argc, char ** argv )
pParams->fUseRewriting = 1;
pParams->fVerbose = 0;
Extra_UtilGetoptReset();
- while ( ( c = Extra_UtilGetopt( argc, argv, "NCFLIrfbvh" ) ) != EOF )
+ while ( ( c = Extra_UtilGetopt( argc, argv, "NCFGLIrfbvh" ) ) != EOF )
{
switch ( c )
{
@@ -10457,6 +10457,17 @@ int Abc_CommandIProve( Abc_Frame_t * pAbc, int argc, char ** argv )
if ( pParams->nFraigingLimitStart < 0 )
goto usage;
break;
+ case 'G':
+ if ( globalUtilOptind >= argc )
+ {
+ Abc_Print( -1, "Command line switch \"-G\" should be followed by an integer.\n" );
+ goto usage;
+ }
+ pParams->nFraigingLimitMulti = (float)atoi(argv[globalUtilOptind]);
+ globalUtilOptind++;
+ if ( pParams->nFraigingLimitMulti < 0 )
+ goto usage;
+ break;
case 'L':
if ( globalUtilOptind >= argc )
{
@@ -10549,11 +10560,12 @@ int Abc_CommandIProve( Abc_Frame_t * pAbc, int argc, char ** argv )
return 0;
usage:
- Abc_Print( -2, "usage: iprove [-NCFLI num] [-rfbvh]\n" );
+ Abc_Print( -2, "usage: iprove [-NCFGLI num] [-rfbvh]\n" );
Abc_Print( -2, "\t performs CEC using a new method\n" );
Abc_Print( -2, "\t-N num : max number of iterations [default = %d]\n", pParams->nItersMax );
Abc_Print( -2, "\t-C num : max starting number of conflicts in mitering [default = %d]\n", pParams->nMiteringLimitStart );
Abc_Print( -2, "\t-F num : max starting number of conflicts in fraiging [default = %d]\n", pParams->nFraigingLimitStart );
+ Abc_Print( -2, "\t-G num : multiplicative coefficient for fraiging [default = %d]\n", (int)pParams->nFraigingLimitMulti );
Abc_Print( -2, "\t-L num : max last-gasp number of conflicts in mitering [default = %d]\n", pParams->nMiteringLimitLast );
Abc_Print( -2, "\t-I num : max number of clause inspections in all SAT calls [default = %d]\n", (int)pParams->nTotalInspectLimit );
Abc_Print( -2, "\t-r : toggle the use of rewriting [default = %s]\n", pParams->fUseRewriting? "yes": "no" );
@@ -17853,7 +17865,7 @@ int Abc_CommandProve( Abc_Frame_t * pAbc, int argc, char ** argv )
// set defaults
Prove_ParamsSetDefault( pParams );
Extra_UtilGetoptReset();
- while ( ( c = Extra_UtilGetopt( argc, argv, "NCFLIrfbvh" ) ) != EOF )
+ while ( ( c = Extra_UtilGetopt( argc, argv, "NCFGLIrfbvh" ) ) != EOF )
{
switch ( c )
{
@@ -17890,6 +17902,17 @@ int Abc_CommandProve( Abc_Frame_t * pAbc, int argc, char ** argv )
if ( pParams->nFraigingLimitStart < 0 )
goto usage;
break;
+ case 'G':
+ if ( globalUtilOptind >= argc )
+ {
+ Abc_Print( -1, "Command line switch \"-G\" should be followed by an integer.\n" );
+ goto usage;
+ }
+ pParams->nFraigingLimitMulti = (float)atoi(argv[globalUtilOptind]);
+ globalUtilOptind++;
+ if ( pParams->nFraigingLimitMulti < 0 )
+ goto usage;
+ break;
case 'L':
if ( globalUtilOptind >= argc )
{
@@ -17978,13 +18001,14 @@ int Abc_CommandProve( Abc_Frame_t * pAbc, int argc, char ** argv )
return 0;
usage:
- Abc_Print( -2, "usage: prove [-NCFLI num] [-rfbvh]\n" );
+ Abc_Print( -2, "usage: prove [-NCFGLI num] [-rfbvh]\n" );
Abc_Print( -2, "\t solves combinational miter by rewriting, FRAIGing, and SAT\n" );
Abc_Print( -2, "\t replaces the current network by the cone modified by rewriting\n" );
Abc_Print( -2, "\t (there is also newer CEC command \"iprove\")\n" );
Abc_Print( -2, "\t-N num : max number of iterations [default = %d]\n", pParams->nItersMax );
Abc_Print( -2, "\t-C num : max starting number of conflicts in mitering [default = %d]\n", pParams->nMiteringLimitStart );
Abc_Print( -2, "\t-F num : max starting number of conflicts in fraiging [default = %d]\n", pParams->nFraigingLimitStart );
+ Abc_Print( -2, "\t-G num : multiplicative coefficient for fraiging [default = %d]\n", (int)pParams->nFraigingLimitMulti );
Abc_Print( -2, "\t-L num : max last-gasp number of conflicts in mitering [default = %d]\n", pParams->nMiteringLimitLast );
Abc_Print( -2, "\t-I num : max number of clause inspections in all SAT calls [default = %d]\n", (int)pParams->nTotalInspectLimit );
Abc_Print( -2, "\t-r : toggle the use of rewriting [default = %s]\n", pParams->fUseRewriting? "yes": "no" );