[package]
edition = "2021"
rust-version = "1.76.0"
name = "rustsat"
version = "0.7.5"
authors = ["Christoph Jabs <christoph.jabs@helsinki.fi>"]
build = false
include = [
"LICENSE",
"CHANGELOG.md",
"README.md",
"/src/",
"/examples/",
"/docs/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "This library aims to provide implementations of elements commonly used in the development on software in the area of satisfiability solving. The focus of the library is to provide as much ease of use without giving up on performance."
readme = "README.md"
keywords = [
"sat",
"satisfiability",
"encodings",
]
license = "MIT"
repository = "https://github.com/chrjabs/rustsat"
[package.metadata.docs.rs]
features = ["_docs"]
rustdoc-args = [
"--cfg",
"docsrs",
]
cargo-args = [
"-Zunstable-options",
"-Zrustdoc-scrape-examples",
]
[features]
_bench = ["_internals"]
_docs = [
"compression",
"fxhash",
"multiopt",
"proof-logging",
"rand",
"serde",
"verbose-proofs",
"_internals",
]
_internals = ["dep:visibility"]
_test = [
"compression",
"fxhash",
"multiopt",
"proof-logging",
"rand",
"serde",
"verbose-proofs",
"_internals",
]
compression = [
"dep:bzip2",
"dep:flate2",
"dep:xz2",
]
default = [
"optimization",
"fxhash",
]
fxhash = ["dep:rustc-hash"]
ipasir-display = []
multiopt = ["optimization"]
optimization = []
proof-logging = ["dep:pigeons"]
rand = ["dep:rand"]
serde = [
"dep:serde",
"pigeons/serde",
]
verbose-proofs = ["proof-logging"]
[lib]
name = "rustsat"
path = "src/lib.rs"
[[example]]
name = "check-solution"
path = "examples/check-solution.rs"
doc-scrape-examples = true
required-features = [
"optimization",
"multiopt",
]
[[example]]
name = "cnf2opb"
path = "examples/cnf2opb.rs"
doc-scrape-examples = true
[[example]]
name = "enumerator"
path = "examples/enumerator.rs"
[[example]]
name = "gbmosplit"
path = "examples/gbmosplit.rs"
doc-scrape-examples = true
required-features = ["optimization"]
[[example]]
name = "mcnf2opb"
path = "examples/mcnf2opb.rs"
doc-scrape-examples = true
required-features = ["multiopt"]
[[example]]
name = "opb2cnf"
path = "examples/opb2cnf.rs"
doc-scrape-examples = true
[[example]]
name = "opb2mcnf"
path = "examples/opb2mcnf.rs"
doc-scrape-examples = true
required-features = ["multiopt"]
[[example]]
name = "opb2wcnf"
path = "examples/opb2wcnf.rs"
doc-scrape-examples = true
required-features = ["optimization"]
[[example]]
name = "print-lits"
path = "examples/print-lits.rs"
doc-scrape-examples = true
[[example]]
name = "profiling"
path = "examples/profiling.rs"
doc-scrape-examples = true
[[example]]
name = "shuffledimacs"
path = "examples/shuffledimacs.rs"
doc-scrape-examples = true
required-features = [
"optimization",
"multiopt",
]
[[example]]
name = "wcnf2opb"
path = "examples/wcnf2opb.rs"
doc-scrape-examples = true
required-features = ["optimization"]
[dependencies.anyhow]
version = "1.0.100"
[dependencies.bzip2]
version = "0.5.2"
optional = true
[dependencies.flate2]
version = "1.1.8"
features = ["zlib-ng"]
optional = true
default-features = false
[dependencies.itertools]
version = "0.14.0"
[dependencies.nom]
version = "7.1.3"
[dependencies.pigeons]
version = "0.2.3"
optional = true
[dependencies.rand]
version = "0.9.2"
optional = true
[dependencies.rustc-hash]
version = "2.1.1"
optional = true
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
optional = true
[dependencies.tempfile]
version = "3.24.0"
[dependencies.thiserror]
version = "2.0.18"
[dependencies.visibility]
version = "0.1.1"
optional = true
[dependencies.xz2]
version = "0.1.7"
optional = true
[dev-dependencies.clap]
version = "4.5.54"
features = [
"derive",
"cargo",
]
[dev-dependencies.concolor-clap]
version = "0.1.0"
[dev-dependencies.gungraun]
version = "0.17.0"
[dev-dependencies.serde_json]
version = "1.0.149"
[dev-dependencies.termcolor]
version = "1.4.1"
[target.'cfg(any(target_family = "unix", target_family = "windows"))'.dependencies.cpu-time]
version = "1.0.0"
[target.'cfg(not(any(target_family = "unix", target_family = "windows")))'.dependencies.web-time]
version = "1.1.0"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(kani)"]
[profile.profiling]
debug = 1
inherits = "release"