diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2013-09-04 17:25:40 -0700 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2013-09-04 17:25:40 -0700 |
commit | f591f1cd9a1ea84eea6e6495d9d3e84255858715 (patch) | |
tree | 3b0eac26df33ccc75af554fe29d539e5a9478228 /src/python | |
parent | 30c2c48a650e172a825994be2ecede06f8f9f5ad (diff) | |
download | abc-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.i | 32 |
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() ) |