···
+
maintainer: "tim@tbrk.org"
+
"Timothy Bourke <tim@tbrk.org>"
+
"Jun Inoue <Jun.Lambda@gmail.com>"
+
"Marc Pouzet <Marc.Pouzet@ens.fr>"
+
homepage: "http://inria-parkas.github.io/sundialsml/"
+
bug-reports: "https://github.com/inria-parkas/sundialsml/issues"
+
dev-repo: "git+https://github.com/inria-parkas/sundialsml"
+
doc: "http://inria-parkas.github.io/sundialsml/"
+
license: "BSD-3-Clause"
+
["./configure" "--stubdir=%{stublibs}%/"
+
"--docdir=%{doc}%/sundialsml/"
+
"--os-distribution=%{os-distribution}%"]
+
[make "doc"] {with-doc}
+
[make "install-findlib"]
+
[make "install-doc"] {with-doc}
+
"conf-sundials" {>= "2" & build}
+
synopsis: "Interface to the Sundials suite of numerical solvers"
+
conflicts: ["base-domains"]
+
Sundials is a collection of six numerical solvers: CVODE, CVODES, IDA, IDAS,
+
ARKODE, and KINSOL. This interface provides access to all features of the
+
underlying library except the Hypre and PETSC nvectors.
+
The structure of the OCaml interface mostly follows that of the original
+
library, both for ease of reading the existing documentation and for
+
converting existing source code, but several changes have been made for
+
programming convenience and to increase safety, namely:
+
- solver sessions are mostly configured via algebraic data types rather than
+
multiple function calls;
+
- errors are signalled by exceptions not return codes (also from
+
user-supplied callback routines);
+
- user data is shared between callback routines via closures (partial
+
applications of functions);
+
- vectors are checked for compatibility with a session (using a combination
+
of static and dynamic checks), and;
+
- explicit free commands are not necessary since OCaml is a
+
garbage-collected language.
+
The detailed OCaml documentation contains cross-links to the original
+
documentation. OCaml versions of the standard examples usually have an
+
overhead of about 30% compared to the original C versions, and only rarely
+
src: "https://github.com/inria-parkas/sundialsml/archive/refs/tags/v6.1.0p0.tar.gz"
+
checksum: "md5=fce8b029866ded92a025aaa33056c0b3"