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_realqd_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のマニュアルを参照してください).