Введение

Библиотека C для вычислений с плавающей точкой произвольной точности.

GNU Multiple Precision Floating Point Reliable Library (GNU MPFR) – это переносимая библиотека GNU на языке C для вычислений с бинарными числами с плавающей точкой произвольной точности с корректным округлением, основанная на GNU Multi Precision Library.

Библиотека

Вычисления MPFR эффективны и имеют чётко определённую семантику: функции полностью определены для всех возможных операндов, и результаты не зависят от платформы. Это достигается за счёт использования идей стандарта ANSI/IEEE 754 для арифметики чисел с фиксированной точностью (в частности, правильного округления и обработки исключений). Более точно, его основные особенности: поддержка специальных чисел: знаковые нули (+0 и −0), бесконечности и «не число» (поддерживается один NaN: MPFR не различает тихие NaN и сигнальные NaN). Каждое число имеет свою точность (в битах, поскольку MPFR использует основание 2). Результаты операций с плавающей точкой правильно округляются до точности целевой переменной в одном из пяти поддерживаемых режимов округления (включая четыре из IEEE 754 1985). Поддерживаемые функции: MPFR реализует все математические функции из C99 и другие стандартные математические функции: логарифм и экспонента по основанию *e*, 2 и 10, функции log(1+x) и exp(x)−1 (log1p и expm1), шесть тригонометрических и гиперболических функций и их обратные, гамма, дзета и функции ошибок, среднее арифметико-геометрическое, функция возведения в степень (x^y). Все эти функции правильно округляются на всем своём диапазоне. Субнормальные числа не поддерживаются, но могут быть эмулированы с помощью функции `mpfr_subnormalize`. MPFR не предназначен для отслеживания точности чисел во всей программе или выражении; это не входит в его задачи. Пакеты интервальной арифметики, такие как Arb, MPFI, или реализации арифметики с использованием вещественной памяти, такие как iRRAM (которые могут быть основаны на MPFR), могут выполнять эту задачу за пользователя. MPFR зависит от библиотеки GNU Multiple Precision Arithmetic Library (GMP). MPFR необходим для сборки GNU Compiler Collection (GCC). Другие программные продукты используют MPFR, такие как ALGLIB, CGAL, FLINT, GNOME Calculator, реализация языка Julia, система компьютерной алгебры Magma, Maple, GNU MPC и GNU Octave.