Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add wrapper for Splr solver (in Rust). Looks like JNI for Rust provides seamless access to the native world from the JVM side. Project https://github.com/GabrielMajeri/kotlin-rust illustrates its usage from Kotlin specifically.
Currently, I've implemented basic interaction with
splr
: solver creation, variables and clauses declaration, model query. Everything seem to work on Windows (with little fixes of missing libc methods).Next step is to implement the unified high-level wrapper
SplrSolver
forJSplr
, similar to other solvers. Also, splr is able to solve under assumptions, but their management is a little bit cumbersome, so some work has to be made on this behalf.