From 93b96fc35c50123eb48b04d212394036dd8a8109 Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Wed, 6 Dec 2017 14:34:03 -0800 Subject: An improvement to 'twoexact' and 'lutexact'. --- src/sat/bmc/bmc.h | 1 + src/sat/bmc/bmcMaj.c | 8 ++++++++ src/sat/bmc/bmcMaj2.c | 8 ++++++++ 3 files changed, 17 insertions(+) (limited to 'src/sat/bmc') diff --git a/src/sat/bmc/bmc.h b/src/sat/bmc/bmc.h index 00c9feb0..51f207e6 100644 --- a/src/sat/bmc/bmc.h +++ b/src/sat/bmc/bmc.h @@ -37,6 +37,7 @@ ABC_NAMESPACE_HEADER_START //#define USE_NODE_ORDER 1 //#define USE_FIRST_SPECIAL 1 +//#define USE_LESS_VARS 1 //////////////////////////////////////////////////////////////////////// /// BASIC TYPES /// diff --git a/src/sat/bmc/bmcMaj.c b/src/sat/bmc/bmcMaj.c index 97322eae..4700b1d4 100644 --- a/src/sat/bmc/bmcMaj.c +++ b/src/sat/bmc/bmcMaj.c @@ -447,7 +447,11 @@ int Exa_ManMarkup( Exa_Man_t * p ) continue; } #endif +#ifdef USE_LESS_VARS for ( j = 1 - k; j < i - k; j++ ) +#else + for ( j = 0; j < i - k; j++ ) +#endif { Vec_WecPush( p->vOutLits, j, Abc_Var2Lit(p->iVar, 0) ); p->VarMarks[i][k][j] = p->iVar++; @@ -828,7 +832,11 @@ static int Exa3_ManMarkup( Exa3_Man_t * p ) continue; } #endif +#ifdef USE_LESS_VARS for ( j = p->nLutSize - 1 - k; j < i - k; j++ ) +#else + for ( j = 0; j < i - k; j++ ) +#endif { Vec_WecPush( p->vOutLits, j, Abc_Var2Lit(p->iVar, 0) ); p->VarMarks[i][k][j] = p->iVar++; diff --git a/src/sat/bmc/bmcMaj2.c b/src/sat/bmc/bmcMaj2.c index 54745118..a3c1027a 100644 --- a/src/sat/bmc/bmcMaj2.c +++ b/src/sat/bmc/bmcMaj2.c @@ -553,7 +553,11 @@ static int Exa_ManMarkup( Exa_Man_t * p ) continue; } #endif +#ifdef USE_LESS_VARS for ( j = 1 - k; j < i - k; j++ ) +#else + for ( j = 0; j < i - k; j++ ) +#endif { Vec_WecPush( p->vOutLits, j, Abc_Var2Lit(p->iVar, 0) ); p->VarMarks[i][k][j] = p->iVar++; @@ -936,7 +940,11 @@ static int Exa3_ManMarkup( Exa3_Man_t * p ) continue; } #endif +#ifdef USE_LESS_VARS for ( j = p->nLutSize - 1 - k; j < i - k; j++ ) +#else + for ( j = 0; j < i - k; j++ ) +#endif { Vec_WecPush( p->vOutLits, j, Abc_Var2Lit(p->iVar, 0) ); p->VarMarks[i][k][j] = p->iVar++; -- cgit v1.2.3