summaryrefslogtreecommitdiffstats
path: root/src/map/if/ifCount.h
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2014-09-19 19:06:01 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2014-09-19 19:06:01 -0700
commita02b0203568f4c20f50c81e26603c3a5ee4083eb (patch)
treefe1bda9a7f1699798a9e56c22615c2749ff22069 /src/map/if/ifCount.h
parentf989aea224760cc35f5b3bf232e9dccac4f1baa4 (diff)
downloadabc-a02b0203568f4c20f50c81e26603c3a5ee4083eb.tar.gz
abc-a02b0203568f4c20f50c81e26603c3a5ee4083eb.tar.bz2
abc-a02b0203568f4c20f50c81e26603c3a5ee4083eb.zip
Updating DSD balance to handle XOR gate as having the same delay as AND gate.
Diffstat (limited to 'src/map/if/ifCount.h')
-rw-r--r--src/map/if/ifCount.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/map/if/ifCount.h b/src/map/if/ifCount.h
index dcd3b63a..9bfc36d4 100644
--- a/src/map/if/ifCount.h
+++ b/src/map/if/ifCount.h
@@ -85,7 +85,7 @@ static inline int If_LogCreateAndXorMulti( Vec_Int_t * vAig, int * pFaninLits, i
pFaninLits[i-1] = If_LogCreateAndXor( vAig, pFaninLits[i], pFaninLits[i-1], nSuppAll, fXor );
return pFaninLits[0];
}
-static inline int If_LogCounterAddAig( int * pTimes, int * pnTimes, int * pFaninLits, int Num, int iLit, Vec_Int_t * vAig, int nSuppAll, int fXor )
+static inline int If_LogCounterAddAig( int * pTimes, int * pnTimes, int * pFaninLits, int Num, int iLit, Vec_Int_t * vAig, int nSuppAll, int fXor, int fXorFunc )
{
int nTimes = *pnTimes;
if ( vAig )
@@ -107,7 +107,7 @@ static inline int If_LogCounterAddAig( int * pTimes, int * pnTimes, int * pFanin
}
pTimes[k-1] += 1 + fXor;
if ( vAig )
- pFaninLits[k-1] = If_LogCreateAndXor( vAig, pFaninLits[k], pFaninLits[k-1], nSuppAll, fXor );
+ pFaninLits[k-1] = If_LogCreateAndXor( vAig, pFaninLits[k], pFaninLits[k-1], nSuppAll, fXorFunc );
for ( nTimes--, i = k; i < nTimes; i++ )
{
pTimes[i] = pTimes[i+1];