Skip to content

Lipen/kotlin-bdd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2c6ba95 · Jul 31, 2024

History

73 Commits
Nov 3, 2022
Jun 18, 2024
Jun 18, 2024
Jul 31, 2024
Jul 31, 2024
Jun 9, 2022
Dec 6, 2021
Dec 16, 2021
Jul 31, 2024
Dec 6, 2021
Jul 31, 2024
Jul 31, 2024
Dec 9, 2021

Repository files navigation

Binary Decision Diagrams for Kotlin

Build JitPack Hits-of-Code

This project provides a Kotlin implementation of (Reduced Ordered) Binary Decision Diagrams with shared representation and complemented edges.

kotlin-bdd was heavily inspired by CUDD (C/C++), dd (Python) and lib-bdd (Rust), kobdd (Kotlin).

🔥
kotlin-bdd is currently a purely educational project and may not be as feature-complete and/or performant as full-fledged BDD packages such as CUDD, Sylvan, Adiar.

Installation

build.gradle.kts
repositories {
    maven(url = "https://jitpack.io")
}
dependencies {
    implementation("com.github.Lipen:kotlin-bdd:${Versions.kotlin_bdd}")
}

Library usage

// TODO

Run examples

PHP

gw :examples:shadowJar
java -cp examples/build/libs/examples.jar com.github.lipen.bdd.PHPKt

Bibliography

  • R. E. Bryant. "Graph-Based Algorithms for Boolean Function Manipulation," 1986. DOI.

  • K. S. Brace, R. L. Rudell, and R. E. Bryant. "Efficient implementation of a BDD package," 1990. DOI.

  • C. Meinel and T. Theobald. "Algorithms and Data Structures in VLSI Design," 1998. DOI.

  • H. R. Andersen. "An Introduction to Binary Decision Diagrams," 1999. Online.

  • R. E. Bryant. "Binary Decision Diagrams" in Handbook of Model Checking, 2018. DOI.

About

🌪️ Binary Decision Diagrams for Kotlin

Topics

Resources

License

Stars

Watchers

Forks

Languages