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
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.5.tar.gz
(48.8 kB
view hashes)
Built Distributions
Close
Hashes for pyzdd-0.2.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61eafa4c6d07b7b3fbce79849a8099731e604cc609279f6441f4eae1f3981d15 |
|
MD5 | d79cf59cd1dd0f8a1bb08ea4a79c72d6 |
|
BLAKE2b-256 | 5744901b6b825171e51678adaeaee91899b096b6bb2f542a5e0258d4f05ad7eb |
Close
Hashes for pyzdd-0.2.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06fa00263620a1cf80803b5c9d5babdeb7472be16366be5acafc5a3fd5261e25 |
|
MD5 | a8456bcaf4fa27a29f4eb63ee6fe1812 |
|
BLAKE2b-256 | 6de499668f949f5b26f5e4874d2170effc84f553cec86b4b9cfcd61d3c1cd3f4 |
Close
Hashes for pyzdd-0.2.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f4eb237133ad696e09525eed2fc69637ac8cde6acf6a72ba88b38b926dda57a |
|
MD5 | 361359d20c3a007963c7f56a6eb4cc98 |
|
BLAKE2b-256 | 016295143c98a04b437b500e4907997eceff437315e56416e81cdc22d1002ae9 |
Close
Hashes for pyzdd-0.2.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7b464cf6ea1bf297768d5141e2b8af1167106a4a375e56ccfd21f4569504ceb |
|
MD5 | 2abc11c7f40d19820c3daaed852ca66a |
|
BLAKE2b-256 | 97c6eee45a02d51df9683bb174be499f356adfa04d3814fc5ca02b2ec696229a |