用于在时序电路aig和dfa之间移动的库。

py-aiger-dfa的Python项目详细描述


Py aiger DFA

用于在aig电路和dfa之间转换的python库。

Build StatuscodecovPyPI versionLicense: MIT

目录

安装

如果您只需要使用aiger_dfa,您可以运行:

$ pip install py-aiger-dfa

对于开发人员,请注意此项目使用 poetrypython包/依赖项 管理工具。请熟悉它,然后 运行:

$ poetry install

用法

使用这个库的主要入口点是dfa2aigaig2dfa函数。使用 dfa包装。熟悉 ^假设有{}、py-aigerpy-aiger-bv包。

DFA至AIG

DFA转到AIG对象的示例 如下所示。

fromdfaimportDFAfromaiger_dfaimportdfa2aigmy_dfa=DFA(start=0,inputs={0,1},label=lambdas:(s%4)==3,transition=lambdas,c:(s+c)%4,)my_aig,relabels=dfa2aig(my_dfa)

现在circ是一个AIG,而relabels是来自输入的映射, 状态,并将my_dfa输出到其1-hot编码的 my_aig中的对应项。

relabels具有以下架构:

relabels={'inputs':..,# Bidict from 1-hot index to dfa input.'outputs':..,# Bidict from 1-hot index to dfa output.'states':..,# Bidict from 1-hot index to dfa state.}

其中bidicthttps://bidict.readthedocs.io/en/master/

AIG到DFA

dfa2aig相反的是aig2dfa。用同样的例子。

fromaiger_dfaimportaig2dfamy_dfa2=aig2dfa(my_aig,relabels=relabels)assertmy_dfa2.label((1,0,0,1,1,0))==my_dfa.label((1,0,0,1,1,0))

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在GitHub中获得特定版本的所有提交?   错误GlobalBlockPalette(Nukkit)java 811   java通过一个有效的键访问Map的Map给出了NPE   java如何使用AspectJ从@Around声明的方法中获取值?   流JAVA:BufferdInputStream和BufferedOutputStream   java错误:包com。亚马逊。服务。dynamodbv2不存在?   java Android使用“instanceof”是确定“onItemSelected”中微调器返回的项目类型的唯一方法吗?   java如何更改JProgressBar文本颜色   在同一文件夹中导入java文件   jsoup这个代码有什么问题?(java)(错误:找不到符号方法getValue())   在Java中,如何以随机顺序迭代zip文件中的条目?   java如何从启动服务创建通知或Toast?   为什么我的java awt代码运行得很慢?   JavaSpring应用程序运行,但无法在测试时创建bean   如何增加一个java。sql。14天的时间戳?   Java中的开源标记云库   Java:设计并实现在程序中实现星期几的课程日   hibernate中集合的java@OneToMany映射