Список арифметических программ произвольной точности - List of arbitrary-precision arithmetic software
В этой статье перечислены библиотеки, приложения и другое программное обеспечение, которое позволяет или поддерживает арифметика произвольной точности.
Библиотеки
Автономное прикладное программное обеспечение
Программное обеспечение, поддерживающее вычисления произвольной точности:
- до н.э то POSIX язык арифметики произвольной точности, который является стандартным для большинства Unix-подобный системы.
- Округ Колумбия: "Desktop Calculator" калькулятор RPN произвольной точности, входящий в стандартную комплектацию большинства Unix-подобный системы.
- KCalc, Научный калькулятор на базе Linux
- Максима: а система компьютерной алгебры который bignum целые числа напрямую наследуются от языка его реализации Common Lisp. Кроме того, он поддерживает числа с плавающей запятой произвольной точности, Bigfloats.
- Клен, Mathematica, и несколько других компьютерная алгебра программное обеспечение включает арифметику произвольной точности. В системе Mathematica работает GMP для приблизительного вычисления числа.
- PARI / GP, Открытый исходный код система компьютерной алгебры, поддерживающая произвольную точность.
- SageMath, открытый исходный код система компьютерной алгебры
- SymPy, CAS
- Набор инструментов "Символьная математика" (MATLAB )
- SmartXML, бесплатный язык программирования с интегрированной средой разработки (IDE) для математических вычислений. Можно использовать переменные типа BigNumber или преобразовать обычные числа в большие числа с помощью оператора преобразования # (например, # 2.3 ^ 2000.1). Большие числа SmartXML могут иметь до 100000000 десятичных цифр и до 100000000 целых цифр.
- Редактор файлов программы SmartXML поддерживает завершение кода и большая часть набора текста заменяется завершением кода. При написании программы требуется минимальный набор текста. За исключением постоянных значений, таких как 5 или Some Text, все остальное поддерживается автозавершением кода.
- Операции с большими числами выполняются с использованием операторов, таких как +, -, *, /, ^ и т. Д. (Например, (# 2.3 ^ 2000.3 / # 2.3 ^ 1999.3-1)).
- SmartXML поддерживает пул больших чисел, из которого извлекаются большие числа (т.е. когда они используются в коде), и числа возвращаются обратно в пул, когда большое число выходит за рамки. Программисту не нужно беспокоиться об извлечении или выпуске больших чисел, поскольку это делается внутри SmartXML.
- Калькулятор Windows, начиная с Windows 98, использует произвольную точность для основных операций (сложение, вычитание, умножение, деление) и 32 цифры точности для расширенных операций (квадратный корень, трансцендентные функции).
Языки
Языки программирования, которые поддерживают вычисления произвольной точности, встроенные или в стандартной библиотеке языка:
- Агда: the BigInt тип данных на Эпос backend реализует арифметику произвольной точности.
- Common Lisp: Стандарт ANSI Common Lisp поддерживает целые числа произвольной точности, отношения и комплексные числа.
- C #: System.Numerics.BigInteger, из .NET Framework 4.0
- Холодный синтез: встроенный PrecisionEvaluate () Функция вычисляет одно или несколько строковых выражений динамически слева направо, используя арифметику точности BigDecimal для вычисления значений арифметических выражений произвольной точности.
- D: стандартный библиотечный модуль std.bigint
- Дротик: встроенный int тип данных реализует арифметику произвольной точности.
- Emacs Lisp: поддерживает целые числа произвольного размера, начиная с Emacs 27.1.
- Erlang: встроенный Целое число тип данных реализует арифметику произвольной точности.
- Идти: стандартный пакет библиотеки математика / большой реализует целые числа произвольной точности (Int тип), рациональные числа (Крыса тип) и числа с плавающей запятой (Плавать тип)
- Хитрость: встроенный точный числа имеют произвольную точность. Пример: (expt 10 100) дает ожидаемый (большой) результат. Точные числа также включают рациональные числа, поэтому (/ 3 4) дает 3/4. Одним из языков, реализованных в Guile, является Схема.
- Haskell: встроенный Целое число тип данных реализует арифметику произвольной точности и стандартные Data.Ratio модуль реализует рациональные числа.
- Идрис: встроенный Целое число тип данных реализует арифметику произвольной точности.
- ISLISP: ISO / IEC 13816: 1997 (E) ISLISP Стандарт поддерживает целые числа произвольной точности.
- J: встроенный повышенная точность
- Ява: Класс java.math.BigInteger (целое число), Класс java.math.BigDecimal (десятичный)
- JavaScript: the gwt-math библиотека предоставляет интерфейс для java.math.BigDecimal и таких библиотек, как DecimalJS, BigInt и Хруст поддерживают целые числа произвольной точности.
- Юля: встроенный "BigFloat "и" BigInt "обеспечивают арифметические операции произвольной точности с плавающей запятой и целые числа соответственно.
- newRPL: целые числа и числа с плавающей запятой могут иметь произвольную точность (до 2000 цифр); максимальное количество цифр настраивается (по умолчанию 32 цифры)
- Ним: Bigints и несколько Привязки GMP.
- OCaml: The Num библиотека поддерживает целые числа и рациональные числа произвольной точности.
- OpenLisp: поддерживает целые числа произвольной точности.
- Perl: The bignum и большая крыса прагмы обеспечивают поддержку BigNum и BigRational для Perl.
- PHP: The BC Math Модуль обеспечивает математику произвольной точности.
- ПикоЛисп: поддерживает целые числа произвольной точности.
- Щука: встроенный int Тип автоматически изменится с машинного целого числа на произвольную точность, как только значение превысит допустимую.
- Пролог: Совместимые со стандартом ISO системы Prolog могут проверять флаг Prolog как «ограниченный». Большинство основных систем Prolog поддерживают целые числа произвольной точности.
- Python: встроенный int (3.x) / длинный (2.x) целочисленный тип произвольной точности. В Десятичный класс в модуле стандартной библиотеки десятичный имеет определяемую пользователем точность и ограниченные математические операции (возведение в степень, квадратный корень и т. д., но без тригонометрических функций). В Дробная часть класс в модуле фракции реализует рациональные числа. Более обширная арифметика произвольной точности с плавающей запятой доступна в сторонних пакетах «mpmath» и «bigfloat».
- Ракетка: встроенный точный числа имеют произвольную точность. Пример: (expt 10 100) дает ожидаемый (большой) результат. Точные числа также включают рациональные числа, поэтому (/ 3 4) дает 3/4. Числа произвольной точности с плавающей запятой включены в стандартную библиотеку математика / bigfloat модуль.
- Раку: Ракудо поддерживает Int и FatRat типы данных, которые продвигаются к целым числам и рациональным числам произвольной точности.
- Rexx: варианты, включая Open Object Rexx и NetRexx
- РПЛ (только на HP 49/50 серии в точный режим): калькулятор рассматривает числа, введенные без десятичной точки, как целые, а не как числа с плавающей запятой; целые числа имеют произвольную точность, ограниченную только доступной памятью.
- Рубин: встроенный Bignum целочисленный тип произвольной точности. В BigDecimal класс в модуле стандартной библиотеки bigdecimal имеет определяемую пользователем точность.
- Схема: Р5RS поощряет, а R6RS требует, чтобы точные целые числа и точные рациональные числа имели произвольную точность.
- Scala: Класс BigInt и Класс BigDecimal.
- Семя7: bigInteger и bigRational.
- Себя: целые числа произвольной точности поддерживаются встроенным bigInt тип.
- Болтовня: варианты включая Писк, Smalltalk / X, GNU Smalltalk, Дельфин Smalltalk, так далее.
- SmartXML, бесплатный язык программирования с интегрированной средой разработки (IDE) для математических вычислений. Можно использовать переменные типа BigNumber или преобразовать обычные числа в большие числа с помощью оператора преобразования # (например, # 2.3 ^ 2000.1). Большие числа SmartXML могут иметь до 100000000 десятичных цифр и до 100000000 целых цифр.
- Стандартный ML: Необязательный встроенный IntInf структура реализует ЦЕЛОЕ подпись и поддерживает целые числа произвольной точности.
- 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/ произвольный; выберите рациональную или фиксированную точку и количество мест