この記事では、任意精度演算を可能にする、またはサポートするライブラリ、アプリケーション、およびその他のソフトウェアを一覧表示します。
スタンドアロンアプリケーションソフトウェア
任意精度演算をサポートするソフトウェア:
言語
任意精度演算を組み込み機能または標準ライブラリでサポートするプログラミング言語:
- Ada : 近日公開予定の Ada 202x リビジョンでは、標準ライブラリに
Ada.Numerics.Big_Numbers.Big_IntegersとAda.Numerics.Big_Numbers.Big_Realsパッケージが追加され、任意精度の整数と実数が利用できるようになります。 - Agda : Epic
BigIntバックエンドのデータ型は任意精度演算を実装しています。 - Common Lisp:ANSI Common Lisp規格は、任意精度整数、比率、および複素数をサポートしています。
- C# : .NET 5
System.Numerics.BigIntegerから - ColdFusion : 組み込み関数は、
PrecisionEvaluate()BigDecimal 精度演算を使用して任意精度の算術式の値を計算し、1 つ以上の文字列式を左から右に動的に評価します。 - D:標準ライブラリモジュール
std.bigint - Dart : 組み込み
intデータ型は任意精度演算を実装しています。 - Emacs Lisp : Emacs 27.1以降、任意のサイズの整数をサポートしています。
- Erlang : 組み込み
Integerデータ型は任意精度演算を実装しています。 - Go : 標準ライブラリパッケージは、
math/big任意精度整数(Int型)、有理数(Rat型)、および浮動小数点数(Float型)を実装しています。 - Guile : 組み込みの
exact数値は任意精度です。例:(expt 10 100)は期待どおりの (大きな) 結果を生成します。正確な数値には有理数も含まれるため、 は(/ 3 4)を生成します3/4。Guile に実装されている言語の 1 つはSchemeです。 - Haskell : 組み込み
Integerデータ型は任意精度演算を実装し、標準Data.Ratioモジュールは有理数を実装します。 - Idris : 組み込み
Integerデータ型は任意精度演算を実装しています。 - ISLISP:ISO/IEC 13816:1997(E) ISLISP規格は、任意精度整数をサポートします。
- J:内蔵拡張精度
- Java:クラス
java.math.BigInteger(整数)、java.math.BigDecimalクラス(小数) - JavaScript : ES2020の時点で、BigInt はほとんどのブラウザでサポートされています。[ 3 ] gwt -mathライブラリは へのインターフェースを提供し、 DecimalJS、BigInt、Crunch
java.math.BigDecimalなどのライブラリは任意精度の整数をサポートしています。 - Julia : 組み込みの型
BigFloatとBigInt型は、それぞれ任意精度浮動小数点演算と整数演算を提供します。 - newRPL:整数と浮動小数点数は任意の精度(少なくとも2000桁まで)で使用できます。最大桁数は設定可能です(デフォルトは32桁)。
- Nim :ビッグ整数と複数のGMP 結合。
- OCaml : Numライブラリは任意精度整数と有理数をサポートしています。
- OpenLisp:任意精度整数をサポートします。
- Perl :
bignumおよびbigratプラグマは、Perl の BigNum および BigRational をサポートします。 - PHP:BC Mathモジュールは任意精度演算機能を提供します。
- PicoLisp:任意精度整数をサポートしています。
- Pike : 組み込み
int型は、値がマシンネイティブ整数の容量を超えるとすぐに、マシンネイティブ整数から任意精度に自動的に変更されます。 - Prolog:ISO規格に準拠したPrologシステムは、Prologフラグ「bounded」をチェックできます。主要なPrologシステムのほとんどは、任意精度整数をサポートしています。
- Python : 組み込みの整数型
int(3.x) / long(2.x) は任意精度です。Decimal標準ライブラリのdecimalモジュールのクラスは、ユーザーが精度を定義でき、限られた数学演算 (べき乗、平方根など、ただし三角関数は除く) が可能です。fractionsモジュールFractionのクラスは有理数を実装しています。より高度な任意精度浮動小数点演算は、サードパーティの「mpmath」および「bigfloat」パッケージで利用できます。 - Racket : 組み込みの
exact数値は任意精度です。例:(expt 10 100)は期待どおりの(大きな)結果を生成します。正確な数値には有理数も含まれるため、(/ 3 4)を生成します。任意精度浮動小数点数は、標準ライブラリのmath/bigfloatモジュール3/4に含まれています。 - Raku : 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を使用して通常の数値を大きな数値に変換することもできます。SmartXMLの大きな数値は、最大1億桁の10進数と最大1億桁の整数を持つことができます。##2.3^2000.1 - 標準ML:オプションの組み込み構造体はINTEGER
IntInfシグネチャを実装し、任意精度整数をサポートします。 - Tcl:バージョン8.5(2007年)以降、整数はデフォルトで任意精度です。(内部的には、マシンワードに収まらないほど大きな整数に対して、言語は任意精度の内部表現を使用するように切り替わります。C言語からのバインディングでは、Tclの整数からCネイティブのデータ型として値を取得するために、などのライブラリ関数を使用する必要があります
Tcl_GetLongFromObj。) - Wolfram Languageは、Mathematicaと同様に、近似数値計算にGMPを採用している。
オンライン計算機
単発計算用。サーバーまたはブラウザ上で実行可能。インストールやコンパイルは不要です。
- 1. https://www.mathsisfun.com/calculator-precision.html 200桁
- 2. http://birrell.org/andrew/ratcalc/任意; 有理数または固定小数点と桁数を選択
- 3. PARI/GP オンライン計算機 - https://pari.math.u-bordeaux.fr/gp.html (PARI/GP は、数論 (因数分解、代数的整数論、楕円曲線、モジュラー形式、L 関数など) における高速計算のために設計された、広く利用されている数式処理システムです。また、行列、多項式、冪級数、代数的数などの数学的実体を用いた計算に役立つ多数の関数や、多くの超越関数も備えています。PARI は、より高速な計算を可能にする C ライブラリとしても利用可能です。)
- 4.1. AutoCalcs - 自動単位変換機能を備えた明示的な式を使用して、複数ステップの計算を検索、作成、保存、共有できます。これは、単位変換にとどまらず、大幅な効率向上を実現するプラットフォームです。AutoCalcsドキュメントサイトには、多くの計算例が掲載されています。AutoCalcsで作成した計算は、サードパーティのWebサイトに埋め込むことができます。
- 4.2. AutoCalcs ドキュメント- 上記のAutoCalcs を計算エンジンとすると、このドキュメントサイトは多数の計算式を収録したライブラリです。各計算式は基本的にオンラインで実行でき、さらにカスタマイズするなど、さまざまな機能を備えた Web アプリケーションです。計算式が多数掲載された書籍を読むことを想像してみてください。これは、その場で使用できるすべての計算式を網羅した書籍/マニュアルのようなものです。特筆すべき点として、計算式に単位が含まれる場合、単位変換を自動化できます。
- 5.ビッグナンバー計算機:小数点シフトとデータ型の適合をサポートする、任意精度の整数および小数計算機。
参考文献
- ↑ https://www.algorithmic-solutions.info/leda_manual/License_Terms_Availability.html
- ↑ 「OpenSSL 3.0がリリースされました!」 . OpenSSLブログ. 2021年9月7日. 2024年10月11日閲覧.
- ↑ "BigInt" .使用できますか。2021-03-16に取得。