mirror of
https://github.com/ellmau/adf-obdd.git
synced 2025-12-19 09:29:36 +01:00
REORGANISE with workspace (#29)
Reorganise the structure of the repository to have a workspace with the library and the binary.
This commit is contained in:
parent
3f32db45ee
commit
20d59bc767
116
bin/Cargo.lock → Cargo.lock
generated
116
bin/Cargo.lock → Cargo.lock
generated
@ -8,11 +8,15 @@ version = "0.2.1"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"biodivine-lib-bdd",
|
"biodivine-lib-bdd",
|
||||||
"derivative",
|
"derivative",
|
||||||
|
"env_logger 0.9.0",
|
||||||
"lexical-sort",
|
"lexical-sort",
|
||||||
"log",
|
"log",
|
||||||
"nom",
|
"nom",
|
||||||
|
"quickcheck",
|
||||||
|
"quickcheck_macros",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
|
"test-log",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -23,7 +27,7 @@ dependencies = [
|
|||||||
"assert_cmd",
|
"assert_cmd",
|
||||||
"assert_fs",
|
"assert_fs",
|
||||||
"clap",
|
"clap",
|
||||||
"env_logger",
|
"env_logger 0.9.0",
|
||||||
"log",
|
"log",
|
||||||
"predicates",
|
"predicates",
|
||||||
"serde",
|
"serde",
|
||||||
@ -97,7 +101,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "bddcfb460c1131729ec8d797ce0be49ec102506e764ce62f20a40056516851c5"
|
checksum = "bddcfb460c1131729ec8d797ce0be49ec102506e764ce62f20a40056516851c5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"fxhash",
|
"fxhash",
|
||||||
"rand",
|
"rand 0.7.3",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -131,9 +135,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "clap"
|
name = "clap"
|
||||||
version = "3.1.3"
|
version = "3.1.5"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "86f8c0e2a6b902acc18214e24a6935cdaf8a8e34231913d4404dcaee659f65a1"
|
checksum = "ced1892c55c910c1219e98d6fc8d71f6bddba7905866ce740066d8bfea859312"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"atty",
|
"atty",
|
||||||
"bitflags",
|
"bitflags",
|
||||||
@ -148,9 +152,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "clap_derive"
|
name = "clap_derive"
|
||||||
version = "3.1.2"
|
version = "3.1.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "01d42c94ce7c2252681b5fed4d3627cc807b13dfc033246bd05d5b252399000e"
|
checksum = "da95d038ede1a964ce99f49cbe27a7fb538d1da595e4b4f70b8c8f338d17bf16"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"heck",
|
"heck",
|
||||||
"proc-macro-error",
|
"proc-macro-error",
|
||||||
@ -198,6 +202,16 @@ version = "1.6.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
|
checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "env_logger"
|
||||||
|
version = "0.8.4"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3"
|
||||||
|
dependencies = [
|
||||||
|
"log",
|
||||||
|
"regex",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "env_logger"
|
name = "env_logger"
|
||||||
version = "0.9.0"
|
version = "0.9.0"
|
||||||
@ -252,7 +266,18 @@ checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
"libc",
|
"libc",
|
||||||
"wasi",
|
"wasi 0.9.0+wasi-snapshot-preview1",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "getrandom"
|
||||||
|
version = "0.2.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d39cd93900197114fa1fcb7ae84ca742095eed9442088988ae74fa744e930e77"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"libc",
|
||||||
|
"wasi 0.10.2+wasi-snapshot-preview1",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -510,6 +535,28 @@ dependencies = [
|
|||||||
"unicode-xid",
|
"unicode-xid",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "quickcheck"
|
||||||
|
version = "1.0.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6"
|
||||||
|
dependencies = [
|
||||||
|
"env_logger 0.8.4",
|
||||||
|
"log",
|
||||||
|
"rand 0.8.5",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "quickcheck_macros"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b22a693222d716a9587786f37ac3f6b4faedb5b80c23914e7303ff5a1d8016e9"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "quote"
|
name = "quote"
|
||||||
version = "1.0.15"
|
version = "1.0.15"
|
||||||
@ -525,13 +572,22 @@ version = "0.7.3"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
|
checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"getrandom",
|
"getrandom 0.1.16",
|
||||||
"libc",
|
"libc",
|
||||||
"rand_chacha",
|
"rand_chacha",
|
||||||
"rand_core",
|
"rand_core 0.5.1",
|
||||||
"rand_hc",
|
"rand_hc",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand"
|
||||||
|
version = "0.8.5"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
|
||||||
|
dependencies = [
|
||||||
|
"rand_core 0.6.3",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rand_chacha"
|
name = "rand_chacha"
|
||||||
version = "0.2.2"
|
version = "0.2.2"
|
||||||
@ -539,7 +595,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
|
checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ppv-lite86",
|
"ppv-lite86",
|
||||||
"rand_core",
|
"rand_core 0.5.1",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -548,7 +604,16 @@ version = "0.5.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
|
checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"getrandom",
|
"getrandom 0.1.16",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_core"
|
||||||
|
version = "0.6.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
|
||||||
|
dependencies = [
|
||||||
|
"getrandom 0.2.5",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -557,7 +622,7 @@ version = "0.2.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
|
checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"rand_core",
|
"rand_core 0.5.1",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -680,9 +745,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "termcolor"
|
name = "termcolor"
|
||||||
version = "1.1.2"
|
version = "1.1.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4"
|
checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"winapi-util",
|
"winapi-util",
|
||||||
]
|
]
|
||||||
@ -694,10 +759,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "507e9898683b6c43a9aa55b64259b721b52ba226e0f3779137e50ad114a4c90b"
|
checksum = "507e9898683b6c43a9aa55b64259b721b52ba226e0f3779137e50ad114a4c90b"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "textwrap"
|
name = "test-log"
|
||||||
version = "0.14.2"
|
version = "0.2.8"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "0066c8d12af8b5acd21e00547c3797fde4e8677254a7ee429176ccebbe93dd80"
|
checksum = "eb78caec569a40f42c078c798c0e35b922d9054ec28e166f0d6ac447563d91a4"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2",
|
||||||
|
"quote",
|
||||||
|
"syn",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "textwrap"
|
||||||
|
version = "0.15.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "thread_local"
|
name = "thread_local"
|
||||||
@ -746,6 +822,12 @@ version = "0.9.0+wasi-snapshot-preview1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
|
checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasi"
|
||||||
|
version = "0.10.2+wasi-snapshot-preview1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "winapi"
|
name = "winapi"
|
||||||
version = "0.3.9"
|
version = "0.3.9"
|
||||||
47
Cargo.toml
47
Cargo.toml
@ -1,44 +1,3 @@
|
|||||||
[package]
|
[workspace]
|
||||||
name = "adf_bdd"
|
members=[ "lib", "bin" ]
|
||||||
version = "0.2.1"
|
default-members = [ "lib" ]
|
||||||
authors = ["Stefan Ellmauthaler <stefan.ellmauthaler@tu-dresden.de>"]
|
|
||||||
edition = "2021"
|
|
||||||
repository = "https://github.com/ellmau/adf-obdd/"
|
|
||||||
license = "GPL-3.0-only"
|
|
||||||
exclude = ["res/", "./flake*", "flake.lock", "*.nix", ".envrc", "_config.yml"]
|
|
||||||
|
|
||||||
description = "Library to solve grounded, complete, and stable ADF-semantics by utilising OBDDs - ordered binary decision diagrams"
|
|
||||||
build = "build.rs"
|
|
||||||
|
|
||||||
[lib]
|
|
||||||
name="adf_bdd"
|
|
||||||
path = "src/lib.rs"
|
|
||||||
test = true
|
|
||||||
doctest = true # Documentation examples are tested by default.
|
|
||||||
bench = true # Is benchmarked by default.
|
|
||||||
doc = true # Is documented by default.
|
|
||||||
harness = true # Use libtest harness.
|
|
||||||
edition = "2021" # The edition of the target.
|
|
||||||
crate-type = ["lib"] # The crate types to generate.
|
|
||||||
|
|
||||||
[dependencies]
|
|
||||||
log = { version = "0.4"}
|
|
||||||
nom = "7.1.0"
|
|
||||||
lexical-sort = "0.3.1"
|
|
||||||
serde = { version = "1.0", features = ["derive","rc"] }
|
|
||||||
serde_json = "1.0"
|
|
||||||
biodivine-lib-bdd = "0.3.0"
|
|
||||||
derivative = "2.2.0"
|
|
||||||
|
|
||||||
[dev-dependencies]
|
|
||||||
test-log = "0.2"
|
|
||||||
env_logger = "0.9"
|
|
||||||
quickcheck = "1"
|
|
||||||
quickcheck_macros = "1"
|
|
||||||
|
|
||||||
[features]
|
|
||||||
default = ["adhoccounting", "variablelist" ]
|
|
||||||
adhoccounting = [] # count models ad-hoc - disable if counting is not needed
|
|
||||||
importexport = []
|
|
||||||
variablelist = [ "HashSet" ]
|
|
||||||
HashSet = []
|
|
||||||
@ -14,7 +14,7 @@ name = "adf_bdd"
|
|||||||
path = "src/main.rs"
|
path = "src/main.rs"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
adf_bdd = { path = "../" }
|
adf_bdd = { path = "../lib", default-features = false }
|
||||||
clap = {version = "3.1.3", features = [ "derive", "cargo", "env" ]}
|
clap = {version = "3.1.3", features = [ "derive", "cargo", "env" ]}
|
||||||
log = { version = "0.4", features = [ "max_level_trace", "release_max_level_info" ] }
|
log = { version = "0.4", features = [ "max_level_trace", "release_max_level_info" ] }
|
||||||
serde = { version = "1.0", features = ["derive","rc"] }
|
serde = { version = "1.0", features = ["derive","rc"] }
|
||||||
@ -27,6 +27,8 @@ predicates = "2.1"
|
|||||||
assert_fs = "1.0"
|
assert_fs = "1.0"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["adhoccounting"]
|
default = ["adhoccounting", "variablelist", "adf_bdd/default" ]
|
||||||
adhoccounting = [] # count models ad-hoc - disable if counting is not needed
|
adhoccounting = ["adf_bdd/adhoccounting"] # count models ad-hoc - disable if counting is not needed
|
||||||
importexport = []
|
importexport = ["adf_bdd/importexport"]
|
||||||
|
variablelist = [ "HashSet", "adf_bdd/variablelist" ]
|
||||||
|
HashSet = ["adf_bdd/HashSet"]
|
||||||
44
lib/Cargo.toml
Normal file
44
lib/Cargo.toml
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
[package]
|
||||||
|
name = "adf_bdd"
|
||||||
|
version = "0.2.1"
|
||||||
|
authors = ["Stefan Ellmauthaler <stefan.ellmauthaler@tu-dresden.de>"]
|
||||||
|
edition = "2021"
|
||||||
|
repository = "https://github.com/ellmau/adf-obdd/"
|
||||||
|
license = "GPL-3.0-only"
|
||||||
|
exclude = ["res/", "./flake*", "flake.lock", "*.nix", ".envrc", "_config.yml", "tarpaulin-report.*", "*~"]
|
||||||
|
|
||||||
|
description = "Library to solve grounded, complete, and stable ADF-semantics by utilising OBDDs - ordered binary decision diagrams"
|
||||||
|
build = "build.rs"
|
||||||
|
|
||||||
|
[lib]
|
||||||
|
name="adf_bdd"
|
||||||
|
path = "src/lib.rs"
|
||||||
|
test = true
|
||||||
|
doctest = true # Documentation examples are tested by default.
|
||||||
|
bench = true # Is benchmarked by default.
|
||||||
|
doc = true # Is documented by default.
|
||||||
|
harness = true # Use libtest harness.
|
||||||
|
edition = "2021" # The edition of the target.
|
||||||
|
crate-type = ["lib"] # The crate types to generate.
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
log = { version = "0.4"}
|
||||||
|
nom = "7.1.0"
|
||||||
|
lexical-sort = "0.3.1"
|
||||||
|
serde = { version = "1.0", features = ["derive","rc"] }
|
||||||
|
serde_json = "1.0"
|
||||||
|
biodivine-lib-bdd = "0.3.0"
|
||||||
|
derivative = "2.2.0"
|
||||||
|
|
||||||
|
[dev-dependencies]
|
||||||
|
test-log = "0.2"
|
||||||
|
env_logger = "0.9"
|
||||||
|
quickcheck = "1"
|
||||||
|
quickcheck_macros = "1"
|
||||||
|
|
||||||
|
[features]
|
||||||
|
default = ["adhoccounting", "variablelist" ]
|
||||||
|
adhoccounting = [] # count models ad-hoc - disable if counting is not needed
|
||||||
|
importexport = []
|
||||||
|
variablelist = [ "HashSet" ]
|
||||||
|
HashSet = []
|
||||||
1
lib/LICENSE
Symbolic link
1
lib/LICENSE
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../LICENSE
|
||||||
1
lib/README.md
Symbolic link
1
lib/README.md
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../README.md
|
||||||
@ -17,7 +17,7 @@ fn gen_tests() {
|
|||||||
let destination = Path::new(&out_dir).join("tests.rs");
|
let destination = Path::new(&out_dir).join("tests.rs");
|
||||||
let mut test_file = File::create(&destination).unwrap();
|
let mut test_file = File::create(&destination).unwrap();
|
||||||
|
|
||||||
if let Ok(test_data_directory) = read_dir("./res/adf-instances/instances/") {
|
if let Ok(test_data_directory) = read_dir("../res/adf-instances/instances/") {
|
||||||
// write test file header, put `use`, `const` etc there
|
// write test file header, put `use`, `const` etc there
|
||||||
write_header(&mut test_file);
|
write_header(&mut test_file);
|
||||||
|
|
||||||
@ -106,8 +106,10 @@ impl Bdd {
|
|||||||
pub fn restrict(&mut self, tree: Term, var: Var, val: bool) -> Term {
|
pub fn restrict(&mut self, tree: Term, var: Var, val: bool) -> Term {
|
||||||
let node = self.nodes[tree.0];
|
let node = self.nodes[tree.0];
|
||||||
#[cfg(feature = "variablelist")]
|
#[cfg(feature = "variablelist")]
|
||||||
if !self.var_deps[tree.value()].contains(&var) {
|
{
|
||||||
return tree;
|
if !self.var_deps[tree.value()].contains(&var) {
|
||||||
|
return tree;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#[allow(clippy::collapsible_else_if)]
|
#[allow(clippy::collapsible_else_if)]
|
||||||
// Readability of algorithm > code-elegance
|
// Readability of algorithm > code-elegance
|
||||||
Loading…
x
Reference in New Issue
Block a user