summaryrefslogtreecommitdiffstats
path: root/src/aig/aig/aigOper.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/aig/aig/aigOper.c')
-rw-r--r--src/aig/aig/aigOper.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/aig/aig/aigOper.c b/src/aig/aig/aigOper.c
index 55ab5862..d13d4bed 100644
--- a/src/aig/aig/aigOper.c
+++ b/src/aig/aig/aigOper.c
@@ -352,7 +352,6 @@ Aig_Obj_t * Aig_Miter( Aig_Man_t * p, Vec_Ptr_t * vPairs )
int i;
assert( vPairs->nSize > 0 );
assert( vPairs->nSize % 2 == 0 );
- // go through the cubes of the node's SOP
for ( i = 0; i < vPairs->nSize; i += 2 )
vPairs->pArray[i/2] = Aig_Not( Aig_Exor( p, vPairs->pArray[i], vPairs->pArray[i+1] ) );
vPairs->nSize = vPairs->nSize/2;
@@ -361,6 +360,27 @@ Aig_Obj_t * Aig_Miter( Aig_Man_t * p, Vec_Ptr_t * vPairs )
/**Function*************************************************************
+ Synopsis [Implements the miter.]
+
+ Description []
+
+ SideEffects []
+
+ SeeAlso []
+
+***********************************************************************/
+Aig_Obj_t * Aig_MiterTwo( Aig_Man_t * p, Vec_Ptr_t * vNodes1, Vec_Ptr_t * vNodes2 )
+{
+ int i;
+ assert( vNodes1->nSize > 0 && vNodes1->nSize > 0 );
+ assert( vNodes1->nSize == vNodes2->nSize );
+ for ( i = 0; i < vNodes1->nSize; i++ )
+ vNodes1->pArray[i] = Aig_Not( Aig_Exor( p, vNodes1->pArray[i], vNodes2->pArray[i] ) );
+ return Aig_Not( Aig_Multi_rec( p, (Aig_Obj_t **)vNodes1->pArray, vNodes1->nSize, AIG_OBJ_AND ) );
+}
+
+/**Function*************************************************************
+
Synopsis [Creates AND function with nVars inputs.]
Description []