Gini Versions Save

A fast SAT solver

v1.0.4

2 years ago

This release fixes common case hash collision in logic.C. This can greatly improve performance for apps which make use of logic.C but has no effect on solving. Special thanks to Evan Cordell (Redhat).

v1.0.3

2 years ago

This release re-organises our documentation for a more streamlined README.md and GH pages integration.

v1.0.2

2 years ago

Move to go-air.

v1.0.1

5 years ago

Release 1.0.1 is another administrative release which provides a DOI via zenodo.

v1.0.0

5 years ago

Release 1.0.0 adds no features and changes no code. It is an administrative release which

  • Decommercializes gini.
  • Simplifies the license (MIT, 1 author).
  • Corresponds to a transition of IRI France, SAS from a company to an open source organisation.
  • Places the code under the community development rather than the original author.

v0.9.29

5 years ago

aiger bugfix and usability improvements

This release fixes a bug in the aiger ascii output for latch values and
adds some usability/performance improvements

For usability, we have added a Write method to gini to have it dump
a dimacs CNF to a writer.

For performance, we have made it so that more learned clauses could be
derived in incremental mode with test scopes when the last solve gave
unsat.

v0.9.28

5 years ago

This release includes some more incremental cleanup:

  1. Explicitly pass results of backing out of unsat results in test scopes via cleanupSolve
  2. properly reheapify var queue when variables grow.

v0.9.27

5 years ago

This release fixes another corner case test scope bug after much intense testing.

0.9.25

5 years ago

This release

  1. Fixes and cleans up some minor documentation issues.
  2. Improvements to and hardening of incremental use.
  • One can now assume literals before they are otherwise referenced.
  • A corner case of recently added support for using Test after unsat result was fixed.

v0.9.23

5 years ago

This release adds interface and performance improvements to incremental usage

  1. inter.S now has a Try(dur time.Duration) method without going through GoSolve
  2. phase initialisation only occurs when there are more variables
  3. sat result checking against added clauses only occurs when new clauses have been added and clause [de]activation is not in use.

These yield a simpler interface and 2-3x performance improvement for use cases where there are lots of very easy Solve queries.