Crate rustsat_kissat

Source
Expand description

§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 mode
  • safe: disable writing through popen for more safe usage of the library in applications
  • quiet: exclude message and profiling code (logging too)

§Kissat Versions

Kissat versions can be selected via cargo crate features. The following Kissat versions are available:

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.

Structs§

Interrupter
An Interrupter for the Kissat solver
InvalidApiReturn
Fatal error returned if the Kissat API returns an invalid value
Kissat
The Kissat solver type

Enums§

Config
Possible Kissat configurations
Limit
Possible Kissat limits

Functions§

call_instead_of_abort
Changes Kissat’s abort behavior to call the given function instead
panic_instead_of_abort
Changes Kissat’s abort behavior to cause a Rust panic instead