From 2b98b81837011f26d130ad0f44d4bc7b298f9cd7 Mon Sep 17 00:00:00 2001
From: Alan Mishchenko <alanmi@berkeley.edu>
Date: Tue, 29 Apr 2008 08:01:00 -0700
Subject: Version abc80429

---
 src/aig/kit/kit.h    |  3 +++
 src/aig/kit/kitHop.c |  1 +
 src/aig/kit/kitPla.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 60 insertions(+)

(limited to 'src/aig/kit')

diff --git a/src/aig/kit/kit.h b/src/aig/kit/kit.h
index 7607d17c..a0fca09d 100644
--- a/src/aig/kit/kit.h
+++ b/src/aig/kit/kit.h
@@ -547,6 +547,9 @@ extern int             Kit_GraphLeafDepth_rec( Kit_Graph_t * pGraph, Kit_Node_t
 extern int             Kit_TruthIsop( unsigned * puTruth, int nVars, Vec_Int_t * vMemory, int fTryBoth );
 /*=== kitPla.c ==========================================================*/
 extern int             Kit_PlaIsConst0( char * pSop );
+extern int             Kit_PlaIsConst1( char * pSop );
+extern int             Kit_PlaIsBuf( char * pSop );
+extern int             Kit_PlaIsInv( char * pSop );
 extern int             Kit_PlaGetVarNum( char * pSop );
 extern int             Kit_PlaGetCubeNum( char * pSop );
 extern int             Kit_PlaIsComplement( char * pSop );
diff --git a/src/aig/kit/kitHop.c b/src/aig/kit/kitHop.c
index 86ec5a88..044633bc 100644
--- a/src/aig/kit/kitHop.c
+++ b/src/aig/kit/kitHop.c
@@ -130,6 +130,7 @@ Hop_Obj_t * Kit_CoverToHop( Hop_Man_t * pMan, Vec_Int_t * vCover, int nVars, Vec
     Kit_Graph_t * pGraph;
     Hop_Obj_t * pFunc;
     // perform factoring
+    Vec_IntClear( vMemory );
     pGraph = Kit_SopFactor( vCover, 0, nVars, vMemory );
     // convert graph to the AIG
     pFunc = Kit_GraphToHop( pMan, pGraph );
diff --git a/src/aig/kit/kitPla.c b/src/aig/kit/kitPla.c
index be8f594a..776762c2 100644
--- a/src/aig/kit/kitPla.c
+++ b/src/aig/kit/kitPla.c
@@ -45,6 +45,62 @@ int Kit_PlaIsConst0( char * pSop )
     return pSop[0] == ' ' && pSop[1] == '0';
 }
 
+/**Function*************************************************************
+
+  Synopsis    [Checks if the cover is constant 1.]
+
+  Description []
+               
+  SideEffects []
+
+  SeeAlso     []
+
+***********************************************************************/
+int Kit_PlaIsConst1( char * pSop )
+{
+    return pSop[0] == ' ' && pSop[1] == '1';
+}
+
+/**Function*************************************************************
+
+  Synopsis    [Checks if the cover is a buffer.]
+
+  Description []
+               
+  SideEffects []
+
+  SeeAlso     []
+
+***********************************************************************/
+int Kit_PlaIsBuf( char * pSop )
+{
+    if ( pSop[4] != 0 )
+        return 0;
+    if ( (pSop[0] == '1' && pSop[2] == '1') || (pSop[0] == '0' && pSop[2] == '0') )
+        return 1;
+    return 0;
+}
+
+/**Function*************************************************************
+
+  Synopsis    [Checks if the cover is an inverter.]
+
+  Description []
+               
+  SideEffects []
+
+  SeeAlso     []
+
+***********************************************************************/
+int Kit_PlaIsInv( char * pSop )
+{
+    if ( pSop[4] != 0 )
+        return 0;
+    if ( (pSop[0] == '0' && pSop[2] == '1') || (pSop[0] == '1' && pSop[2] == '0') )
+        return 1;
+    return 0;
+}
+
 /**Function*************************************************************
 
   Synopsis    [Reads the number of variables in the cover.]
-- 
cgit v1.2.3