Skip to main content

Python wrapper to TdZdd

Project description

pyzdd

testing pre-commit.ci status MIT License PyPI - Python Version PyPI version PyPI - Downloads

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

  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.5.tar.gz (48.8 kB view details)

Uploaded Source

Built Distributions

pyzdd-0.2.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (349.8 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pyzdd-0.2.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (349.9 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pyzdd-0.2.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (350.1 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pyzdd-0.2.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (349.9 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

File details

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

File metadata

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

File hashes

Hashes for pyzdd-0.2.5.tar.gz
Algorithm Hash digest
SHA256 00b3f5435b72215c08706f8fbb9d679edcf8ce223a0d100c8ad2d39ec45b6e2a
MD5 9bf733c036a120c58cbfbcabd82e9ce6
BLAKE2b-256 3184bc60747188101e8799e086edcb48d119190aa41902b62ce1a7087c8ff27d

See more details on using hashes here.

File details

Details for the file pyzdd-0.2.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

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

See more details on using hashes here.

File details

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

File metadata

File hashes

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

See more details on using hashes here.

File details

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

File metadata

File hashes

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

See more details on using hashes here.

File details

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

File metadata

File hashes

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

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