Skip to content

Commit

Permalink
minor README update
Browse files Browse the repository at this point in the history
  • Loading branch information
antoinemine committed Jan 18, 2021
1 parent b3071e0 commit b50c8c8
Showing 1 changed file with 8 additions and 13 deletions.
21 changes: 8 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ However, small integers are represented as unboxed Caml integers, to save
space and improve performance. Big integers are allocated in the Caml heap,
bypassing GMP's memory management and achieving better GC behavior than e.g.
the MLGMP library.
Computations on small integers use a special, faster path (coded in assembly
for some platforms and functions) eschewing calls to GMP, while computations
on large intergers use the low-level MPN functions from GMP.
Computations on small integers use a special, faster path (in C or OCaml)
eschewing calls to GMP, while computations on large intergers use the
low-level MPN functions from GMP.

Arbitrary-precision integers can be compared correctly using OCaml's
polymorphic comparison operators (`=`, `<`, `>`, etc.).
Expand Down Expand Up @@ -94,7 +94,7 @@ See LICENSE file for details.

## AUTHORS

* Antoine Miné, Université Pierre et Marie Curie, formerly ENS Paris.
* Antoine Miné, Sorbonne Université, formerly at ENS Paris.
* Xavier Leroy, INRIA Paris-Rocquencourt.
* Pascal Cuoq, TrustInSoft.
* Christophe Troestler (toplevel module)
Expand All @@ -115,17 +115,12 @@ INRIA Rocquencourt (Institut national de recherche en informatique, France).
Source files | Description
--------------------|-----------------------------------------
configure | configuration script
caml_z.c | C implementation of all functions
caml_z_*.S | asm implementation for a few functions
z_pp.pl | script to generate z.ml[i] from z.ml[i]p
z.ml[i]p | templates used to generate z.ml[i]p
z.ml[i] | Z module and implementation for small integers
caml_z.c | C implementation
big_int_z.ml[i] | wrapper to provide a Big_int compatible API to Z
q.ml[i] | rational library, pure OCaml on top of Z
zarith_top.ml | toplevel module to provide pretty-printing
projet.mak | builds Z, Q and the tests
zarith.opam | package description for opam
z_mlgmpidl.ml[i] | conversion between Zarith and MLGMPIDL
tests/ | simple regression tests and benchmarks

Note: `z_pp.pl` simply scans the asm file (if any) to see which functions have
an asm implementation. It then fixes the external statements in .mlp and
.mlip accordingly.
The argument to `z_pp.pl` is the suffix `*` of the `caml_z_*.S` to use (guessed by configure).

0 comments on commit b50c8c8

Please sign in to comment.