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.cpptdzdd::DdSpecBase<A, 2>tdzdd::DdSpec<A, T, 2>Atdzdd::DdStructure<2>::zddSubset<A>
- import
_pyzdd.Ainpyzdd/__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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|