Esta biblioteca implementa aritmética de precisão arbitrária em grandes números inteiros e em racionais.
Esta é uma biblioteca herdada. Costumava fazer parte da distribuição principal da OCAML (em otherlibs/num
), mas agora é distribuída separadamente. Novos aplicativos que precisam de aritmética de precisão arbitrária devem usar a Biblioteca Zarith (https://github.com/ocaml/zarith) em vez da biblioteca NUM, e os aplicativos mais antigos que já usam Num são incentivados a mudar para Zarith. Zarith oferece desempenho muito melhor que o NU e tem uma API mais agradável.
Para usar a biblioteca Bignum em seus programas, é recomendável usar o OCAMLFIND:
ocamlfind ocamlc -package num ...
ocamlfind ocamlopt -package num ...
Como alternativa, você pode fazer
ocamlc <options> nums.cma <.cmo and .ml files>
ocamlopt <options> nums.cmxa <.cmx and .ml files>
Para uso de Toplevel, basta emitir os comandos
#use "topfind";;
#package "num";;
ou
#load "nums.cma";;
Os módulos a seguir estão documentados em suas interfaces:
Big_int
: operações em números inteiros de precisão arbitráriaNum
: Operações em números de precisão arbitrária (números inteiros e racionais)Arith_status
: sinalizadores que controlam aritmética racionalMais documentação sobre as funções fornecidas nesta biblioteca podem ser encontradas no Manual de Referência de Números CAML por Valérie Ménissier-Morain, Relatório Técnico da Inria 141, julho de 1992, http://hal.inria.fr/docs/00/07/00/ 27/pdf/rt-0141.pdf
Pré -requisitos: OCAML versão 4.04 ou mais recente.
make all PROFILE=release
make test
make install
make clean
Esta biblioteca é derivada da implementação da aritmética racional de Valérie Ménissier-Morain para CAML v3.1. Xavier LeRoy fez a porta de luz CAML. Victor Manuel Gulias Fernandez fez o porto inicial de luz / ocaml especial da CAML. Pierre Weis fez a maior parte da manutenção e a fixação de bugs.
Inicialmente, as operações inteiras de baixo nível foram fornecidas pelo pacote Bignum, desenvolvido por Bernard Serpette, Jean Vuillemin e Jean-Claude Hervé (Inria e Digital PRL). Os problemas de licença nos forçaram a substituir o pacote Bignum. A implementação atual de operações inteiras de baixo nível deve-se a Xavier LeRoy.