Esta biblioteca implementa aritmética de precisión arbitraria en grandes enteros y en racionales.
Esta es una biblioteca heredada. Solía ser parte de la distribución de OCAML del núcleo (en otherlibs/num
) pero ahora se distribuye por separado. Las nuevas aplicaciones que necesitan aritmética de precisión arbitraria deben usar la Biblioteca Zarith (https://github.com/ocaml/zarith) en lugar de la biblioteca NUM, y se alienta a las aplicaciones más antiguas que ya usan NUM a cambiar a Zarith. Zarith ofrece un rendimiento mucho mejor que NUM y tiene una API más agradable.
Para usar la biblioteca Bignum de sus programas, se recomienda usar OcamlFind:
ocamlfind ocamlc -package num ...
ocamlfind ocamlopt -package num ...
Alternativamente, puedes hacer
ocamlc <options> nums.cma <.cmo and .ml files>
ocamlopt <options> nums.cmxa <.cmx and .ml files>
Para el uso de Toplevel, solo emita los comandos
#use "topfind";;
#package "num";;
o
#load "nums.cma";;
Los siguientes módulos están documentados en sus interfaces:
Big_int
: Operaciones en enteros de precisión arbitrariaNum
: Operaciones en números de precisión arbitraria (enteros y racionales)Arith_status
: banderas que controlan la aritmética racionalSe puede encontrar más documentación sobre las funciones proporcionadas en esta biblioteca en el manual de referencia de números CAML por Valérie Ménissier-Morain, Informe técnico de INRIA 141, julio de 1992, http://hal.inria.fr/docs/00/07/00/ 27/PDF/RT-0141.PDF
Prerrequisitos: Ocaml versión 4.04 o más recién nacido.
make all PROFILE=release
make test
make install
make clean
Esta biblioteca se deriva de la implementación de la aritmética racional de Valérie Ménissier-Morain para CAML V3.1. Xavier Leroy hizo el puerto de luz Caml. Victor Manuel Gulias Fernández hizo el puerto de luz especial / OCAML de CAML inicial. Pierre Weis realizó la mayor parte del mantenimiento y la corrección de errores.
Inicialmente, las operaciones enteras grandes de bajo nivel fueron proporcionadas por el paquete Bignum desarrollado por Bernard Serpette, Jean Vuillemin y Jean-Claude Hervé (Inria y PRL digital). Los problemas de licencia nos obligaron a reemplazar el paquete Bignum. La implementación actual de operaciones enteras grandes de bajo nivel se debe a Xavier Leroy.