跳转到主要内容

TdZdd的Python包装器

项目描述

pyzdd

testing pre-commit.ci status MIT License PyPI - Python Version PyPI version PyPI - Downloads

TdZdd的Python包装器

安装

pyzdd与Python3.8+兼容,可以通过PyPI安装

pip install pyzdd

或本地安装

git clone git@github.com:lan496/pyzdd.git
cd pyzdd
pip install -e .

如何引用pyzdd

如果您在研究中使用此包,请按照以下方式引用TdZDD。

@techreport{Iwashita13,
  author = {Hiroaki Iwashita and Shinichi Minato},
  memo = {Efficient Top-Down {ZDD} Construction Techniques Using Recursive Specifications},
  year = {2013},
  number = {TCS-TRA-1369,
  INSTITUTION = {Graduate School of Information Science and Technology, Hokkaido University}
}

同构消除DD的引用如下。

@inproceedings{Horiyama2018,
  memo ={Isomorphism Elimination by Zero-Suppressed Binary Decision Diagrams},
  author={Takashi Horiyama and Masahiro Miyasaka and Riku Sasaki},
  booktitle={the Canadian Conference on Computational Geometry},
  pages={360--366},
  address={Winnipeg, Manitoba, Canada}
  year={2018},
  url={http://www.cs.umanitoba.ca/~cccg2018/papers/session7B-p2.pdf}
}

开发

安装

./clean.sh && pip install -e ".[dev]"
pre-commit install

测试

cd xtal_tdzdd/test
cmake -S . -B build
cmake --build build -j 32
cd build && ctest -vv

在本地构建Python wheel

# Linux build
cibuildwheel --platform linux

# MacOS build
cibuildwheel --platform macos

编写自定义规范

  1. src/spec/*.hpp中编写TdZdd规范
  2. 让新的规范类为A,在src/wrapper.cpp中包装以下类和方法
    • tdzdd::DdSpecBase<A, 2>
    • tdzdd::DdSpec<A, T, 2>
    • A
    • tdzdd::DdStructure<2>::zddSubset<A>
  3. pyzdd/__init__.py中导入_pyzdd.A

参考文献

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。

源代码分发

pyzdd-0.3.0.tar.gz (49.3 kB 查看哈希值)

上传时间 源代码

构建分发

pyzdd-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (239.0 kB 查看哈希值)

上传时间 CPython 3.11 manylinux: glibc 2.17+ x86-64

pyzdd-0.3.0-cp311-cp311-macosx_10_9_x86_64.whl (477.0 kB 查看哈希值)

上传时间 CPython 3.11 macOS 10.9+ x86-64

pyzdd-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (239.0 kB 查看哈希值)

上传时间 CPython 3.10 manylinux: glibc 2.17+ x86-64

pyzdd-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl (477.0 kB 查看哈希值)

上传时间 CPython 3.10 macOS 10.9+ x86-64

pyzdd-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (239.3 kB 查看哈希值)

上传时间 CPython 3.9 manylinux: glibc 2.17+ x86-64

pyzdd-0.3.0-cp39-cp39-macosx_10_9_x86_64.whl (477.1 kB 查看哈希值)

上传时间 CPython 3.9 macOS 10.9+ x86-64

pyzdd-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (238.8 kB 查看哈希值)

上传时间 CPython 3.8 manylinux: glibc 2.17+ x86-64

pyzdd-0.3.0-cp38-cp38-macosx_10_9_x86_64.whl (477.1 kB 查看哈希值)

上传时间 CPython 3.8 macOS 10.9+ x86-64

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页