2011-09-18 12 views
6

私は大きな整数を表すためのbignumライブラリが必要です。 Dプログラミング言語にはどのようなオプションがありますか?たとえば、GMPバインディングはありますか?Dと一緒に働くbignumライブラリは何ですか?

更新:

私は、以下に説明するように作り付けのBigIntを使用しようとしているが、それはGDCでは使用できません表示されます。

import std.bigint; 
import std.stdio; 

void main() 
{ 
    BigInt n = "123"; 
    writefln(n); 
} 

私は私はそれがbigint.dを見つけることができません聞いていgdc main.dで、このコードをコンパイルしてみてください。 gdcはライブラリの一部しか実装していないのですか、何か間違っていますか?

+0

gdcのD2バージョンを使用していますか? – Trass3r

+1

自分でGDCをコンパイルしなかった場合は、おそらく最新バージョンのDを使用していないでしょう。 –

+0

GDCはすべてのPhobosを持っていますが、実際に自分で使ったことはありません。知っている。現在のホームページはhttps://bitbucket.org/goshawk/gdc/wiki/Home –

答えて

5

探しているものが大きい整数型の場合は、標準ライブラリにBigIntがあります。一方、GMPを特に使用する場合は、必要なGMPの適切なタイプと関数について、extern(C)の宣言があり、Dから直接呼び出すことができます。this page DでCコードを使用する方法の詳細は

+1

btw、MPFRバインディングはdil: https://github.com/azizk/dil/blob/master/srcに含まれています。 /util/mpfr.d – Trass3r

4

Paul Andersonは標準ライブラリのBigFloat抽象化に取り組んでいます。

関連する問題