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

非演算子関数

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

インテルの IEEE 754-2008 2 進準拠ライブラリーは、次の非演算子関数をサポートしています。

is754version1985

説明: この関数は、プログラミング環境が IEEE Std. 754-1985 に準拠している場合のみ 1 を返し、そうでない場合は 0 を返します。

呼び出しインターフェイス:
int __binary_is754version1985(void);

このライブラリーのこの関数は、常に 0 を返します。

is754version2008

説明: この関数は、プログラミング環境が IEEE Std. 754-2008 に準拠している場合のみ 1 を返し、そうでない場合は 0 を返します。

呼び出しインターフェイス:
int __binary_is754version2008(void);

このライブラリーのこの関数は、常に 1 を返します。

class

説明: この関数は、10 のクラス (signalingNaN、quietNaNnegativeInfinitynegativeNormalnegativeSubnormalnegativeZeropositiveZeropositiveSubnormalpositiveNormalpositiveInfinity) の中で浮動小数型の入力値 x が属するクラスを返します。

戻り値

クラス

0

signalingNaN

1

quietNaN

2

negativeInfinity

3

negativeNormal

4

negativeSubnormal

5

negativeZero

6

positiveZero

7

positiveSubnormal

8

positiveNormal

9

positiveInfinity

呼び出しインターフェイス:
int __binary32_class(float x);
int __binary64_class(double x);

isSignMinus

説明: この関数は、引数が負の符号を持つ場合のみ、1 を返します。

呼び出しインターフェイス:
int __binary32_isSignMinus(float x);
int __binary64_isSignMinus(double x);

isNormal

説明: この関数は、引数が正規化数の場合 (zerosubnormalinfiniteNaN のいずれでもない) のみ、1 を返します。

呼び出しインターフェイス:
int __binary32_isNormal(float x);
int __binary64_isNormal(double x);

isFinite

説明: この関数は、引数が finite の場合 (infinite または NaN ではない) のみ、1 を返します。

呼び出しインターフェイス:

isZero

説明: この関数は、引数が ±0 の場合のみ、1 を返します。

呼び出しインターフェイス:
int __binary32_isZero(float x);
int __binary64_isZero(double x);

isSubnormal

説明: この関数は、引数が subnormal の場合のみ、1 を返します。

呼び出しインターフェイス:
int __binary32_isSubnormal(float x);
int __binary64_isSubnormal(double x);

isInfinite

説明: この関数は、引数が infinite の場合のみ、1 を返します。

呼び出しインターフェイス:
int __binary32_isInfinite(float x);
int __binary64_isInfinite(double x);

isNaN

説明: この関数は、引数が NaN の場合のみ、1 を返します。

呼び出しインターフェイス:
int __binary32_isNaN(float x);
int __binary64_isNaN(double x);

isSignaling

説明: この関数は、引数がシグナル型 NaN の場合のみ、1 を返します。

呼び出しインターフェイス:
int __binary32_isSignaling(float x);
int __binary64_isSignaling(double x);

isCanonical

説明: この関数は、引数が有限数、infinity、または (標準的な) NaN の場合のみ、1 を返します。

呼び出しインターフェイス:
int __binary32_isCanonical(float x);
int __binary64_isCanonical(double x);

標準的な浮動小数点数のみが想定されるため、このライブラリーのこの関数は、常に 1 を返します。

radix

説明: この関数は、浮動小数点型の入力値の形式の基数を返します。

呼び出しインターフェイス:
int __binary32_radix(float x);
int __binary64_radix(double x);

このライブラリーは浮動小数点数を対象にしているため、ライブラリーのこの関数は、常に 2 を返します。

totalOrder

説明: この関数は、2 つの浮動小数型の入力値 xy が全順序の場合のみ 1 を返し、そうでない場合は 0 を返します。

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

totalOrderMag

説明: totalOrderMag(x, y) は、totalOrder(abs(x), abs(y)) と同じです。

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

lowerFlags

説明: この関数は、入力で指定された例外グループのフラグを下げます。

例外名

1

__BFP754_INVALID

2

__BFP754_DIVBYZERO

4

__BFP754_OVERFLOW

8

__BFP754_UNDERFLOW

16

__BFP754_INEXACT

呼び出しインターフェイス:
void __binary_lowerFlags(int x);

raiseFlags

説明: この関数は、入力で指定された例外グループのフラグを上げます。

呼び出しインターフェイス:
void __binary_raiseFlags(int x);

testFlags

説明: この関数は、入力で指定された例外グループのフラグが上がっている場合のみ 1 を返し、そうでない場合は 0 を返します。

呼び出しインターフェイス:
int __binary_testFlags(int x);

testSavedFlags

説明: この関数は、入力 y で指定された例外グループのフラグが x で上がっている場合のみ 1 を返し、そうでない場合は 0 を返します。

呼び出しインターフェイス:
int __binary_testSavedFlags(int x, int y);

restoreFlags

説明: この関数は、フラグを x で表される状態に復元します。

呼び出しインターフェイス:
void __binary_restoreFlags(int x);

saveFlags

説明: この関数は、すべてのステータスフラグの状態を返します。

呼び出しインターフェイス:
int __binary_saveFlags(void);

getBinaryRoundingDirection

説明: この関数は、使用されている丸め方向を表す整数を返します。

例外名

0

__BFP754_ROUND_TO_NEAREST_EVEN

1

__BFP754_ROUND_TOWARD_POSITIVE

2

__BFP754_ROUND_TOWARD_NEGATIVE

3

__BFP754_ROUND_TOWARD_ZERO

呼び出しインターフェイス:
int __binary_getBinaryRoundingDirection(void);

setBinaryRoundingDirection

説明: この関数は、整数型の入力値に基づいて丸め方向を設定します。

呼び出しインターフェイス:
void __binary_setBinaryRoundingDirection(int x);

saveModes

説明: この関数は、動的に指定可能なすべてのモードの値を保存します。

呼び出しインターフェイス:
int __binary_saveModes(void);

丸めモードは、サポートされる唯一の動的に指定可能なモードなので、saveModesgetBinaryRoundingDirection と同じように動作します。

restoreModes

説明: この関数は、動的に指定可能なすべてのモードの値を入力に復元します。

呼び出しインターフェイス:
int __binary_restoreModes(void);

丸めモードは、サポートされる唯一の動的に指定可能なモードなので、restoreModessetBinaryRoundingDirection と同じように動作します。

defaultMode

説明: この関数は、動的に指定可能なすべてのモードの値をデフォルトに設定します。

呼び出しインターフェイス:
void __binary_defaultMode(void);

丸めモードは、サポートされる唯一の動的に指定可能なモードなので、defaultMode は丸め方向属性を roundTiesToEven に設定します。