18 releases
new 0.7.1 | May 1, 2025 |
---|---|
0.3.6 | Mar 27, 2025 |
0.3.3 | Dec 20, 2024 |
0.3.1 | Oct 16, 2024 |
0.1.2 | Oct 30, 2023 |
#1433 in Algorithms
219 downloads per month
Used in 2 crates
2MB
51K
SLoC
rustsat-kissat - Interface to the Kissat SAT Solver for RustSAT
Armin Biere's SAT solver Kissat to be used with the RustSAT library.
Note: at the moment this crate is known to not work on Windows since Kissat is non-trivial to get to work on Windows.
Features
debug
: if this feature is enables, the C library will be built with debug functionality if the Rust project is built in debug modesafe
: disable writing throughpopen
for more safe usage of the library in applicationsquiet
: exclude message and profiling code (logging too)
Kissat Versions
Kissat versions can be selected via cargo crate features. The following Kissat versions are available:
v4-0-2
: Version 4.0.2v4-0-1
: Version 4.0.1v4-0-0
: Version 4.0.0v3-1-0
: Version 3.1.0v3-0-0
: Version 3.0.0sc2022-light
: SAT Competition 2022 Lightsc2022-hyper
: SAT Competition 2022 Hypersc2022-bulky
: SAT Competition 2022 Bulky
Without any features selected, the newest version will be used. If conflicting Kissat versions are requested, the newest requested version will be selected.
If the determined version is not the newest available, and no custom source directory is specified (see customization below), the Kissat source code is downloaded at compile time, which requires network access.
Customization
In order to build a custom version of Kissat, this crate supports the KISSAT_SRC_DIR
environment variable.
If this is set, Kissat will be built from the path specified there.
Minimum Supported Rust Version (MSRV)
Currently, the MSRV is 1.77.0, the plan is to always support an MSRV that is at least a year old.
Bumps in the MSRV will not be considered breaking changes. If you need a specific MSRV, make sure to pin a precise version of RustSAT.
Note that the specified minimum-supported Rust version only applies if the newest version of
Kissat is build.
Older versions are pulled down via the git2
crate, which has
transitive dependencies that have a higher MSRV.
Dependencies
~4–15MB
~220K SLoC