oml
0.0.7
A collection of OCaml Math and Statistics functions.
The API is available online.
Goals
Perform simple and sophisticated mathematical and statistical analysis
inside of (mostly) OCaml. Please see Oml_full section
for details.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.
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.Informative examples.
Building
make setup
willopam 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 inModuleName
,
exmake 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 needC
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:
Kaputt for testing.
Bisect_ppx for code coverage.
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.
>= "0.0.3"
>= "1.1.0"