Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve the README and add CONTRIBUTING #30

Merged
merged 1 commit into from
Mar 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Guide to contributing to Ocplib-simplex

## Release Process

- Make a PR on `master` to initiate the release. The PR must introduce
a new section in `CHANGES.md` with the new version number;
- Once the PR is merged, create a new `vX.Y.Z` branch for the release from the
current `master`.

## Make the release

The release is made using `dune-release`, and follows standard procedure for
the tool:
- `dune-release check` performs basic check;
- `dune-release tag vX.Y.Z` creates a tag on the current branch;
- `dune-release distrib` creates the distribution archive;
- `dune-release publish` publishes the release on GitHub;
- `dune-release opam pkg` creates an archive for opam;
- `dune-release opam submit` opens a PR on the opam repository.
27 changes: 11 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,18 @@
# ocplib-simplex
# Ocplib-simplex

A library implementing a simplex algorithm, in a functional style, for
solving systems of linear inequalities and optimizing linear objective
functions
`Ocplib-simplex` is library implementing a simplex algorithm, in a functional
style, for solving systems of linear inequalities and optimizing linear
objective functions. The implementation is incremental and backtrackable.
It is able to extract unsat-cores for unsatisfiable problems. Versions `> 0.1`
also support linear optimization.

## Website

## Overview

`ocplib-simplex` is a (fully) functional OCaml implementation of the
simplex algorithm for solving systems of linear inequalities. The
implementation is incremental and backtrackable. It is able to extract
unsat-cores for unsatisfiable problems. Versions `> 0.1` also support
linear optimization

Ocplib-simplex's web is available at: https://ocamlpro.github.io/ocplib-simplex

## Dependencies

`ocplib-simplex` requires `4.01.0` or higher and `ocamlfind`.
`ocplib-simplex` requires `4.08.1` or higher and `ocamlfind`.
You can use `make opam-deps` to install dependencies in the current switch.


Expand All @@ -43,11 +39,10 @@ Solving a system of linear inequalities: see the file `tests/standalone_minimal.

Linear optimization: see the file `tests/standalone_minimal_maximization.ml`


## Contributing

Don't hesitate to report encountered bugs on this Git repo's issues
tracker.
tracker. Please follow the [contribution guide][contributing].

## TODO

Expand All @@ -62,4 +57,4 @@ tracker.

`ocplib-simplex` is Copyright (C) --- OCamlPro. it is distributed
under the terms of the GNU Lesser General Public License (LGPL)
version 2.1 (see LICENSE file for more details).
version 2.1 (see LICENSE file for more details).