Diese Bibliothek implementiert ein beliebiges Präzisions-Arithmetik für große ganze Zahlen und Rationals.
Dies ist eine Legacy -Bibliothek. Früher war es Teil der Kernverteilung (in otherlibs/num
), ist aber jetzt separat verteilt. Neue Anwendungen, die ein arithmisches Arithmetik für beliebige Präzision benötigen, sollten die Zarith-Bibliothek (https://github.com/ocaml/zarith) anstelle der NUM-Bibliothek verwenden, und ältere Anwendungen, die bereits NUM verwenden, werden aufgefordert, zu Zarith zu wechseln. Zarith liefert eine viel bessere Leistung als Num und hat eine schönere API.
Um die Bignum -Bibliothek aus Ihren Programmen zu verwenden, wird empfohlen, OCAMLFind zu verwenden:
ocamlfind ocamlc -package num ...
ocamlfind ocamlopt -package num ...
Alternativ können Sie tun
ocamlc <options> nums.cma <.cmo and .ml files>
ocamlopt <options> nums.cmxa <.cmx and .ml files>
Für die Verwendung von Toplevel geben Sie einfach die Befehle aus
#use "topfind";;
#package "num";;
oder
#load "nums.cma";;
Die folgenden Module sind in ihren Schnittstellen dokumentiert:
Big_int
: Operationen mit beliebigen ZahlenzahlenNum
: Operationen zu beliebigen Nummern (Ganzzahlen und Rationals)Arith_status
: Flags, die die rationale Arithmetik steuernWeitere Dokumentationen zu den in dieser Bibliothek bereitgestellten Funktionen finden Sie im CAML-Nummernreferenzhandbuch von Valérie Ménissier-morain, Inria Technischer Bericht 141, Juli 1992, http://hal.inria.fr/docs/00/07/00/00/ 27/PDF/RT-0141.PDF
Voraussetzungen: OCAML Version 4.04 oder neuer.
make all PROFILE=release
make test
make install
make clean
Diese Bibliothek stammt aus Valérie Ménissier-Morain-Implementierung der rationalen Arithmetik für CAML V3.1. Xavier Leroy hat den CAML Light Port gemacht. Victor Manuel Gulias Fernandez hat den ersten CAML -Speziallicht / OCAML -Anschluss durchgeführt. Pierre Weis hat den größten Teil der Wartungs- und Fehlerbehebung durchgeführt.
Zunächst wurden die von Bernard Serpette, Jean Vuillemin und Jean-Claude Hervé (INRIA und Digital PRL) entwickelten Bignum-Paket mit niedrigem Niveau Big Integer Operations bereitgestellt. Lizenzprobleme haben uns gezwungen, das Bignum -Paket zu ersetzen. Die aktuelle Implementierung von großen Ganzzahl-Operationen auf niedrigem Niveau ist auf Xavier Leroy zurückzuführen.