El múltiple Biblioteca Real de precisión de punto flotante de GNU ( GNU MPFR ) es un GNU portátil C biblioteca de precisión arbitraria binaria de punto flotante de cálculo con redondeo correcto , basado en GNU Biblioteca de precisión múltiple . [1] [2]
Desarrollador (es) | Proyecto GNU ( INRIA y otros) |
---|---|
Versión inicial | 4 de febrero de 2000 |
Lanzamiento estable | 4.1.0 / 10 de julio de 2020 |
Repositorio | |
Escrito en | C |
Sistema operativo | Multiplataforma |
Tipo | Software matemático |
Licencia | LGPL |
Sitio web | www |
El cálculo de MPFR es eficiente y tiene una semántica bien definida: las funciones están completamente especificadas en todos los operandos posibles y los resultados no dependen de la plataforma. [2] Esto se hace 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 principales características son:
- Soporte para números especiales: ceros con signo (+0 y −0), infinitos y no un número (se admite un solo NaN).
- Cada número tiene su propia precisión (en bits, ya que MPFR usa 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 exponencial en base natural, base 2 y base 10, las funciones log (1 + x) y exp (x) −1 (
log1p
yexpm1
), la seis funciones trigonométricas e hiperbólicas y sus inversas, las funciones gamma , zeta y error , la media aritmética-geométrica , la función de potencia (x y ). Todas esas funciones están correctamente redondeadas sobre su rango completo. - No se admiten subnormales , pero se pueden emular con la
mpfr_subnormalize
función.
MPFR no puede rastrear la precisión de los números en un programa o expresión completa; este no es su objetivo. Los paquetes aritméticos de intervalos como Arb , MPFI o implementaciones de Real RAM como iRRAM , que pueden estar basados en MPFR, pueden hacer eso por el usuario.
MPFR depende de la biblioteca aritmética de precisión múltiple (GMP) de GNU .
Se necesita MPFR para construir la Colección de compiladores GNU (GCC). [3] Otro software usa MPFR, como ALGLIB , CGAL , FLINT , GNOME Calculator , la implementación del lenguaje Julia , el sistema de álgebra computacional Magma , Maple , GNU MPC y GNU Octave .
Referencias
- ^ Fousse, L .; Hanrot, G .; Lefèvre, V .; Pélissier, P .; Zimmermann, P. (2007). "MPFR: una biblioteca de coma flotante binaria de precisión múltiple con redondeo correcto". Transacciones ACM en software matemático . 33 (2): 13: 1-15. doi : 10.1145 / 1236463.1236468 . S2CID 9641003 .
- ^ a b Higham, Nick (8 de octubre de 2015). "El auge de la aritmética de precisión mixta" . Consultado el 23 de mayo de 2020 .
- ^ "Serie de versiones GCC 4.3: cambios, nuevas funciones y correcciones" . 2012-11-02 . Consultado el 25 de septiembre de 2013 .
enlaces externos
- Sitio web oficial de MPFR
- Página del proyecto MPFR