2011年3月22日火曜日

SDPA-QD,DDのバグ取り

今まで気がつかなかったが、SDPA-QD,DD ではQD,DDライブラリのバグで動作しないことがある。

これは、文字列からのコンストラクタのところで、
dd_real("3.1415926535e+10");
なら問題ないが、これが文字列が長い、例えば
dd_real("3.111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111
11111111111111111111111111111111111111111111111111111
111111111e+10");
とかすると、nanが生成されてしまうようである。

どうやら桁数が多すぎると対応できないようであるが、もともとこのような桁数は
dd,qd には入力できないので、必要な桁数まで省略してからコンストラクタを
呼ぶように変更した。

とりあえず、これで問題なくSDPA-QD,DDともに動作する。
(桁数が多すぎるのは、もともと SDPA-GMP 用に生成した入力ファイルのためで、
SDPA-GMP だと300文字ぐらいあっても、問題なく変換している。)


あと、査読については週末に読みきったので、あとはレポートを作成して
報告すればOKとなる。

今日の作業内容:SDPA-QD,DD のバグ取り 2h + 数値実験途中経過確認2h
今日のランチ:シッダルータ チキンカレー
明日の予測作業時間: 5h


0 件のコメント:

コメントを投稿