Commit 0656af22 by Alan Mishchenko

Adding one more control switch to CEC commands (i)prove.

parent c7ebd932
...@@ -10420,7 +10420,7 @@ int Abc_CommandIProve( Abc_Frame_t * pAbc, int argc, char ** argv ) ...@@ -10420,7 +10420,7 @@ int Abc_CommandIProve( Abc_Frame_t * pAbc, int argc, char ** argv )
pParams->fUseRewriting = 1; pParams->fUseRewriting = 1;
pParams->fVerbose = 0; pParams->fVerbose = 0;
Extra_UtilGetoptReset(); Extra_UtilGetoptReset();
while ( ( c = Extra_UtilGetopt( argc, argv, "NCFLIrfbvh" ) ) != EOF ) while ( ( c = Extra_UtilGetopt( argc, argv, "NCFGLIrfbvh" ) ) != EOF )
{ {
switch ( c ) switch ( c )
{ {
...@@ -10457,6 +10457,17 @@ int Abc_CommandIProve( Abc_Frame_t * pAbc, int argc, char ** argv ) ...@@ -10457,6 +10457,17 @@ int Abc_CommandIProve( Abc_Frame_t * pAbc, int argc, char ** argv )
if ( pParams->nFraigingLimitStart < 0 ) if ( pParams->nFraigingLimitStart < 0 )
goto usage; goto usage;
break; 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': case 'L':
if ( globalUtilOptind >= argc ) if ( globalUtilOptind >= argc )
{ {
...@@ -10549,11 +10560,12 @@ int Abc_CommandIProve( Abc_Frame_t * pAbc, int argc, char ** argv ) ...@@ -10549,11 +10560,12 @@ int Abc_CommandIProve( Abc_Frame_t * pAbc, int argc, char ** argv )
return 0; return 0;
usage: 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 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-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-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-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-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-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" ); 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 ) ...@@ -17853,7 +17865,7 @@ int Abc_CommandProve( Abc_Frame_t * pAbc, int argc, char ** argv )
// set defaults // set defaults
Prove_ParamsSetDefault( pParams ); Prove_ParamsSetDefault( pParams );
Extra_UtilGetoptReset(); Extra_UtilGetoptReset();
while ( ( c = Extra_UtilGetopt( argc, argv, "NCFLIrfbvh" ) ) != EOF ) while ( ( c = Extra_UtilGetopt( argc, argv, "NCFGLIrfbvh" ) ) != EOF )
{ {
switch ( c ) switch ( c )
{ {
...@@ -17890,6 +17902,17 @@ int Abc_CommandProve( Abc_Frame_t * pAbc, int argc, char ** argv ) ...@@ -17890,6 +17902,17 @@ int Abc_CommandProve( Abc_Frame_t * pAbc, int argc, char ** argv )
if ( pParams->nFraigingLimitStart < 0 ) if ( pParams->nFraigingLimitStart < 0 )
goto usage; goto usage;
break; 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': case 'L':
if ( globalUtilOptind >= argc ) if ( globalUtilOptind >= argc )
{ {
...@@ -17978,13 +18001,14 @@ int Abc_CommandProve( Abc_Frame_t * pAbc, int argc, char ** argv ) ...@@ -17978,13 +18001,14 @@ int Abc_CommandProve( Abc_Frame_t * pAbc, int argc, char ** argv )
return 0; return 0;
usage: 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 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 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 (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-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-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-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-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-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" ); Abc_Print( -2, "\t-r : toggle the use of rewriting [default = %s]\n", pParams->fUseRewriting? "yes": "no" );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment