summaryrefslogtreecommitdiffstats
path: root/src/python
diff options
context:
space:
mode:
authorAlan Mishchenko <alanmi@berkeley.edu>2013-09-04 17:25:40 -0700
committerAlan Mishchenko <alanmi@berkeley.edu>2013-09-04 17:25:40 -0700
commitf591f1cd9a1ea84eea6e6495d9d3e84255858715 (patch)
tree3b0eac26df33ccc75af554fe29d539e5a9478228 /src/python
parent30c2c48a650e172a825994be2ecede06f8f9f5ad (diff)
downloadabc-f591f1cd9a1ea84eea6e6495d9d3e84255858715.tar.gz
abc-f591f1cd9a1ea84eea6e6495d9d3e84255858715.tar.bz2
abc-f591f1cd9a1ea84eea6e6495d9d3e84255858715.zip
Added Python API status_get_vector() similar to cex_get_vector().
Diffstat (limited to 'src/python')
-rw-r--r--src/python/pyabc.i32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/python/pyabc.i b/src/python/pyabc.i
index 23a37eec..fa55eb06 100644
--- a/src/python/pyabc.i
+++ b/src/python/pyabc.i
@@ -247,6 +247,32 @@ Abc_Cex_t* _cex_get_vec(int i)
return Abc_CexDup( pCex, -1 );
}
+int _status_get_vec_len()
+{
+ Abc_Frame_t* pAbc = Abc_FrameGetGlobalFrame();
+ Vec_Int_t* vStatusVec = Abc_FrameReadStatusVec(pAbc);
+
+ if( ! vStatusVec )
+ {
+ return 0;
+ }
+
+ return Vec_IntSize(vStatusVec);
+}
+
+int _status_get_vec(int i)
+{
+ Abc_Frame_t* pAbc = Abc_FrameGetGlobalFrame();
+ Vec_Int_t* vStatusVec = Abc_FrameReadStatusVec(pAbc);
+
+ if( ! vStatusVec )
+ {
+ return NULL;
+ }
+
+ return Vec_IntEntry( vStatusVec, i );
+}
+
void _cex_put(Abc_Cex_t* pCex)
{
if ( pCex )
@@ -649,6 +675,8 @@ int is_const_po( int iPoNum );
Abc_Cex_t* _cex_get();
int _cex_get_vec_len();
Abc_Cex_t* _cex_get_vec(int i);
+int _status_get_vec_len();
+int _status_get_vec(int i);
void _cex_put(Abc_Cex_t* pCex);
void _cex_free(Abc_Cex_t* pCex);
int _cex_n_regs(Abc_Cex_t* pCex);
@@ -711,6 +739,10 @@ def cex_get_vector():
return [ _Cex(_cex_get_vec(i)) for i in xrange(_cex_get_vec_len()) ]
+def status_get_vector():
+
+ return [ _Cex(_status_get_vec(i)) for i in xrange(_status_get_vec_len()) ]
+
def cex_get():
return _Cex( _cex_get() )