yucken の業務上電脳 Tips 日記、なのだよ。-弐式-

いまさら電脳 Tips といふものを、書いてみむとして、するなり.元々は広い意味での電脳(コンピュータ)の Tips を書いていたのですが,いつのまにか,解析ツールの「電脳 ruby」と IDL の Tips がメインに (・)>

IDL: NaN (Not A Number 変数) 判定

finite 関数を使います:

Finding NANs in Arrays

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 日投稿扱いに変更します。