class、_class、finite、isnan、または unordered サブルーチン

目的

浮動小数点数の分類を決定します。

ライブラリー

IEEE Math Library (libm.a) または System V Math Library (libmsaa.a)

構文

#include <math.h>
#include <float.h>
int
class(
x)
double x;
#include <math.h>
#include <float.h>
int
_class(
x)
double x;
#include <math.h>
int finite(x)
double x;
#include <math.h>
int isnan(x)
double x;
#include <math.h>
int unordered(x, y)
double x, y;

説明

class サブルーチン、 _class サブルーチン、 finite サブルーチン、 isnan サブルーチン、および unordered サブルーチンは、浮動小数点値の種別を決定します。 unordered サブルーチンは、 x および y を含む浮動小数点比較によって IEEE 浮動小数点非順序条件 ( x または y が NaNであるかどうかなど) が生成されるかどうかを判別します。

class サブルーチンは、浮動小数点 x パラメーターの種別を表す整数を戻します。 class は C++ では逆キーワードであるためです。 class サブルーチンは、C++ プログラムでは呼び出すことができません。 _class サブルーチンは、 class サブルーチンを使用する C++ プログラムのインターフェースです。 クラス・サブルーチンと _class サブルーチンのインターフェースと戻り値は同じです。 class サブルーチンによって戻される値は、 float.h ヘッダー・ファイルに定義されます。 戻り値は以下のとおりです。

項目 説明
FP_PLUS_NORM 正の正規化、ゼロ以外の x
FP_MINUS_NORM (FP_MINUS_NORM) 負の正規化、ゼロ以外の x
FP_PLUS_DENORM (FP_PLUS_DENORM) 正の非正規化、ゼロ以外の x
「FP_MINUS_DENORM」 負の非正規化、ゼロ以外の x
FP_PLUS_ZERO x = +0.0
FP_MINUS_ZERO x = -0.0
FP_PLUS_INF x = + INF (X)
FP_MINUS_INF (FP_MINUS_INF) X = -INF
FP_NANS (FP_NANS) x = 数値以外のシグナル (NaNS)
FP_NANQ (FP_NANQ) x = 数値ではない静止 (NaNQ)

クラスは C++ では予約キーワードであるため、C++ プログラムで class サブルーチンを呼び出すことはできません。 _class サブルーチンは、 class サブルーチンを使用する C++ プログラムのインターフェースです。 class サブルーチンと _class サブルーチンのインターフェースと戻り値は同一です。

有限サブルーチンは、'xパラメーターが有限の数である場合、ゼロ以外の値を返す; つまり、'xが +-, INF, 'NaNQ,または 'NaNS でない場合である。

isnan サブルーチンは、 x パラメーターが NaNS または NaNQの場合、ゼロ以外の値を戻します。 それ以外の場合は、0 を戻します。

unordered サブルーチンは、 xy の間の浮動小数点比較が順不同である場合には、ゼロ以外の値を戻します。 それ以外の場合は、0 を戻します。

注: -lm フラグを指定して、 libm.a ライブラリーのサブルーチンを使用するルーチンをコンパイルしてください。 例えば、 class.c ファイルをコンパイルするには、次のように入力します。
cc class.c -lm

パラメーター

項目 説明
x いくつかの倍精度浮動小数点値を指定します。
y いくつかの倍精度浮動小数点値を指定します。

エラー・コード

finiteisnan、および unordered サブルーチンは、パラメーターが NaNSであっても、エラーを戻さず、浮動小数点例外状況のビットも設定しません。