-
Notifications
You must be signed in to change notification settings - Fork 6
/
index.tex
executable file
·91 lines (75 loc) · 3.03 KB
/
index.tex
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
80
81
82
83
84
85
86
87
88
89
90
91
\documentclass[a4paper,11pt]{article}
\htmlcss{style.css}
\htmltitle{MLGMPIDL}
\htmlpanel{0}
\setcounter{htmlautomenu}{1}
\setcounter{htmldepth}{1}
\usepackage{hyperlatex}
\usepackage{xspace}
%\usepackage{frames}
\newcommand{\ocaml}{\xlink{OCaml}{http://www.caml.org}\xspace}
\newcommand{\gmp}{\xlink{GMP}{http://gmplib.org/}\xspace}
\newcommand{\mpfr}{\xlink{MPFR}{http://www.mpfr.org/}\xspace}
\newcommand{\camlidl}{\xlink{CamlIDL}{http://caml.inria.fr/camlidl/}\xspace}
\newcommand{\findlib}{\xlink{FINDLIB}{http://projects.camlcity.org/projects/findlib.html}\xspace}
\title{MLGMPIDL}
\date{}
\author{}
\begin{document}
%\xmlattributes*{img}{align="left"}
%\xlink{\htmlimg{http://devel.inria.fr/logo_inria.png}{INRIA}}{http://www.inria.fr}
\xlink{Up}{../index.html}
\maketitle
\section{About}
MLGMPIDL is a package offering an interface to the \gmp and \mpfr
libraries for \ocaml version 3.07 or higher. The interface offers
access to almost all the functions of the library, and is decomposed into 7 submodules, corresponding to C
modules:
\noindent
\begin{tabular}{l@{~:~~}l}
Mpz & GMP integers, with side-effect semantics (as in C library) \\
Mpq & GMP rationals, with side-effect semantics (as in C library) \\
Mpzf & GMP integers, with functional semantics \\
Mpqf & GMP rationals, with functional semantics \\
Mpf & GMP multiprecision floating-point numbers \\
Gmp\_random & GMP random number functions \\
Mpfr & MPFR multiprecision floating-point numbers, with side-effect semantics (as in C library) \\
Mpfrf & MPFR multiprecision floating-point numbers, with functional semantics
\end{tabular}
There already exist such an interface, \textsc{mlgmp}, written by
D. Monniaux and available
\xlink{here}{http://www.di.ens.fr/~monniaux/programmes.html.en}.
The motivation for writing a new one were:
\begin{enumerate}
\item The fact that \textsc{mlgmp} provides by default a
functional interface to \textsc{GMP}, potentially more costly in
term of memory allocation than an imperative interface.
\textsc{mlgmp} provides only a relative small numbers of
functions in an imperative version.
\item The compatibility with the \textsc{CamlIDL} tool.
\textsc{MLGmpIDL} uses \textsc{CamlIDL}, so that other OCaml/C
interfaces written with \textsc{CamlIDL} may reuse the
\textsc{MLGmpIDL} \texttt{.idl} files.
\end{enumerate}
\section{License}
LGPL with an exception allowing the redistribution of statically linked
executables.
\section{Requirements}
\begin{itemize}
\item An ANSI C compiler (only gcc with ansi option has been really
tested)
\item The \gmp and (optionally) the \mpfr libraries
\item The \ocaml system (of course !)
\item The \camlidl stub code generator
\item Optional (but strongly recommended): \findlib.
\end{itemize}
\section{Download}
\begin{itemize}
\item \xlink{Subversion repository}{http://gforge.inria.fr/plugins/scmsvn/viewcvs.php/?root=mlxxxidl}
\end{itemize}
\section{Documentation}
\begin{itemize}
\item \xlink{On-line}{html/index.html}
\item \xlink{PDF}{mlgmpidl.pdf}
\end{itemize}
\end{document}