QD型(double-doubleとquad-double)で Gmm++ を使用する方法¶
QDライブラリ( http://www.cs.berkeley.edu/verb~yozo または http://www.nersc.gov/verb~dhb/mpdist/mpdist.html を参照してください.HTML形式)は,double-double(32桁)およびquad-double(約64桁)用の効率的なライブラリです.このライブラリをシステムにインストールしたら,プログラムをQDライブラリにリンクする必要があります(-lqdを使用).プログラムで,QDのヘッダファイルを次のようにincludeします.
#include <qd/dd.h>
#include <qd/qd.h>
#include <qd/fpu.h>
この場合, dd_real
と qd_real
の2つの型が Gmm++ で使用できます.また std::complex<dd_real>
と std::complex<qdreal>
を使うこともできます.
重要: 次の呼び出しでQDを使用する前に,QDを初期化することを忘れないでください.
unsigned int old_cw;
fpu_fix_start(&old_cw);
これにより,QDと競合するx86プロセッサの80ビット精度が無効になります.QDの使用が終了したら,次のコマンドで再度有効にできます.
fpu_fix_end(&old_cw);
(詳細については,QDのマニュアルを参照してください).