インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

その他の関数

インテルの数学ライブラリーの多くのルーチンは、互換マイクロプロセッサーよりもインテル製マイクロプロセッサーでより高度に最適化されます。

mathimf.h ヘッダーファイルには、インテルの数学ライブラリー関数のプロトタイプが含まれています。

インテルの数学ライブラリーは、次に示すその他の関数をサポートします。

copysign

説明: copysign 関数は、x の絶対値と y の符号を返します。

呼び出しインターフェイス:
double copysign(double x, double y);
long double copysignl(long double x, long double y);
float copysignf(float x, float y);

fabs

説明: fabs 関数は、x の絶対値を返します。

呼び出しインターフェイス:
double fabs(double x);
long double fabsl(long double x);
float fabsf(float x);

fdim

説明: fdim 関数は、正の異なる値、x-y (x >y の場合) または +0 (x <= y の場合) を返します。

errno: ERANGE、値が非常に大きい場合

呼び出しインターフェイス:
double fdim(double x, double y);
long double fdiml(long double x, long double y);
float fdimf(float x, float y);

finite

説明: finite 関数は、xNaN または +/- 無限大ではない場合、1 を返します。それ以外の場合は、'0' を返します。

呼び出しインターフェイス:
int finite(double x);
int finitel(long double x);
int finitef(float x);

fma

説明: fma 関数は、(x*y)+z を返します。

呼び出しインターフェイス:
double fma(double x, double y, double z);
long double fmal(long double x, long double y, long double z);
float fmaf(float x, float y, float double z);

fmax

説明: fmax 関数は、引数の最大値を返します。

呼び出しインターフェイス:
double fmax(double x, double y);
long double fmaxl(long double x, long double y);
float fmaxf(float x, float y);

fmin

説明: fmin 関数は、引数の最小値を返します。

呼び出しインターフェイス:
double fmin(double x, double y);
long double fminl(long double x, long double y);
float fminf(float x, float y);

fpclassify

説明: fpclassify 関数は、その引数の値に適した番号分類マクロの値を返します。

戻り値

0 (NaN)

1 (無限大)

2 (ゼロ)

3 (サブノーマル)

4 (有限値)

呼び出しインターフェイス:
double fpclassify(double x);
long double fpclassifyl(long double x);
float fpclassifyf(float x);

isfinite

説明: isfinite 関数は、x が NaN または +/- 無限大ではない場合、1 を返します。それ以外の場合は、'0' を返します。

呼び出しインターフェイス:
int isfinite(double x);
int isfinitel(long double x);
int isfinitef(float x);

isgreater

説明: isgreater 関数は、xy よりも大きい場合、1 を返します。この関数は、無効な浮動小数点例外を増やしません。

呼び出しインターフェイス:
int isgreater(double x, double y);
int isgreaterl(long double x, long double y);
int isgreaterf(float x, float y);

isgreaterequal

説明: isgreaterequal 関数は、xy 以上の場合、1 を返します。この関数は、無効な浮動小数点例外を増やしません。

呼び出しインターフェイス:
int isgreaterequal(double x, double y);
int isgreaterequall(long double x, long double y);
int isgreaterequalf(float x, float y);

isinf

説明: isinf 関数は、引数が無限値を持つ場合のみ、非ゼロ値を返します。

呼び出しインターフェイス:
int isinf(double x);
int isinfl(long double x);
int isinff(float x);

isless

説明: isless 関数は、xy よりも小さい場合、1 を返します。この関数は、無効な浮動小数点例外を増やしません。

呼び出しインターフェイス:
int isless(double x, double y);
int islessl(long double x, long double y);
int islessf(float x, float y);

islessequal

説明: islessequal 関数は、xy 以下の場合、1 を返します。この関数は、無効な浮動小数点例外を増やしません。

呼び出しインターフェイス:
int islessequal(double x, double y);
int islessequall(long double x, long double y);
int islessequalf(float x, float y);

islessgreater

説明: islessgreater 関数は、xy よりも小さいまたは大きい場合、1 を返します。この関数は、無効な浮動小数点例外を増やしません。

呼び出しインターフェイス:
int islessgreater(double x, double y);
int islessgreaterl(long double x, long double y);
int islessgreaterf(float x, float y);

isnan

説明: isnan 関数は、x が NaN 値を持つ場合のみ、非ゼロ値を返します。

呼び出しインターフェイス:
int isnan(double x);
int isnanl(long double x);
int isnanf(float x);

isnormal

説明: isnormal 関数は、x が正規化数の場合のみ、非ゼロ値を返します。

呼び出しインターフェイス:
int isnormal(double x);
int isnormall(long double x);
int isnormalf(float x);

isunordered

説明: isunordered 関数は、x または y のいずれかが NaN の場合、1 を返します。この関数は、無効な浮動小数点例外を増やしません。

呼び出しインターフェイス:
int isunordered(double x, double y);
int isunorderedl(long double x, long double y);
int isunorderedf(float x, float y);

maxmag

説明: maxmag 関数は、2 つの引数 xy のうち絶対数が大きいほうの値を返します。|x| > |y| の場合、x を返します。|y| > |x| の場合、y を返します。それ以外の場合、fmax(x,y) と同様に振る舞います。

呼び出しインターフェイス:
double maxmag(double x, double y);
float maxmagf(float x, float y);

minmag

説明: minmag 関数は、2 つの引数 xy のうち絶対数が小さいほうの値を返します。|x| < |y| の場合、x を返します。|y| < |x| の場合、y を返します。それ以外の場合、fmin(x,y) と同様に振る舞います。

呼び出しインターフェイス:
double minmag(double x, double y);
float minmagf(float x, float y);

nextafter

説明: nextafter 関数は、y 方向での x の次に表現可能な値を指定した形式で返します。

errno: ERANGE、オーバーフローおよびアンダーフロー状態の場合

呼び出しインターフェイス:
double nextafter(double x, double y);
long double nextafterl(long double x, long double y);
float nextafterf(float x, float y);

nexttoward

説明: nexttoward 関数は、y 方向での x の次に表現可能な値を指定した形式で返します。xy が等しい場合、関数のタイプに変換した y を返します。正確な結果を得るには、Windows* オペレーティング・システムで Qlong-double オプションを使用してください。

errno: ERANGE、オーバーフローおよびアンダーフロー状態の場合

呼び出しインターフェイス:
double nexttoward(double x, long double y);
long double nexttowardl(long double x, long double y);
float nexttowardf(float x, long double y);

signbit

説明: signbit 関数は、x の符号が負の場合のみ、非ゼロ値を返します。

呼び出しインターフェイス:
int signbit(double x);
int signbitl(long double x);
int signbitf(float x);

significand

説明: significand 関数は、[1,2) の範囲で x の仮数を返します。x が 0、NaN、または +/- 無限大と等しい場合、オリジナルの x が返されます。

呼び出しインターフェイス:
double significand(double x);
long double significandl(long double x);
float significandf(float x);