Perpustakaan ini mengimplementasikan aritmatika presisi-sewenang-wenang pada bilangan bulat besar dan rasional.
Ini adalah perpustakaan warisan. Dulu menjadi bagian dari distribusi OCAML inti (di otherlibs/num
) tetapi sekarang didistribusikan secara terpisah. Aplikasi baru yang membutuhkan aritmatika precision sewenang-wenang harus menggunakan Perpustakaan Zarith (https://github.com/ocaml/zarith) alih-alih Pustaka NUM, dan aplikasi lama yang sudah menggunakan NUM didorong untuk beralih ke Zarith. Zarith memberikan kinerja yang jauh lebih baik daripada NUM dan memiliki API yang lebih bagus.
Untuk menggunakan pustaka Bignum dari program Anda, disarankan untuk menggunakan OcamlFind:
ocamlfind ocamlc -package num ...
ocamlfind ocamlopt -package num ...
Atau, Anda bisa melakukannya
ocamlc <options> nums.cma <.cmo and .ml files>
ocamlopt <options> nums.cmxa <.cmx and .ml files>
Untuk penggunaan level, cukup kembalikan perintahnya
#use "topfind";;
#package "num";;
atau
#load "nums.cma";;
Modul -modul berikut didokumentasikan dalam antarmuka mereka:
Big_int
: Operasi pada bilangan bulat presisi sewenang-wenangNum
: Operasi pada nomor presisi sewenang-wenang (bilangan bulat dan rasional)Arith_status
: Bendera yang mengontrol aritmatika rasionalDokumentasi lebih lanjut tentang fungsi yang disediakan di perpustakaan ini dapat ditemukan dalam Manual Referensi Nomor CAML oleh Valérie Ménissier-Morain, Laporan Teknis Inria 141, Juli 1992, http://hal.inria.fr/docs/00/07/00/ 27/pdf/rt-0141.pdf
Prasyarat: OCAML Versi 4.04 atau lebih baru.
make all PROFILE=release
make test
make install
make clean
Perpustakaan ini berasal dari implementasi aritmatika rasional Valérie Ménissier-Morain untuk CAML v3.1. Xavier Leroy melakukan port lampu CAML. Victor Manuel Gulias Fernandez melakukan port CAML Special Light / OCAML awal. Pierre Weis melakukan sebagian besar pemeliharaan dan perbaikan bug.
Awalnya, operasi integer besar tingkat rendah disediakan oleh paket Bignum yang dikembangkan oleh Bernard Serpette, Jean Vuillemin dan Jean-Claude Hervé (Inria dan Digital PRL). Masalah lisensi memaksa kami untuk mengganti paket Bignum. Implementasi operasi integer besar tingkat rendah saat ini adalah karena Xavier Leroy.