インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
libbfp754 ライブラリーに含まれる多くのルーチンは、互換マイクロプロセッサーよりもインテル製マイクロプロセッサーでより高度に最適化されます。
インテルの IEEE 754-2008 2 進準拠ライブラリーは、次の非演算子関数をサポートしています。
説明: この関数は、プログラミング環境が IEEE Std. 754-1985 に準拠している場合のみ 1 を返し、そうでない場合は 0 を返します。
呼び出しインターフェイス:
int __binary_is754version1985(void);
このライブラリーのこの関数は、常に 0 を返します。
説明: この関数は、プログラミング環境が IEEE Std. 754-2008 に準拠している場合のみ 1 を返し、そうでない場合は 0 を返します。
呼び出しインターフェイス:
int __binary_is754version2008(void);
このライブラリーのこの関数は、常に 1 を返します。
説明: この関数は、10 のクラス (signalingNaN、quietNaN、negativeInfinity、negativeNormal、negativeSubnormal、negativeZero、positiveZero、positiveSubnormal、positiveNormal、positiveInfinity) の中で浮動小数型の入力値 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);
説明: この関数は、引数が負の符号を持つ場合のみ、1 を返します。
呼び出しインターフェイス:
int __binary32_isSignMinus(float x);
int __binary64_isSignMinus(double x);
説明: この関数は、引数が正規化数の場合 (zero、subnormal、infinite、NaN のいずれでもない) のみ、1 を返します。
呼び出しインターフェイス:
int __binary32_isNormal(float x);
int __binary64_isNormal(double x);
説明: この関数は、引数が finite の場合 (infinite または NaN ではない) のみ、1 を返します。
呼び出しインターフェイス:
説明: この関数は、引数が ±0 の場合のみ、1 を返します。
呼び出しインターフェイス:
int __binary32_isZero(float x);
int __binary64_isZero(double x);
説明: この関数は、引数が subnormal の場合のみ、1 を返します。
呼び出しインターフェイス:
int __binary32_isSubnormal(float x);
int __binary64_isSubnormal(double x);
説明: この関数は、引数が infinite の場合のみ、1 を返します。
呼び出しインターフェイス:
int __binary32_isInfinite(float x);
int __binary64_isInfinite(double x);
説明: この関数は、引数が NaN の場合のみ、1 を返します。
呼び出しインターフェイス:
int __binary32_isNaN(float x);
int __binary64_isNaN(double x);
説明: この関数は、引数がシグナル型 NaN の場合のみ、1 を返します。
呼び出しインターフェイス:
int __binary32_isSignaling(float x);
int __binary64_isSignaling(double x);
説明: この関数は、引数が有限数、infinity、または (標準的な) NaN の場合のみ、1 を返します。
呼び出しインターフェイス:
int __binary32_isCanonical(float x);
int __binary64_isCanonical(double x);
標準的な浮動小数点数のみが想定されるため、このライブラリーのこの関数は、常に 1 を返します。
説明: この関数は、浮動小数点型の入力値の形式の基数を返します。
呼び出しインターフェイス:
int __binary32_radix(float x);
int __binary64_radix(double x);
このライブラリーは浮動小数点数を対象にしているため、ライブラリーのこの関数は、常に 2 を返します。
説明: この関数は、2 つの浮動小数型の入力値 x と y が全順序の場合のみ 1 を返し、そうでない場合は 0 を返します。
呼び出しインターフェイス:
int _binary32_totalOrder(float x, float y);
int _binary64_totalOrder(double x, double y);
説明: totalOrderMag(x, y) は、totalOrder(abs(x), abs(y)) と同じです。
呼び出しインターフェイス:
int _binary32_totalOrderMag(float x, float y);
int _binary64_totalOrderMag(double x, double y);
説明: この関数は、入力で指定された例外グループのフラグを下げます。
値 |
例外名 |
---|---|
1 |
__BFP754_INVALID |
2 |
__BFP754_DIVBYZERO |
4 |
__BFP754_OVERFLOW |
8 |
__BFP754_UNDERFLOW |
16 |
__BFP754_INEXACT |
呼び出しインターフェイス:
void __binary_lowerFlags(int x);
説明: この関数は、入力で指定された例外グループのフラグを上げます。
呼び出しインターフェイス:
void __binary_raiseFlags(int x);
説明: この関数は、入力で指定された例外グループのフラグが上がっている場合のみ 1 を返し、そうでない場合は 0 を返します。
呼び出しインターフェイス:
int __binary_testFlags(int x);
説明: この関数は、入力 y で指定された例外グループのフラグが x で上がっている場合のみ 1 を返し、そうでない場合は 0 を返します。
呼び出しインターフェイス:
int __binary_testSavedFlags(int x, int y);
説明: この関数は、フラグを x で表される状態に復元します。
呼び出しインターフェイス:
void __binary_restoreFlags(int x);
説明: この関数は、すべてのステータスフラグの状態を返します。
呼び出しインターフェイス:
int __binary_saveFlags(void);
説明: この関数は、使用されている丸め方向を表す整数を返します。
値 |
例外名 |
---|---|
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);
説明: この関数は、整数型の入力値に基づいて丸め方向を設定します。
呼び出しインターフェイス:
void __binary_setBinaryRoundingDirection(int x);
説明: この関数は、動的に指定可能なすべてのモードの値を保存します。
呼び出しインターフェイス:
int __binary_saveModes(void);
丸めモードは、サポートされる唯一の動的に指定可能なモードなので、saveModes は getBinaryRoundingDirection と同じように動作します。
説明: この関数は、動的に指定可能なすべてのモードの値を入力に復元します。
呼び出しインターフェイス:
int __binary_restoreModes(void);
丸めモードは、サポートされる唯一の動的に指定可能なモードなので、restoreModes は setBinaryRoundingDirection と同じように動作します。
説明: この関数は、動的に指定可能なすべてのモードの値をデフォルトに設定します。
呼び出しインターフェイス:
void __binary_defaultMode(void);
丸めモードは、サポートされる唯一の動的に指定可能なモードなので、defaultMode は丸め方向属性を roundTiesToEven に設定します。