Список арифметических программ произвольной точности - List of arbitrary-precision arithmetic software
В этой статье перечислены библиотеки, приложения и другое программное обеспечение, которое позволяет или поддерживает арифметику произвольной точности .
Библиотеки
Автономное прикладное программное обеспечение
Программное обеспечение, поддерживающее вычисления произвольной точности:
-
Ьс в POSIX произвольной точности арифметических языке , который поставляется со стандартным на большинстве Unix-подобных систем.
- dc : "Desktop Calculator" RPN-калькулятор произвольной точности, входящий в стандартную комплектацию большинства Unix-подобных систем.
- KCalc , научный калькулятор на базе Linux
- Maxima : система компьютерной алгебры, в которой большие целые числа напрямую унаследованы от языка ее реализации Common Lisp . Кроме того, он поддерживает числа с плавающей запятой произвольной точности, bigfloats .
- Maple , Mathematica и несколько других программ компьютерной алгебры включают арифметику произвольной точности. Mathematica использует GMP для приблизительного вычисления чисел.
- PARI / GP , система компьютерной алгебры с открытым исходным кодом , поддерживающая произвольную точность.
- Qalculate! , бесплатный программный калькулятор произвольной точности с открытым исходным кодом и автозаполнением.
- SageMath , система компьютерной алгебры с открытым исходным кодом
- SymPy , CAS
- Набор инструментов Symbolic Math ( MATLAB )
- Калькулятор Windows , начиная с Windows 98, использует произвольную точность для основных операций (сложение, вычитание, умножение, деление) и 32 цифры точности для расширенных операций (квадратный корень, трансцендентные функции).
- SmartXML , бесплатный язык программирования с интегрированной средой разработки (IDE) для математических вычислений. Можно использовать переменные типа BigNumber или преобразовать обычные числа в большие числа с помощью оператора преобразования # (например, # 2.3 ^ 2000.1). Большие числа SmartXML могут иметь до 100000000 десятичных цифр и до 100000000 целых цифр.
Языки
Языки программирования, поддерживающие вычисления произвольной точности, встроенные или в стандартной библиотеке языка:
-
Agda :
BigInt
тип данных на бэкэнде Epic реализует арифметику произвольной точности. - Common Lisp : Стандарт ANSI Common Lisp поддерживает целые числа произвольной точности, отношения и комплексные числа.
-
C # :,
System.Numerics.BigInteger
из .NET 5 -
ColdFusion : встроенная
PrecisionEvaluate()
функция вычисляет одно или несколько строковых выражений динамически слева направо, используя арифметику точности BigDecimal для вычисления значений арифметических выражений произвольной точности. -
D : стандартный библиотечный модуль
std.bigint
-
Dart : встроенный
int
тип данных реализует арифметику произвольной точности. - Emacs Lisp : поддерживает целые числа произвольного размера, начиная с Emacs 27.1.
-
Erlang : встроенный
Integer
тип данных реализует арифметику произвольной точности. -
Go : стандартный пакет библиотеки
math/big
реализует целые числа произвольной точности (Int
тип), рациональные числа (Rat
тип) и числа с плавающей запятой (Float
тип) -
Коварство : встроенные
exact
числа имеют произвольную точность. Пример:(expt 10 100)
дает ожидаемый (большой) результат. Точные числа также включают рациональные числа, поэтому(/ 3 4)
производит3/4
. Одним из языков, реализованных в Guile, является Scheme . -
Haskell : встроенный
Integer
тип данных реализует арифметику произвольной точности, а стандартныйData.Ratio
модуль реализует рациональные числа. -
Идрис : встроенный
Integer
тип данных реализует арифметику произвольной точности. - ISLISP : Стандарт ISO / IEC 13816: 1997 (E) ISLISP поддерживает целые числа произвольной точности.
- J : встроенная функция повышенной точности
-
Java : класс
java.math.BigInteger
(целое число),java.math.BigDecimal
класс (десятичный) -
JavaScript : начиная с ES2020 , BigInt поддерживается в большинстве браузеров; GWT-математическая библиотека предоставляет интерфейс
java.math.BigDecimal
, и библиотеки , такие как DecimalJS , BigInt и Crunch поддержки произвольной точности целых чисел. -
Джулия : встроенная
BigFloat
иBigInt
типы обеспечивают произвольную точность с плавающей точкой и целочисленной арифметикой соответственно. - newRPL : целые числа и числа с плавающей запятой могут иметь произвольную точность (не менее 2000 цифр); максимальное количество настраиваемых цифр (по умолчанию 32 цифры)
- Ним : bigints и множественные привязки GMP .
- OCaml : библиотека Num поддерживает целые и рациональные числа произвольной точности.
- OpenLisp : поддерживает целые числа произвольной точности.
-
Perl :
bignum
иbigrat
псевдокомментарии обеспечивают BigNum и BigRational поддержку Perl. - PHP : модуль BC Math обеспечивает математику произвольной точности.
- PicoLisp : поддерживает целые числа произвольной точности.
-
Пайк : встроенный
int
тип незаметно изменится с машинного целого числа на произвольную точность, как только значение превысит возможности первого. - Пролог : совместимые со стандартом ISO системы Пролога могут проверять флаг Пролога как «ограниченный». Большинство основных систем Prolog поддерживают целые числа произвольной точности.
-
Python : встроенный целочисленный тип
int
(3.x) /long
(2.x) имеет произвольную точность.Decimal
Класс в стандартной библиотеке модуля десятичного имеет определяемый пользователь точность и ограниченные математические операции (возведение в степень, квадратный корень и т.д. , но не тригонометрические функций).Fraction
Класс в модуле фракциях реализует рациональные числа. Более обширная арифметика произвольной точности с плавающей запятой доступна в сторонних пакетах "mpmath" и "bigfloat". -
Ракетка : встроенные
exact
числа имеют произвольную точность. Пример:(expt 10 100)
дает ожидаемый (большой) результат. Точные числа также включают рациональные числа, поэтому(/ 3 4)
производит3/4
. Числа произвольной точности с плавающей запятой включены в стандартный библиотечный модуль math / bigfloat . -
Раку : Rakudo поддерживает
Int
иFatRat
типы данных , которые способствуют к произвольной точности целых и рациональных чисел. - Rexx : варианты, включая Open Object Rexx и NetRexx
- RPL (только для серии HP 49/50 в точном режиме ): калькулятор рассматривает числа, введенные без десятичной точки, как целые, а не как числа с плавающей запятой; целые числа имеют произвольную точность, ограниченную только доступной памятью.
-
Ruby : встроенный
Bignum
целочисленный тип произвольной точности.BigDecimal
Класс в стандартной библиотеке модуля BigDecimal имеет определяемых пользователем точность. - Схема : R 5 RS поощряет, а R 6 RS требует, чтобы точные целые числа и точные рациональные числа имели произвольную точность.
-
Scala :
Class BigInt
иClass BigDecimal
. -
Seed7 :
bigInteger
иbigRational
. -
Self : целые числа произвольной точности поддерживаются встроенным
bigInt
типом. - Smalltalk : варианты, включая Squeak , Smalltalk / X , GNU Smalltalk , Dolphin Smalltalk и т. Д.
-
SmartXML , бесплатный язык программирования с интегрированной средой разработки (IDE) для математических вычислений.
BigNumber
Могут использоваться переменные типа или обычные числа могут быть преобразованы в большие числа с помощью оператора преобразования#
(например,#2.3^2000.1
). Большие числа SmartXML могут иметь до 100000000 десятичных цифр и до 100000000 целых цифр. -
Стандартный ML : дополнительная встроенная
IntInf
структура реализует подпись INTEGER и поддерживает целые числа произвольной точности. -
Tcl : Начиная с версии 8.5 (2007), по умолчанию целые числа имеют произвольную точность. (За кулисами язык переключается на использование внутреннего представления произвольной точности для целых чисел, слишком больших, чтобы поместиться в машинное слово. Привязки из C должны использовать библиотечные функции, такие как
Tcl_GetLongFromObj
получение значений в виде собственных типов данных C из целых чисел Tcl.) - Wolfram Language , как и Mathematica , использует GMP для приблизительного вычисления чисел.
Онлайн калькуляторы
Для разовых расчетов. Работает на сервере или в браузере. Не требует установки или компиляции.
- https://apfloat.appspot.com/ произвольно (как ввод)
- https://www.mathsisfun.com/calculator-precision.html 200 мест
- http://birrell.org/andrew/ratcalc/ произвольно; выберите рациональную или фиксированную точку и количество мест