finite 関数を使います:
if( finite( x ) EQ 1 ) then print, "貴様の人生には限りがある" if( finite( x ) EQ 0 ) then print, "人生の悲しみは尽きることがない"
こんな感じで。
ちなみに coyote の記事しかまだ読んでないので、finite 関数の挙動はよく分からないのですが、有限数であるかどうかを判定するようです。NaN は非有限数ということなのでしょう。他にも非有限数判定される変数はあるのでしょうかねえ。ゼロ割してできちゃった inf とか? ‥‥‥、IDL は inf 変数はない気がします。
ついでに、明示的な NaN 変数の代入をする場合は、Double, Float 各変数型で、!values.d_nan
, !values.f_nan
を用います。
この記事は 11 月 22 日に作成投稿しましたが、記事の日時間隔を均等化するために、11 月 21 日投稿扱いに変更します。