Skip to content

Candy Reduced to its Core

License

Unknown, GPL-3.0 licenses found

Licenses found

Unknown
LICENCE
GPL-3.0
COPYING
Notifications You must be signed in to change notification settings

sat-clique/candy

Repository files navigation

Candy

Candy is a modular SAT solver forked from Candy Kingdom and reduced to its core. The original Candy solver is a branch of the well-known SAT solver Glucose. It has been refactored w.r.t. independence and exchangeability of components in the core solver, while increasing the readability and maintainability of the code.

Build

You can build Candy like this:

mkdir build
cd build
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DCMAKE_BUILD_TYPE=Release ..
make candy

Run

In order to run candy and solve a problem example.cnf invoke:

./candy example.cnf

Candy offers a multitude of options, like paramaters to tune heuristics and thresholds, or parameters to select an alternative solving strategy:

./candy --help

Credits

Credits go to SAT CLIQUE, all the people at ITI and to our students.

Build and make on Windows

  • mingw installed (mingw-64 (posix))
  • mingw32-pthreads (mingw32-libpthreadgc-dll, mingw32-libpthreadgc-dev, mingw32-pthreads-w32*)
  • mingw32-libz-dll and mingw32-libz-dev
  • mingw32-libgomp-dll for OpenMP (if needed)
  • everything else required to compile c/c++
  • mingw64\bin directory added to PATH
mkdir release
cd release
cmake -G "MinGW Makefiles" -DZLIB_INCLUDE_DIR=<mingw-include-dir> -DZLIB_LIBRARY=<path-to-mingw-libz.a> -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DCMAKE_BUILD_TYPE=Release ..
cmake --bild . --target candy

example path-to-mingw-include-dir: C:/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/include

example path-to-mingw-libz: C:/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/x86_64-w64-mingw32/lib/libz.a

About

Candy Reduced to its Core

Resources

License

Unknown, GPL-3.0 licenses found

Licenses found

Unknown
LICENCE
GPL-3.0
COPYING

Stars

Watchers

Forks

Packages

No packages published