package oml

All checked builds pass
  1. Overview
  2. Docs

Description

Build Status Coverage Status Gitter

A collection of OCaml Math and Statistics functions. The API is available online.

Added to opam-repository:

README

OCaml Math Library

0.0.7

Build Status Coverage Status Gitter

A collection of OCaml Math and Statistics functions. The API is available online.

Goals

  1. Perform simple and sophisticated mathematical and statistical analysis inside of (mostly) OCaml. Please see Oml_full section for details.
  2. Have a descriptive, simple, and typed approach to those algorithms.

    • descriptive: what a function does should be easy to understand from the type and name.
    • simple: don't worry about the corner cases of the algorithms, until you have to.
    • typed: obviously.
  3. Well tested. There are a subtle dependency between float capabilities and these algorithms. The test suite aims to provide bounds as well as a benchmark for comparing algorithms.
  4. Informative examples.

Building

  • make setup will opam install the necessary packages for Oml_full.
  • make build will compile source.
  • make test for tests. - We use Kaputt as the testing framework. Tests are found in *.mlt files and are joined with their respective source files only when building a test target. - make TEST={ModuleName} test will run the test in ModuleName, ex make TEST=Descriptive test - make setup_test will install packages necessary for testing.
  • make covered_test for Bisect_ppx instrumented test coverage.

Oml_full

Oml_full is a superset of Oml that includes C and/or Fortran dependencies. It is generally more useful and incorporates Oml in a typed equivalent way. The goal is to provide a flexible end-user target for those who don't need C dependent functionality.

Dependencies

For the "full" Oml package make setup will opam install these:

  • Lacaml for BLAS/LAPACK bindings.
  • LBFGS for bindings to LBFGS optimization routines.
  • ocephes for special functions.

And for testing:

Contributing

Anything within the problem domain is welcome.

Questions, Bugs, Issues

The best place to discuss Oml is within Github's issues (even for questions).

Guideline

"Favor readers over writers" and Favor users over readers.

Dependencies (4)

  1. topkg build
  2. ocamlbuild build
  3. ocamlfind build
  4. ocaml >= "4.03"

Dev Dependencies (2)

  1. dsfo with-test
  2. kaputt with-test

Used by (1)

  1. hlarp >= "0.0.3"

Conflicts (4)

  1. ocephes < "0.8"
  2. lbfgs < "0.8.7"
  3. lacaml >= "9.2.3"
  4. lacaml < "8.0.6"

Build status

Results of building oml with each compiler on check.ci.ocaml.org, run of against opam-repository 7cdc698. All results for this package.

Each result links to its build log. To keep crawlers from overloading the site, build logs require a GitHub sign-in (see ocurrent/opam-health-check). On your first log, GitHub asks you to “Authorize opam-health-check”, the OCurrent app that runs these checks; it sees only your public profile, not your repositories. The sign-in lasts 30 days.

Version OCaml 4.11 OCaml 4.14 OCaml 5.2 OCaml 5.4 OCaml 5.5
0.0.7 (this version) good good good good good
  • good Package successfully built
  • partial One of the dependencies failed to build
  • bad Package failed to build
  • n/a Package is not available in this environment
  • internal Internal failure