ГНУ МПФР
Разработчик(и) | Проект GNU ( INRIA и другие) |
---|---|
Первоначальный выпуск | 4 февраля 2000 г |
Стабильная версия | 4.2.1 / 22 августа 2023 г |
Репозиторий | |
Написано в | С |
Операционная система | Кросс-платформенный |
Тип | Математическое программное обеспечение |
Лицензия | LGPL |
Веб-сайт | www |
( Надежная библиотека GNU Multiple Precision Floating-Point GNU MPFR ) — это GNU переносимая C библиотека для произвольной точности двоичных вычислений с плавающей запятой с правильным округлением , основанная на библиотеке GNU Multi-Precision Library . [1] [2]
Библиотека
[ редактировать ]Вычисления MPFR эффективны и имеют четко определенную семантику: функции полностью определены для всех возможных операндов, а результаты не зависят от платформы. [3] Это делается путем копирования идей стандарта ANSI/IEEE-754 для арифметики с плавающей запятой фиксированной точности (в частности, правильного округления и исключений). Точнее, его основными особенностями являются:
- Поддержка специальных чисел: нули со знаком (+0 и -0), бесконечности и не-числа (поддерживается одиночный NaN: MPFR не различает тихие NaN и сигнальные NaN).
- Каждое число имеет свою точность (в битах, поскольку MPFR использует систему счисления 2). Результаты с плавающей запятой правильно округляются до точности целевой переменной в одном из пяти поддерживаемых режимов округления (включая четыре из IEEE 754-1985 ).
- Поддерживаемые функции: MPFR реализует все математические функции из C99 и другие обычные математические функции: логарифм и экспоненту в натуральном основании, по основанию 2 и по основанию 10, функции log(1+x) и exp(x)−1 (
log1p
иexpm1
), шесть тригонометрических и гиперболических функций и их обратных, гамма- , дзета- функции и функции ошибок , среднее арифметико-геометрическое , степень (x и ) функция. Все эти функции правильно округлены по всему диапазону. - Субнормальные числа не поддерживаются, но их можно эмулировать с помощью
mpfr_subnormalize
функция.
MPFR не может отслеживать точность чисел во всей программе или выражении; это не его цель. интервальной арифметики, такие как Arb, Пакеты [4] МПФИ, [5] или реализации Real RAM , такие как iRRAM, [6] который может быть основан на MPFR, может сделать это за пользователя.
MPFR зависит от арифметической библиотеки множественной точности GNU (GMP).
MPFR необходим для сборки коллекции компиляторов GNU (GCC). [7] Другое программное обеспечение использует MPFR, такое как ALGLIB , CGAL , FLINT , GNOME Calculator , языка Julia реализация , система компьютерной алгебры Magma , Maple , GNU MPC и GNU Octave .
Ссылки
[ редактировать ]- ^ Фусс, Л.; Ханрот, Г.; Лефевр, В.; Пелисье, П.; Циммерманн, П. (2007). «MPFR: двоичная библиотека с плавающей запятой многократной точности и правильным округлением». Транзакции ACM в математическом программном обеспечении . 33 (2): 13:1–15. дои : 10.1145/1236463.1236468 . S2CID 9641003 .
- ^ Хайэм, Ник (8 октября 2015 г.). «Рост арифметики смешанной точности» . Проверено 23 мая 2020 г.
- ^ «Часто задаваемые вопросы по MPFR: 1. Чем MPFR отличается от GMP и MPFR?» .
- ^ «Arb, библиотека C для шаровой арифметики произвольной точности» . Проверено 31 мая 2022 г.
- ^ «Проект МПФИ» . GitLab в Инрии . Проверено 31 мая 2022 г.
- ^ «iRRAM, программная библиотека для точной вещественной арифметики» . Проверено 31 мая 2022 г.
- ^ «Серия выпусков GCC 4.3: изменения, новые функции и исправления» . 02.11.2012 . Проверено 25 сентября 2013 г.