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.8.tar.gz
(49.6 kB
view hashes)
Built Distributions
Close
Hashes for pyzdd-0.2.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e34120f1ea6dc8293dbdc6fd70288715468dfdd8bd6ba2595e858f978d3b10d |
|
MD5 | 933a0edfbee8424b598f601f34c2526e |
|
BLAKE2b-256 | 764e6658b66745e2faa0b20233ef549625d8b53194d78d0655f4452940281240 |
Close
Hashes for pyzdd-0.2.8-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 732c2e8db30481ca90121569001a4139354451423ee529ad884c26a87c3b713f |
|
MD5 | 21bde1f2ae42c09d5fecc1f08e4a0b99 |
|
BLAKE2b-256 | 386251fa43a26f478cc8966b349fedf8e03d08e381b5b4fb2ba91606947ff191 |
Close
Hashes for pyzdd-0.2.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50be6960e6a7d2a9df603b031fac151e464911b6cc7493eee1b5d7a9694aa92b |
|
MD5 | 35ee1ff4c575467bd395671c3af94352 |
|
BLAKE2b-256 | dd2b6a5c8e42bedb733628ff45d3cbdcdf0feebd3b5d272c019f63ee1afe968a |
Close
Hashes for pyzdd-0.2.8-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95ed6c71eacf086f1ae1d6d50f2da070bda6f3a8f33a2799bf594dd140ff5805 |
|
MD5 | d0ae48df53fe8f0b142f253d2738ae41 |
|
BLAKE2b-256 | 004055fa64968fc1ea95c33c64630b7fe893116a8c62ac401c0bf81d3d0d83be |
Close
Hashes for pyzdd-0.2.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c243d20d859b00f015001203cb7253ebb2fc8c483ddccaa6e1aed8db4d71d625 |
|
MD5 | a3a8fddb5b4245f1e71af993374c9fb9 |
|
BLAKE2b-256 | c156de8ef645f81eee4b0ddcc695e2fba7fe55b948196eb09bc0e93eb754811f |
Close
Hashes for pyzdd-0.2.8-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6dc84aaf77f8af221006c68b475c75939c555dbe900e034ab8f85252d59bf63b |
|
MD5 | 08ff60974a6f84ffca9d5b3c3f24d79d |
|
BLAKE2b-256 | 9d0cad29b77c36fe9bdb26ae2452461ef2ff77886cfc5b761008090b1428a4c4 |
Close
Hashes for pyzdd-0.2.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ae556226e320f881020d70488348bda744f88fd8fe7a933c0f93df75d6333af |
|
MD5 | 0751ba93e9f8c54e63c8aebdb8db7359 |
|
BLAKE2b-256 | 85cd1ee62094479f0b302d0bb6e1da1833afe81691cf687b043d3b27b9f8f98b |
Close
Hashes for pyzdd-0.2.8-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f1eed9771f9650d6f97696eaae3905538aea23262841d883dfbd8ae7b646e627 |
|
MD5 | a741a04ff724b12e34a212b9ac936781 |
|
BLAKE2b-256 | 2fcb2d34c14f10c36d082d2a988d94456b7333f5bcffa43b70d110825b18ae23 |