Skip to main content

Python wrapper to TdZdd

Project description

pyzdd

testing pre-commit.ci status MIT License

Python wrapper to TdZdd

Installation

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 src/test
cmake -S . -B build
cmake --build build -j 32
cd build && ctest -vv

Write Custom Specification

  1. Write a TdZdd-specification in src/spec/*.hpp
  2. Let the new specification class be A, wrap the following classes and methods in src/wrapper.cpp
    • tdzdd::DdSpecBase<A, 2>
    • tdzdd::DdSpec<A, T, 2>
    • A
    • tdzdd::DdStructure<2>::zddSubset<A>
  3. import _pyzdd.A in pyzdd/__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.4.tar.gz (48.1 kB view details)

Uploaded Source

Built Distributions

pyzdd-0.2.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (235.5 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pyzdd-0.2.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (235.9 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pyzdd-0.2.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (235.6 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

File details

Details for the file pyzdd-0.2.4.tar.gz.

File metadata

  • Download URL: pyzdd-0.2.4.tar.gz
  • Upload date:
  • Size: 48.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for pyzdd-0.2.4.tar.gz
Algorithm Hash digest
SHA256 f14e7a6a7f57f503eeed83daad3fc63de35630e7cc6bb2189152fa3a7c15943e
MD5 23e37fae096d05136ac7a660feac1be2
BLAKE2b-256 ad70852bd576d344eb1aef677ff30e26d6b9db57d47f1393fe939cf41c093ee4

See more details on using hashes here.

File details

Details for the file pyzdd-0.2.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyzdd-0.2.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e5b330b1d979ec0e263815d88c7d9a03cb7c756b351960b5fb8f72fc35ad4ea2
MD5 8e73c44692a833892dfb16ee0c655e30
BLAKE2b-256 944b170c3e4bbd191a1cdfc571c0882a15332ab156f6379c3f6b82768317c236

See more details on using hashes here.

File details

Details for the file pyzdd-0.2.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyzdd-0.2.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 60bf76921a42aa77d45c9326457e09d02340b14e28e2a76e199d5afaafe4f42a
MD5 d7395309ed02a7603c14c042a7fb2655
BLAKE2b-256 bcec83c61ee8f18627b7db87b02e5dacb6684813b60a235257d1376b9bc95dd1

See more details on using hashes here.

File details

Details for the file pyzdd-0.2.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyzdd-0.2.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5b5a7ee1ed4402275cb49b0f5fd2e45f97fe94ed67c8d71426dd2b74f6cbc4a7
MD5 58eeb8c9b0b5905bf42597f3cb14e18f
BLAKE2b-256 386bd00e70d41f8ebff9b93ebc6b545fb013688248c3c78e5fdaca9153f9ff5b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page