diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2011-02-19 11:51:20 -0800 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2011-02-19 11:51:20 -0800 |
commit | 0656af22fd9291f208598dc960686bf01d006677 (patch) | |
tree | 6ed7089c22b70a8c02959850c8c76425d7f1f781 /src/base | |
parent | c7ebd9321146a188c4632dd8bfaecc024fbea2c1 (diff) | |
download | abc-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.c | 32 |
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" ); |