summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2016-05-19 23:34:20 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2016-05-19 23:34:20 -0700
commitc6a290ee971481d7f8792a96772deb77b6885206 (patch)
tree29e1a8b90036bebfd3d60779b1cd191083902496 /src
parent2ded89cca5cd0e899d5549476e6774cf7264132d (diff)
parentfe6bb87e541be3d0f7dae29fd1dfdfa7b1341575 (diff)
downloadabc-c6a290ee971481d7f8792a96772deb77b6885206.tar.gz
abc-c6a290ee971481d7f8792a96772deb77b6885206.tar.bz2
abc-c6a290ee971481d7f8792a96772deb77b6885206.zip
Merged in boschmitt/abc (pull request #26)
Fix the problem of not identifying divisors when its originating cubes had only 2 literals.
Diffstat (limited to 'src')
-rw-r--r--src/opt/fxch/FxchMan.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/opt/fxch/FxchMan.c b/src/opt/fxch/FxchMan.c
index 4fcd8e51..a54e6c9a 100644
--- a/src/opt/fxch/FxchMan.c
+++ b/src/opt/fxch/FxchMan.c
@@ -120,7 +120,7 @@ static inline void Fxch_ManDivDoubleCube( Fxch_Man_t* pFxchMan,
iCube, iLit0, 0,
(char)fAdd, (char)fUpdate );
- if ( Vec_IntSize( vCube ) > 3 )
+ if ( Vec_IntSize( vCube ) >= 3 )
{
int Lit1,
iLit1;
@@ -266,7 +266,7 @@ void Fxch_ManSCHashTablesInit( Fxch_Man_t* pFxchMan )
Vec_WecForEachLevel( vCubes, vCube, iCube )
{
int nLits = Vec_IntSize( vCube ) - 1,
- nSubCubes = nLits == 2? nLits : ( nLits * nLits + nLits ) / 2;
+ nSubCubes = nLits <= 2? nLits + 1: ( nLits * nLits + nLits ) / 2;
Vec_IntPush( vCubeLinks, ( nTotalHashed + 1 ) );
nTotalHashed += nSubCubes + 1;