From a4a1053d9851cf9ef52a5b52818e66b9c1bdba4d Mon Sep 17 00:00:00 2001 From: Alan Mishchenko Date: Sat, 5 Oct 2013 22:44:02 -0700 Subject: Towards better Boolean matching. --- src/misc/util/utilTruth.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/misc/util') diff --git a/src/misc/util/utilTruth.h b/src/misc/util/utilTruth.h index 07f36382..cded2ce8 100644 --- a/src/misc/util/utilTruth.h +++ b/src/misc/util/utilTruth.h @@ -1064,6 +1064,19 @@ static inline void Abc_TtSwapVars( word * pTruth, int nVars, int iVar, int jVar return; } } +// moves one var (v) to the given position (p) +static inline void Abc_TtMoveVar( word * pF, int nVars, int * V2P, int * P2V, int v, int p ) +{ + int iVar = V2P[v], jVar = p; + if ( iVar == jVar ) + return; + Abc_TtSwapVars( pF, nVars, iVar, jVar ); + V2P[P2V[iVar]] = jVar; + V2P[P2V[jVar]] = iVar; + P2V[iVar] ^= P2V[jVar]; + P2V[jVar] ^= P2V[iVar]; + P2V[iVar] ^= P2V[jVar]; +} /**Function************************************************************* -- cgit v1.2.3