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 hashes)

Uploaded Source

Built Distributions

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

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 hashes)

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 hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

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