-
Notifications
You must be signed in to change notification settings - Fork 9
/
opam
79 lines (72 loc) · 2.34 KB
/
opam
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
opam-version: "2.0"
name: "sundialsml"
version: "dev"
maintainer: "[email protected]"
authors: [
"Timothy Bourke <[email protected]>"
"Jun Inoue <[email protected]>"
"Marc Pouzet <[email protected]>"
]
homepage: "http://inria-parkas.github.io/sundialsml/"
bug-reports: "https://github.com/inria-parkas/sundialsml/issues"
doc: "http://inria-parkas.github.io/sundialsml/"
dev-repo: "git://github.com/inria-parkas/sundialsml"
tags: [
"numerical"
"simulation"
"mathematics"
"science"
]
license: "BSD-3-Clause"
build: [
["./configure" "--stubdir=%{stublibs}%/"
"--libdir=%{lib}%/"
"--docdir=%{doc}%/sundialsml/"
"--os-distribution=%{os-distribution}%"]
]
install: [
[make "-j%{jobs}%" "install-findlib"]
]
build-doc: [
[make "doc"]
[make "install-doc"]
]
run-test: [
[make "-j%{jobs}%" "tests.opt.log"]
]
remove: [
["ocamlfind" "remove" "sundialsml"]
["rm" "-rf" "%{doc}%/sundialsml"]
]
depends: [
"ocaml" {>= "4.03.0"}
"base-bigarray"
"ocamlfind" {build}
"conf-sundials" {>= "2" & build}
]
depopts: [
"mpi"
]
synopsis: "Interface to the Sundials suite of numerical solvers"
description: """
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
more than 50%."""