GNU Multiple Precision Arithmetic Library

GNU Multiple Precision Arithmetic Library (lub GMP) – biblioteka programistyczna udostępniająca liczby całkowite ze znakiem, wymierne i zmiennoprzecinkowe o dowolnej precyzji. Nie ma limitu na precyzję z wyjątkiem dostępnej ilości wolnej pamięci operacyjnej na komputerze z tą biblioteką. GMP ma bogaty zestaw funkcji o schematycznych nazwach (by łatwiej je zapamiętać). Podstawowym interfejsem dla biblioteki jest język C, ale są dostępne interfejsy także w innych językach, np. C++, Ocaml, Perl i Python.

GNU Multiple-Precision Library
logo
Autor The GNU Project
Pierwsze wydanie 1991
Aktualna wersja stabilna 6.3.0
(30 lipca 2023) [±]
Platforma sprzętowa Wieloplatformowość
Rodzaj Biblioteka matematyczna
Licencja LGPL
Strona internetowa

Głównym zastosowaniem dla GMP są aplikacje kryptograficzne, naukowe, pakiety bezpieczeństwa internetowego i wiele systemów komputerowej algebry, takich jak Mathematica[1].

GMP ma ambicje być najszybszą biblioteką tego typu dla wszystkich wielkości operandów. Czynnikami umożliwiającymi to zamierzenie są:

  • Używanie pełnych słów jako podstawowy typ arytmetyczny,
  • Używanie różnych algorytmów dla różnych wielkości operandów (najszybsze algorytmy dla naprawdę dużych liczb rzadko są najszybsze dla małych liczb),
  • Wysoce zoptymalizowany kod asemblerowy dla najbardziej krytycznych zagnieżdżonych pętli, który jest specjalnie napisany pod konkretny CPU.

GMP został wydany pierwszy raz w roku 1991. Jest ciągle rozwijany i utrzymywany w tempie około jednego wydania na rok.

GMP jest częścią projektu GNU, aczkolwiek nie jest utrzymywany pod adresem gnu.org. Jest wydawany na licencji LGPL.

Zobacz też edytuj

Przypisy edytuj

Linki zewnętrzne edytuj