summaryrefslogtreecommitdiffstats
path: root/src/opt/cut
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2006-07-01 08:01:00 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2006-07-01 08:01:00 -0700
commit616bb095f10c24f1f720efe89b7f39c670d114a3 (patch)
tree8761f65c9f81591008b1a59f04d473b5cae76a49 /src/opt/cut
parent3814121784af2250e2d5f17173b209e74cb7ae45 (diff)
downloadabc-616bb095f10c24f1f720efe89b7f39c670d114a3.tar.gz
abc-616bb095f10c24f1f720efe89b7f39c670d114a3.tar.bz2
abc-616bb095f10c24f1f720efe89b7f39c670d114a3.zip
Version abc60701
Diffstat (limited to 'src/opt/cut')
-rw-r--r--src/opt/cut/cutNode.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/opt/cut/cutNode.c b/src/opt/cut/cutNode.c
index b651dac9..6f7777ad 100644
--- a/src/opt/cut/cutNode.c
+++ b/src/opt/cut/cutNode.c
@@ -104,6 +104,36 @@ static inline void Cut_CutFilter( Cut_Man_t * p, Cut_Cut_t * pList )
/**Function*************************************************************
+ Synopsis [Checks equality of one cut.]
+
+ Description [Returns 1 if the cut is removed.]
+
+ SideEffects []
+
+ SeeAlso []
+
+***********************************************************************/
+static inline int Cut_CutFilterOneEqual( Cut_Man_t * p, Cut_List_t * pSuperList, Cut_Cut_t * pCut )
+{
+ Cut_Cut_t * pTemp;
+ Cut_ListForEachCut( pSuperList->pHead[pCut->nLeaves], pTemp )
+ {
+ // skip the non-contained cuts
+ if ( pCut->uSign != pTemp->uSign )
+ continue;
+ // check containment seriously
+ if ( Cut_CutCheckDominance( pTemp, pCut ) )
+ {
+ p->nCutsFilter++;
+ Cut_CutRecycle( p, pCut );
+ return 1;
+ }
+ }
+ return 0;
+}
+
+/**Function*************************************************************
+
Synopsis [Checks containment for one cut.]
Description [Returns 1 if the cut is removed.]
@@ -266,6 +296,7 @@ static inline int Cut_CutProcessTwo( Cut_Man_t * p, Cut_Cut_t * pCut0, Cut_Cut_t
if ( p->pParams->fFilter )
{
if ( Cut_CutFilterOne(p, pSuperList, pCut) )
+// if ( Cut_CutFilterOneEqual(p, pSuperList, pCut) )
return 0;
if ( p->pParams->fSeq )
{