Este artículo enumera las bibliotecas, aplicaciones y otros programas que permiten o admiten la aritmética de precisión arbitraria .
Bibliotecas
Software de aplicación independiente
Software que admite cálculos de precisión arbitraria:
- bc el lenguaje aritmético de precisión arbitraria POSIX que viene de serie en la mayoría de los sistemas tipo Unix .
- KCalc , calculadora científica basada en Linux
- Maxima : un sistema de álgebra computacional que hereda directamente los números enteros de gran tamaño de su lenguaje de implementación Common Lisp . Además, admite números de punto flotante de precisión arbitraria, denominados bigfloats .
- Maple , Mathematica y otros programas de álgebra computacional incluyen aritmética de precisión arbitraria. Mathematica utiliza GMP para el cálculo aproximado de números.
- PARI/GP , un sistema de álgebra computacional de código abierto que admite precisión arbitraria.
- ¡Qalculate!, una calculadora de precisión arbitraria de software libre y de código abierto con autocompletado.
- SageMath , un sistema de álgebra computacional de código abierto.
- SymPy , un CAS
- Caja de herramientas de matemáticas simbólicas ( MATLAB )
- Desde Windows 98, la Calculadora de Windows utiliza precisión arbitraria para las operaciones básicas (suma, resta, multiplicación, división) y 32 dígitos de precisión para las operaciones avanzadas (raíz cuadrada, funciones trascendentales).
- SmartXML es un lenguaje de programación gratuito con entorno de desarrollo integrado (IDE) para cálculos matemáticos. Permite usar variables de tipo BigNumber o convertir números normales a números grandes mediante el operador de conversión # (por ejemplo, #2.3^2000.1). Los números grandes de SmartXML pueden tener hasta 100 000 000 de dígitos decimales y hasta 100 000 000 de dígitos enteros.
Idiomas
Lenguajes de programación que admiten cálculos de precisión arbitraria, ya sea de forma integrada o en la biblioteca estándar del lenguaje:
- Ada : la próxima revisión Ada 202x agrega los paquetes
Ada.Numerics.Big_Numbers.Big_IntegersyAda.Numerics.Big_Numbers.Big_Realsa la biblioteca estándar, proporcionando números enteros y reales de precisión arbitraria. - Agda : el
BigInttipo de dato en el backend de Epic implementa aritmética de precisión arbitraria. - Common Lisp : El estándar ANSI Common Lisp admite números enteros, de razón y complejos de precisión arbitraria.
- C# :
System.Numerics.BigInteger, desde .NET 5 - ColdFusion : la función integrada
PrecisionEvaluate()evalúa una o más expresiones de cadena, de forma dinámica, de izquierda a derecha, utilizando aritmética de precisión BigDecimal para calcular los valores de expresiones aritméticas de precisión arbitraria. - D : módulo de biblioteca estándar
std.bigint - Dart : el tipo de dato integrado
intimplementa aritmética de precisión arbitraria. - Emacs Lisp : admite números enteros de tamaño arbitrario, a partir de Emacs 27.1.
- Erlang : el tipo de dato integrado
Integerimplementa aritmética de precisión arbitraria. - Go : el paquete de la biblioteca estándar
math/bigimplementa enteros de precisión arbitraria (Inttipo), números racionales (Rattipo) y números de punto flotante (Floattipo). - Guile : los números integrados
exactson de precisión arbitraria. Ejemplo:(expt 10 100)produce el resultado esperado (grande). Los números exactos también incluyen racionales, por lo que(/ 3 4)produce3/4. Uno de los lenguajes implementados en Guile es Scheme . - Haskell : el tipo de dato integrado
Integerimplementa aritmética de precisión arbitraria y elData.Ratiomódulo estándar implementa números racionales. - Idris : el tipo de dato integrado
Integerimplementa aritmética de precisión arbitraria. - ISLISP : El estándar ISO/IEC 13816:1997(E) ISLISP admite números enteros de precisión arbitraria.
- J : precisión extendida incorporada
- Java : Clase
java.math.BigInteger(entero),java.math.BigDecimalClase (decimal) - JavaScript : a partir de ES2020 , BigInt es compatible con la mayoría de los navegadores; [ 3 ] la biblioteca gwt-math proporciona una interfaz para
java.math.BigDecimal, y bibliotecas como DecimalJS , BigInt y Crunch admiten enteros de precisión arbitraria. - Julia
BigFloat: los tipos integradosBigIntproporcionan aritmética de punto flotante y de enteros de precisión arbitraria, respectivamente. - newRPL : los números enteros y de coma flotante pueden tener precisión arbitraria (hasta al menos 2000 dígitos); número máximo de dígitos configurable (por defecto 32 dígitos).
- Nim : bigints y múltiples enlaces GMP .
- OCaml : La biblioteca Num admite números enteros y racionales de precisión arbitraria.
- OpenLisp : admite números enteros de precisión arbitraria.
- Perl : Las
bignumdirectivasbigratpragma proporcionan soporte para BigNum y BigRational en Perl. - PHP : El módulo BC Math proporciona matemáticas de precisión arbitraria.
- PicoLisp : admite números enteros de precisión arbitraria.
- Pike : el tipo integrado
intcambiará silenciosamente de entero nativo de la máquina a precisión arbitraria tan pronto como el valor exceda la capacidad del anterior. - Prolog : Los sistemas Prolog compatibles con el estándar ISO pueden comprobar el indicador "bounded" de Prolog. La mayoría de los principales sistemas Prolog admiten números enteros de precisión arbitraria.
- Python : el tipo de entero integrado
int(3.x) /long(2.x) es de precisión arbitraria. LaDecimalclase del módulo de la biblioteca estándar ` decimal` tiene precisión definible por el usuario y operaciones matemáticas limitadas (exponenciación, raíz cuadrada, etc., pero no funciones trigonométricas). LaFractionclase del módulo ` fractions` implementa números racionales. Se puede acceder a una aritmética de punto flotante de precisión arbitraria más extensa con los paquetes de terceros `mpmath` y `bigfloat`. - Racket : los números integrados
exactson de precisión arbitraria. Ejemplo:(expt 10 100)produce el resultado esperado (grande). Los números exactos también incluyen racionales, por lo que(/ 3 4)produce . Los números de punto flotante de precisión arbitraria están incluidos en el módulo math/bigfloat3/4de la biblioteca estándar . - Raku : Rakudo admite tipos
IntdeFatRatdatos que se convierten en enteros y racionales de precisión arbitraria. - Rexx : variantes que incluyen Open Object Rexx y NetRexx.
- RPL (solo en la serie HP 49/50 en modo exacto ): la calculadora trata los números introducidos sin punto decimal como enteros en lugar de números de coma flotante; los enteros tienen una precisión arbitraria limitada únicamente por la memoria disponible.
- Ruby : el tipo entero integrado
Bignumtiene precisión arbitraria. La clase bigdecimalBigDecimaldel módulo de la biblioteca estándar tiene precisión definible por el usuario. - Esquema : R 5 RS fomenta, y R 6 RS exige, que los enteros exactos y los racionales exactos tengan una precisión arbitraria.
- Scala :
Class BigIntyClass BigDecimal. - Semilla7 :
bigIntegerybigRational. - Self : el tipo integrado admite números enteros de precisión arbitraria
bigInt. - Smalltalk : variantes que incluyen Squeak , Smalltalk/X , GNU Smalltalk , Dolphin Smalltalk , etc.
- SmartXML es un lenguaje de programación gratuito con un entorno de desarrollo integrado (IDE) para cálculos matemáticos.
BigNumberSe pueden usar variables de tipo entero o convertir números regulares a números grandes mediante el operador de conversión#(por ejemplo,#2.3^2000.1). Los números grandes de SmartXML pueden tener hasta 100 000 000 de dígitos decimales y hasta 100 000 000 de dígitos enteros. - ML estándar : La estructura integrada opcional
IntInfimplementa la firma INTEGER y admite enteros de precisión arbitraria. - Tcl : A partir de la versión 8.5 (2007), los enteros son de precisión arbitraria por defecto. (Internamente, el lenguaje cambia a una representación interna de precisión arbitraria para los enteros demasiado grandes para caber en una palabra de máquina. Las interfaces de C deben usar funciones de biblioteca como
Tcl_GetLongFromObjpara obtener valores como tipos de datos nativos de C a partir de enteros de Tcl). - Wolfram Language , al igual que Mathematica , emplea GMP para el cálculo aproximado de números.
Calculadoras en línea
Para cálculos puntuales. Se ejecuta en el servidor o en el navegador. No requiere instalación ni compilación.
- 1. https://www.mathsisfun.com/calculator-precision.html 200 lugares
- 2. http://birrell.org/andrew/ratcalc/ arbitrario; seleccione racional o de punto fijo y número de lugares
- 3. Calculadora en línea PARI/GP - https://pari.math.u-bordeaux.fr/gp.html (PARI/GP es un sistema de álgebra computacional ampliamente utilizado, diseñado para realizar cálculos rápidos en teoría de números (factorizaciones, teoría algebraica de números, curvas elípticas, formas modulares, funciones L...), pero también contiene una gran cantidad de otras funciones útiles para trabajar con entidades matemáticas como matrices, polinomios, series de potencias, números algebraicos, etc., y muchas funciones trascendentales. PARI también está disponible como una biblioteca C para permitir cálculos más rápidos).
- 4.1. AutoCalcs : permite a los usuarios buscar, crear, almacenar y compartir cálculos de varios pasos mediante expresiones explícitas con conversión automática de unidades. Es una plataforma que va más allá de la simple conversión de unidades, lo que se traduce en una mayor eficiencia. En la documentación de AutoCalcs encontrará numerosos ejemplos de cálculos. Los cálculos creados con AutoCalcs pueden integrarse en sitios web de terceros.
- 4.2. Documentación de AutoCalcs : considerando AutoCalcs como el motor de cálculo, este sitio de documentación es una biblioteca con una gran cantidad de cálculos, donde cada cálculo es esencialmente una aplicación web que se puede ejecutar en línea, personalizar aún más y mucho más. Imagínese leer un libro con muchos cálculos; este es el libro/manual con todos los cálculos que puede usar al instante. Cabe mencionar que, cuando los cálculos involucran unidades, la conversión de unidades se puede automatizar.
- 5. Calculadora de números grandes : una calculadora de enteros y decimales de precisión arbitraria, con soporte para desplazamiento decimal y ajuste de tipo de datos.
Referencias
Categorías :
- Listas de software
- aritmética informática