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 | |
| 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.
| -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" );    | 
