La biblioteca GNU Multiple Precision Floating-Point Reliable Library ( GNU MPFR ) es una biblioteca C portátil de GNU para el cálculo binario de punto flotante de precisión arbitraria con redondeo correcto , basada en la biblioteca aritmética de precisión múltiple de GNU . [ 2 ] [ 3 ]
Biblioteca
El cálculo de MPFR es eficiente y posee una semántica bien definida: las funciones están completamente especificadas en todos los operandos posibles y los resultados no dependen de la plataforma. [ 4 ] Esto se logra copiando las ideas del estándar ANSI/IEEE-754 para aritmética de punto flotante de precisión fija (redondeo correcto y excepciones, en particular). Más precisamente, sus características principales son:
- Compatibilidad con números especiales: ceros con signo (+0 y −0), infinitos y valores que no son números (se admite un único NaN: MPFR no diferencia entre NaN silenciosos y NaN de señalización).
- Cada número tiene su propia precisión (en bits, ya que MPFR utiliza la base 2). Los resultados de punto flotante se redondean correctamente a la precisión de la variable de destino, en uno de los cinco modos de redondeo admitidos (incluidos los cuatro de IEEE 754-1985 ).
- Funciones compatibles: MPFR implementa todas las funciones matemáticas de C99 y otras funciones matemáticas habituales: el logaritmo y la exponencial en base natural, base 2 y base 10, las funciones log(1+x) y exp(x)−1 (
log1pyexpm1), las seis funciones trigonométricas e hiperbólicas y sus inversas, las funciones gamma , zeta y de error , la media aritmético-geométrica , la función potencia (x y ). Todas estas funciones se redondean correctamente en todo su rango. - Los números subnormales no son compatibles, pero pueden emularse con la
mpfr_subnormalizefunción.
MPFR no puede rastrear la precisión de los números en un programa o expresión completa; ese no es su objetivo. Los paquetes de aritmética de intervalos como Arb, [ 5 ] MPFI, [ 6 ] o las implementaciones de Real RAM como iRRAM, [ 7 ] que pueden basarse en MPFR, pueden hacer eso por el usuario.
MPFR depende de la biblioteca aritmética de precisión múltiple de GNU (GMP).
MPFR es necesario para construir la Colección de Compiladores GNU (GCC). [ 8 ] Otros programas utilizan MPFR, como ALGLIB , CGAL , FLINT , la Calculadora GNOME , la implementación del lenguaje Julia , el sistema de álgebra computacional Magma , Maple , GNU MPC y GNU Octave .
Véase también
Referencias
- ↑ Vincent Lefèvre (20 de marzo de 2025). "Anuncio: Se publica GNU MPFR 4.2.2" . Consultado el 20 de marzo de 2025 .
- ↑ Fousse, L.; Hanrot, G.; Lefèvre, V.; Pélissier, P.; Zimmermann, P. (2007). "MPFR: Una biblioteca de punto flotante binario de precisión múltiple con redondeo correcto". ACM Transactions on Mathematical Software . 33 (2): 13:1–15. doi : 10.1145/1236463.1236468 . S2CID 9641003 .
- ↑ Higham, Nick (8 de octubre de 2015). "El auge de la aritmética de precisión mixta" . Recuperado el 23 de mayo de 2020 .
- ↑ "Preguntas frecuentes sobre MPFR: 1. ¿Cuáles son las diferencias entre MPF de GMP y MPFR?" .
- ↑ "Arb, una biblioteca C para aritmética de bolas de precisión arbitraria" . Consultado el 31 de mayo de 2022 .
- ↑ "Proyecto MPFI" . GitLab en Inria . Consultado el 31 de mayo de 2022 .
- ↑ "iRRAM, una biblioteca de software para aritmética real exacta" . Consultado el 31 de mayo de 2022 .
- ↑ "Serie de lanzamientos de GCC 4.3: cambios, nuevas características y correcciones" . 2 de noviembre de 2012. Consultado el 25 de septiembre de 2013 .
- Bibliotecas de C (lenguaje de programación)
- aritmética informática
- Software libre programado en C
- Software del Proyecto GNU
- Bibliotecas numéricas
- Software que utiliza la Licencia Pública General Reducida de GNU.