Go (golang) bindings for Picosat, the satisfiability solver
Tested on Go versions 1.9 and 1.10, but likely works on earlier versions of Go.
The project is hosted on GitHub. You can either download a release or use "go get":
$ go get github.com/wkschwartz/pigosat
PiGoSAT is a wrapper around Picosat, whose C source files are included in this repository.
If you notice a bug or would like to request a feature, please file an issue ticket, checking to see if one exists already.
If you would like to contribute code, please fork PiGoSAT and send a pull request.
Replace picsoat.h
, picosat.c
, and update PicosatVersion
in
pigosat.go
. Copy LICENSE
from PicoSAT to LICENSE.picosat
in PiGoSAT.
Test PiGoSAT by switching to its source directory and running
$ go test -race
Before committing, please run
$ gofmt -w -s .
The only place you need to update the version number is in pigosat.go
's
Version
constant. However, if you git tag
or make a release on GitHub,
make sure the version number matches the tag name.
When a new major or minor version (x.0 or 1.x) of Go is available, increment the
versions you test PiGoSAT with in .travis.yml
, and make a note at the top of
this README document. Go only supports
the current and last minor versions (e.g., 1.8 and 1.7) with security releases,
so these are the versions that PiGoSAT should support.