Перейти к навигации Перейти к поиску
В этой статье перечислены библиотеки, приложения и другое программное обеспечение, которое позволяет или поддерживает арифметику произвольной точности .
Библиотеки [ править ]
Имя пакета-библиотеки | Тип номера | Язык | Лицензия |
---|---|---|---|
Библиотека Boost Multiprecision | Целые , рациональные , поплавки , и сложный | C ++ и бэкенды с использованием GMP / MPFR | Способствовать росту |
TTMath | Целые числа , числа с плавающей запятой | C ++ | BSD |
LibBF | Целые числа , числа с плавающей запятой | C | Массачусетский технологический институт |
BeeNum | Целые числа , рациональные числа | C ++ | Массачусетский технологический институт |
длинный интервал | Целые числа | C | GPL , рациональные числа |
Библиотека GNU Multi-Precision (и MPFR ) | Целые числа , рациональные числа и числа с плавающей запятой | C и C ++ с привязками | LGPL |
CLN | Целые , рациональные , поплавки , и сложный | C ++ | GPL |
ARPREC | Целые числа , числа с плавающей запятой и комплексные | C ++ | BSD-типа |
MAPM , MAPM | Целые , десятичные и комплексные числа с плавающей запятой | C (привязки для C ++ ) | Бесплатное ПО |
MPIR (математическое программное обеспечение) | Целые числа , рациональные числа и числа с плавающей запятой | C и C ++ с привязками | LGPL |
ОСНОВНОЙ | Целые числа , рациональные числа и числа с плавающей запятой | C ++ | Бесплатное ПО |
LEDA | Целые числа , рациональные числа и числа с плавающей запятой | C ++ | Бесплатное ПО |
CGAL | Целые числа , рациональные числа и числа с плавающей запятой | C ++ | LGPL |
GeometricИнструменты | Целые и рациональные числа | C ++ | Способствовать росту |
LibTomMath | Целые числа | C | Public Domain или WTFPL (с двойной лицензией ) |
libgcrypt | Целые числа | C | LGPL |
OpenSSL | Целые числа | C | Лицензия Apache v2 |
Арбитр | Поплавки | C | Лицензия MIT |
mbed TLS | Целые числа | C | Лицензия Apache v2 и GPL |
JScience | Целые числа , рациональные числа и числа с плавающей запятой | Ява | BSD-типа |
JAS | Целые , рациональные и комплексные числа | Ява | LGPL |
JLinAlg | Десятичные дроби , рациональные числа и комплексные числа | Ява | LGPL |
Apfloat | Целые , рациональные , поплавки , и комплексные числа | Java, C ++ | LGPL |
MPArith | Целые , рациональные , поплавки , и комплексные числа | Паскаль, Дельфи | Злиб |
InfInt | Целые числа | C ++ | MPL |
bigz | Целые числа , рациональные числа | C (привязки для C ++ ) | BSD-типа |
Класс C ++ BigInt | Целые числа | C ++ | GPL |
пандус | Целые числа | Ржавчина | Лицензия Apache v2 |
плавать | Поплавки | Ржавчина | Лицензия Apache v2 |
fgmp | Целые числа | C | Всеобщее достояние |
имат | Целые числа , рациональные числа | ANSI C | Массачусетский технологический институт |
Hebimath | Целые числа , рациональные числа , натуральные числа , числа с плавающей запятой | С ( C99 ) | Массачусетский технологический институт |
bsdnt | Целые числа , натуральные числа | C | BSD (2 предложения) |
целочисленный простой | Целые числа | Haskell | BSD (3 предложения) |
Bigints | Целые числа | Ним | Массачусетский технологический институт |
libzahl (WIP) | Целые числа | C | ISC |
десятичный | Десятичные дроби | Идти | BSD (3 предложения) |
mpmath | Поплавки и комплекс | Python | BSD |
NumEval | Целые числа , рациональные числа | PHP, C # | Лицензия MIT |
Вычислимые числа | Вычислимые числа | Common Lisp | Бесплатное ПО |
libmpdec и libmpdec ++ | Десятичные числа с плавающей запятой | C и C ++ | BSD (2 предложения) |
Автономное прикладное программное обеспечение [ править ]
Программное обеспечение, поддерживающее вычисления произвольной точности:
- Ьс в POSIX произвольной точности арифметических языке , который поставляется со стандартным на большинстве Unix-подобных систем.
- dc : "Desktop Calculator" RPN-калькулятор произвольной точности, входящий в стандартную комплектацию большинства Unix-подобных систем.
- KCalc , научный калькулятор на базе Linux
- Maxima : система компьютерной алгебры, в которой большие целые числа напрямую унаследованы от языка ее реализации Common Lisp . Кроме того, он поддерживает числа с плавающей запятой произвольной точности, bigfloats .
- Maple , Mathematica и несколько других программ компьютерной алгебры включают арифметику произвольной точности. Mathematica использует GMP для приблизительного вычисления чисел.
- PARI / GP , система компьютерной алгебры с открытым исходным кодом , поддерживающая произвольную точность.
- 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 поддерживается в большинстве браузеров; [1] GWT-математическая библиотека обеспечивает интерфейс
java.math.BigDecimal
, а также библиотеки , такие как DecimalJS , BigInt и хруст поддержки произвольной точности целых чисел. - Джулия : встроенная 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-native из целых чисел Tcl.) - Wolfram Language , как и Mathematica , использует GMP для приблизительного вычисления чисел.
Онлайн калькуляторы [ править ]
Для разовых расчетов. Работает на сервере или в браузере. Не требует установки или компиляции.
- https://apfloat.appspot.com/ произвольно (как ввод)
- https://www.mathsisfun.com/calculator-precision.html 200 мест
- http://birrell.org/andrew/ratcalc/ произвольно; выберите рациональную или фиксированную точку и количество мест
- ^ "BigInt" . Могу я использовать . Проверено 16 марта 2021 .