GNU MPFR
Deweloperzy | Projekt GNU ( INRIA i inne) |
---|---|
Pierwsze wydanie | 4 lutego 2000 |
Wersja stabilna | 4.2.0 / 6 stycznia 2023 r
|
Magazyn | |
Napisane w | C |
System operacyjny | Międzyplatformowe |
Typ | Oprogramowanie matematyczne |
Licencja | LGPL |
Strona internetowa |
GNU Multiple Precision Floating-Point Reliable Library ( GNU MPFR ) to przenośna biblioteka C GNU do binarnych obliczeń zmiennoprzecinkowych o dowolnej precyzji z prawidłowym zaokrągleniem , oparta na GNU Multi-Precision Library .
Biblioteka
Obliczenia MPFR są zarówno wydajne, jak i mają dobrze zdefiniowaną semantykę: funkcje są całkowicie określone na wszystkich możliwych operandach, a wyniki nie zależą od platformy. Odbywa się to poprzez skopiowanie pomysłów ze ANSI/IEEE-754 dla arytmetyki zmiennoprzecinkowej o stałej precyzji (w szczególności prawidłowe zaokrąglanie i wyjątki). Dokładniej, jego główne cechy to:
- Obsługa liczb specjalnych: zera ze znakiem (+0 i −0), nieskończoności i liczba niebędąca liczbą (obsługiwany jest pojedynczy NaN: MPFR nie rozróżnia cichych NaN i sygnalizujących NaN).
- Każda liczba ma swoją własną precyzję (w bitach, ponieważ MPFR używa podstawy 2). Wyniki zmiennoprzecinkowe są poprawnie zaokrąglane do dokładności zmiennej docelowej, w jednym z pięciu obsługiwanych trybów zaokrąglania (w tym czterech z IEEE 754-1985 ).
- Obsługiwane funkcje: MPFR implementuje wszystkie funkcje matematyczne z C99 i inne zwykłe funkcje matematyczne: logarytm i wykładnik o podstawie naturalnej, o podstawie 2 i o podstawie 10, funkcje log(1+x) i exp(x)−1 (
log1p
iexpm1
) , sześć funkcji trygonometrycznych i hiperbolicznych oraz ich odwrotności, funkcje gamma , zeta i błędu , średnia arytmetyczno-geometryczna , funkcja potęgowa (x y ). Wszystkie te funkcje są poprawnie zaokrąglone w całym zakresie. -
Liczby podnormalne nie są obsługiwane, ale można je emulować za pomocą funkcji
mpfr_subnormalize
.
MPFR nie jest w stanie śledzić dokładności liczb w całym programie lub wyrażeniu; nie to jest jego celem. Interwałowe pakiety arytmetyczne, takie jak implementacje Arb, MPFI lub Real RAM , takie jak iRRAM, które mogą być oparte na MPFR, mogą to zrobić za użytkownika.
MPFR jest zależny od GNU Multiple Precision Arithmetic Library (GMP).
MPFR jest potrzebny do zbudowania GNU Compiler Collection (GCC). Inne oprogramowanie wykorzystuje MPFR, takie jak ALGLIB , CGAL , FLINT , GNOME Calculator , implementacja języka Julia , system algebry komputerowej Magma , Maple , GNU MPC i GNU Octave .