| Crates.io | rustsat-ipasir |
| lib.rs | rustsat-ipasir |
| version | 0.7.3 |
| created_at | 2024-04-30 15:06:14.324815+00 |
| updated_at | 2025-08-07 13:39:04.375375+00 |
| description | IPASIR bindings for RustSAT |
| homepage | |
| repository | https://github.com/chrjabs/rustsat |
| max_upload_size | |
| id | 1225140 |
| size | 33,973 |
IPASIR is a general incremental interface for SAT solvers. This crate provides bindings for this API to be used with the RustSAT library.
Note: This crate only provides bindings to the API, linking to a IPASIR library needs to be set up by the user. This is intentional to allow easy integration of solvers that we do not provide a specialized crate for. For a plug-and-play experience see the other RustSAT solver crates.
Linking to a IPASIR library can be done by adding something like the following to your projects
build script (build.rs).
// Link to custom IPASIR solver
// Modify this for linking to your static library
// The name of the library should be _without_ the prefix 'lib' and the suffix '.a'
println!("cargo:rustc-link-lib=static=<path-to-your-static-lib>");
println!("cargo:rustc-link-search=<name-of-your-static-lib>");
// If your IPASIR solver links to the C++ stdlib, the next four lines are required
#[cfg(target_os = "macos")]
println!("cargo:rustc-flags=-l dylib=c++");
#[cfg(not(target_os = "macos"))]
println!("cargo:rustc-flags=-l dylib=stdc++");
Currently, the MSRV is 1.76.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.