Γ(gamma)関数は複素数引数には対応していません。
Sun OS (SunOS Sys4-3.2) の stdio ライブラリにはバグがあります。 printf の ''%g'' が時々不正確な表示を行います(例 : ``2'' となるべきところ を 200000.0 と表示する)。これにより、Sun4 上の GNUPLOT では、座標軸の 刻の見出しが不正確になる場合があります。回避方法としては、データを定 数倍する方法と set format コマンドを使って刻の書式指定を ''%7.0f'' な どに変更する方法があります。この不具合は SunOS 4.0 では修正されている ようです。
バグがもう一つ : SunOS 4.0 で動いている Sun3 及び、Sys4-3.2, SunOS 4.0 で動いている Sun4 において、'scanf' ルーチンが ``00 12'' という文字 列を ''%f %f'' で読み込む際に解析ミスを起こし、0, 12 と読み込むべきとこ ろを 0, 0 と読み込みます。これがデータ入力に影響を及ぼします。もしも データファイル中の x 座標値がゼロであるときにそれが '00', '000' など と表記されていると誤った y 座標値を読み込んでしまいます。データファイ ルを確認するか SunOS をバージョンアップするかしてください。この不具合 は SunOS 4.1.1 では修正されているようです。
Microsoft C 5.1 では、printf の %g に関連してひどいバグがあります。 ''%.2g'', ''%.1g'', ''%.0g'', ''%.g'' の中のいずれを使った場合、printf 関数は 1e-4 から 1e-1 の範囲にある数値を不正確に表示します。%f を使って %e の書式で出力されるべき数値を出力すると、小数点の後ろにつくゼロの数が おかしくなるという現象があります。
この不具合を回避するためには、 %e や %f を明示的に指定してください。
Microsoft C でコンパイルされた GNUPLOT はテストに使われた二つの VGA ディスプレイで正しく動作しませんでした。Microsoft C のグラフィックラ イブラリを使うために CGA, EGA, VGA の各ドライバを書きなおす必要がある でしょう。Turbo C でコンパイルされた GNUPLOT は Turbo C グラフィック ライブラリを使っていますが、こちらは VGA ディスプレイで正常に動作して います。
VAX/VMS 4.7 C compiler release 2.4 も printf の %g の実装が貧弱です。 数字は、数値としては正しく表示されますが、時として指定した書式通りに は表示してくれません。K&R の第二版では、%g を使った場合、指数部が -4 よりも小さいか指定精度以上である時には %e の書式を使うと記されていま す。VAX では指数部が -1 より小さい場合に %e を使っています。VAX は 1 より小さい数について %e を使うか %f を判断する場合に指定精度を見ずに 動作しているように思われます。この不具合を回避するためには %e や %f を明示的に指定してください。 VAX C 2.4 リリースノートより : e,E,f,F,g,G 変換結果は常に小数点を含みます。 g および G については、末尾のゼロは取り除かれずに残ります。
VAX/VMS 5.2 C compiler release 3.0 は release 2.4 に比べて %g の実装 状況が若干ながらよくなっています。末尾の小数点は取り除かれるようにな りました。しかし %g の指数表記での末尾のゼロは以前として残ります。
ULTRIX X11R3 には X11 用のドライバが全てのグラフをいつまでも表示し続 けるという現象を起こすバグがあります。このバグは DEC の X11R4 のリリー スで修正されたようなので、ULTRIX の新しいリリースではこのような不具合 は生じないようです。古いバージョンを持つサイトは、X11 ライブラリのアッ プデートから行う必要があります(DEC もしくは直接 MIT から)。他に、 x11.trm というファイルをコンパイルする際に、ULTRIX_KLUDGE を define するという回避方法もありますが、これはあまりお勧めできません。
NeXT OS 2.0 では定数 HUGE が不正な値に設定されています。HUGE は plot.h において 1e38 に設定されているべきです。この不具合は NeXT OS のバージョン 2.1 では修正されています。
HP プロッタの旧いモデルにはページ排出コマンド 'PG' が実装されていない ものがあります。現在の HPGL ドライバは HPGL_reset 中でこのコマンドを 使用しています。これらの旧モデルのために 'PG' コマンドを使わないよう にする必要があるかも知れません。現在の PCL5 ドライバは、HPGL/2 をグラ フィックだけでなくテキストにも使用しています。これはスケーラブルな PCL フォントを使用するように変更する必要があります。
バグが見つかったら bug-gnuplot@ames.arc.nasa.gov までご連絡ください。
なお、この文章の翻訳自体に関するバグを見つけた方は、ぜひ
tamaru@keisu-s.t.u-tokyo.ac.jp までご連絡ください。