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
Built Distributions
File details
Details for the file pyzdd-0.3.0.tar.gz
.
File metadata
- Download URL: pyzdd-0.3.0.tar.gz
- Upload date:
- Size: 49.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67fff997a9f324dd406e513078b556059a2c82f20fc4e4073c0c76c22514bb1e |
|
MD5 | 422bfd68c2a5c0bea749d0fd0209ff64 |
|
BLAKE2b-256 | 703329a1639faddcec58705e6024c162ae09a67601ea93f0f1fbbb2dcf45ce4a |
File details
Details for the file pyzdd-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: pyzdd-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 239.0 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec3a6b07b4dedb2200eff58e2805b0cff4046bfca8f8a3169bc1f25168ab7fd0 |
|
MD5 | 089b74ade1628a372cf100366f27d8dd |
|
BLAKE2b-256 | 1717082911408d37f06787d500ed5a6344e9c492389df2f15058cea7cc7f6e4b |
File details
Details for the file pyzdd-0.3.0-cp311-cp311-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: pyzdd-0.3.0-cp311-cp311-macosx_10_9_x86_64.whl
- Upload date:
- Size: 477.0 kB
- Tags: CPython 3.11, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0cdd469faa5092eedf5a0fb28490d94e29a4cbefb7eafc578a8a806ce8dfdd7a |
|
MD5 | 91c0310b528afb0d475c5bb9b649c788 |
|
BLAKE2b-256 | 9bfb54a5cb0c5dc4ca27fdc12361841010d5294e63df28ada86fc415de8729f5 |
File details
Details for the file pyzdd-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: pyzdd-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 239.0 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40b48822fed60cdea054a8f5ddb6e2bc6530cf7c8265c9c233c8abd4b97a87af |
|
MD5 | 2533191fefc1a48573db1f962d60db0c |
|
BLAKE2b-256 | 176ab1e163d414a9982f88cd3b934df9644c2eaad6c88abee12979500360d59e |
File details
Details for the file pyzdd-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: pyzdd-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl
- Upload date:
- Size: 477.0 kB
- Tags: CPython 3.10, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 659ecdbd2c1a8099f23e92a09e7aff908179d1ba2c4d170c88fea3d0a56d436f |
|
MD5 | 26121fbbca5bc0d1f18f20861f8f363b |
|
BLAKE2b-256 | d7eaae65aa398bb7d46bc3eb3c5c9650864a48c55d45e37490d9232cd985c5cb |
File details
Details for the file pyzdd-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: pyzdd-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 239.3 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d08262d0294e5c978997f3d05eb927a7311e37b8e42bc28ad36f02f7e3778822 |
|
MD5 | 1ae0ed67c190a3494b42749a097128e3 |
|
BLAKE2b-256 | 4af7c52996aa4b20d3560242327cb641c951cfc81f6c46b9b913bbdef80c20e7 |
File details
Details for the file pyzdd-0.3.0-cp39-cp39-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: pyzdd-0.3.0-cp39-cp39-macosx_10_9_x86_64.whl
- Upload date:
- Size: 477.1 kB
- Tags: CPython 3.9, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5989c236b00e135e056239370711747ef4e0829fa2e026ec3c07ea9e415e0ef5 |
|
MD5 | 617526f52e0815b402b9ad5886a7e2f9 |
|
BLAKE2b-256 | 94ffdac312bd46f42f401f508a4b5af46a1b77535fe580468f55c6f6c0d29639 |
File details
Details for the file pyzdd-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: pyzdd-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 238.8 kB
- Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | adc6c3698f23a81137224d0575bb3c6a33cce670c5bec0296f6c42444a114ebb |
|
MD5 | 3c7ab7e00226a3de15c82b8bca0020f4 |
|
BLAKE2b-256 | b3e9a55f27ceeacf5ae45e9ec7f0e0e1b7b8e3456ff44e9b945e1698a86a1d15 |
File details
Details for the file pyzdd-0.3.0-cp38-cp38-macosx_10_9_x86_64.whl
.
File metadata
- Download URL: pyzdd-0.3.0-cp38-cp38-macosx_10_9_x86_64.whl
- Upload date:
- Size: 477.1 kB
- Tags: CPython 3.8, macOS 10.9+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 551c50413cbdf10c8f83a5553fcaf92033bfd92f39828711bf719c10b6803605 |
|
MD5 | 9826f00f6874dab85d734f313280e2ac |
|
BLAKE2b-256 | ff1bd1f506c87bee9d2307a332f2d0ccf63affee3874f939cbe40920f44165b3 |