Python wrapper to TdZdd
Project description
pyzdd
Python wrapper to TdZdd
Installation
pyzdd works with Python3.8+ and can be installed via PyPI:
pip install pyzdd
or in local:
git clone git@github.com:lan496/pyzdd.git
cd pyzdd
pip install -e .
How to cite pyzdd
If you use this package in your research, please cite TdZDD as follows.
@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}
}
The citation for the isomorphism-elimination DD is as follows.
@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}
}
Development
Installation
./clean.sh && pip install -e ".[dev]"
pre-commit install
Testing
cd xtal_tdzdd/test
cmake -S . -B build
cmake --build build -j 32
cd build && ctest -vv
Building Python wheels in local
# Linux build
cibuildwheel --platform linux
# MacOS build
cibuildwheel --platform macos
Write Custom Specification
- Write a TdZdd-specification in
src/spec/*.hpp
- Let the new specification class be
A
, wrap the following classes and methods insrc/wrapper.cpp
tdzdd::DdSpecBase<A, 2>
tdzdd::DdSpec<A, T, 2>
A
tdzdd::DdStructure<2>::zddSubset<A>
- import
_pyzdd.A
inpyzdd/__init__.py
References
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyzdd-0.2.6.tar.gz
(49.4 kB
view hashes)
Built Distributions
Close
Hashes for pyzdd-0.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ca063d8f2e280d9198a7b0ea84ba2dca80af47830d0f47a5a19b32a0fbf4673 |
|
MD5 | ab0acb1eb2a9e39087b9287dcbbbc969 |
|
BLAKE2b-256 | 3f070c7464fb6e51a67414ed84219fa89a1fabba06e2bbd7eaffa2eccc7704b6 |
Close
Hashes for pyzdd-0.2.6-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4cd8f171d0b10c686351164d482b436e20bf500344767debcbd5ba0e1aa16181 |
|
MD5 | cf83abd2a684ab130ce15f2f86cf9d76 |
|
BLAKE2b-256 | 300ac0ae2525fd836adc81926a47525a8247b088efe5c3df69f6d65c68024648 |
Close
Hashes for pyzdd-0.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7ae87770be0713ffa7d1301fd0882bd18ae1283d9faf09af1a571de85911c18 |
|
MD5 | f423b238b5fa0b265509d253612015ce |
|
BLAKE2b-256 | 7e584da76735945ad873505e36a1bd4376b12d5cd933ed2ea40ef101b9232d32 |
Close
Hashes for pyzdd-0.2.6-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32eb9fccbe5117bc191d12fb955b5318f093a2a5f3f0a52f4425977a9909c424 |
|
MD5 | 75a1abf6d29599ef48bff58d0c4fc114 |
|
BLAKE2b-256 | 690ef89716f26628a801340ce67bf19383695e85c03bee231ebb22cbc34b0e68 |
Close
Hashes for pyzdd-0.2.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4348f9614976bf39d54400fd18b722cea32da95fd7630fcdff873606798e521 |
|
MD5 | 9d64dc9d4e47691434e48c01f3f44b0b |
|
BLAKE2b-256 | 9dd11164ea2d9b44cf3e22db493059d595578eda2bfb8c6be09e86b3a206d0ca |
Close
Hashes for pyzdd-0.2.6-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d46e052be530bc3483b5f488b19cf5a359f20f4e6c6bbfb411e7b05405c8189 |
|
MD5 | 80c9140b5c1c4200c1e417430adebd1b |
|
BLAKE2b-256 | ee200138c7e5140be35e061baaf074fa9a1be09feb6831a4dd79248cb1bb24d1 |
Close
Hashes for pyzdd-0.2.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c33c0e67ffea8dbea101ff4dc3a301d7253b30ec5b734d7231782eeae0903ebc |
|
MD5 | 5a7a52f797f8ca4115652f5ba0c1792d |
|
BLAKE2b-256 | 4acb8337432fd1859570cf870d7594a7c134b27046f53b7e2819a51e168c1e43 |
Close
Hashes for pyzdd-0.2.6-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69eaa914f099d08267bb9fab20e85c5900e658833c3be414f504935fe4a6a7df |
|
MD5 | 56d67c4f8d514cacb53cde55e30ef419 |
|
BLAKE2b-256 | 3896c1d9a33f4d610f043a130259681449cc9440bbb29b863a5ff52b34a1bf0d |