nextafter()、nextafterf()、nextafterl() - 次の表現可能な倍精度浮動小数点数

標準

標準/拡張機能 C/C++ 依存項目

XPG4.2
C99
Single UNIX Specification、バージョン 3
C++ TR1 C99

両方  

形式

#define _XOPEN_SOURCE_EXTENDED 1
#include <math.h>

double nextafter(double x, double y);
C99:
#define _ISOC99_SOURCE
#include <math.h>

float nextafterf(float x, float y);
long double nextafterl(long double x, long double y);
C++ TR1 C99:
#define _TR1_C99
#include <math.h>

float nextafter(float x, float y); 
long double nextafter(long double x, long double y);

機能説明

nextafter() 関数は、y の方向に向かって x の あとにくる次の表現可能倍精度浮動小数点値を計算します。したがって、yx より小さい場合、nextafter() は x より小さい浮動小数点数で表現可能な値の中で最も大きい浮動小数点数を戻します。
注: 下表は、これらの関数の実行可能な形式を示しています。 IEEE 2 進数浮動小数点の詳細は、IEEE 2 進数浮動小数点を参照してください。
関数 Hex IEEE
nextafter X X
nextafterf X X
nextafterl X X
制約事項: nextafterf() 関数は、_FP_MODE_VARIABLE フィーチャー・テスト・マクロをサポートしません。

戻り値

nextafter() 関数は、y の方向で x の後にくる次の表現可能な値を戻します。 この関数は常に成功します。

x が有限で該当する値によってオーバーフローが生じる場合は、範囲エラーが発生し、関数の戻りの型に合わせて ±HUGE_VAL、±HUGE_VALF、および ±HUGE_VALL (x と同じ符号が付く) が戻されます。

Errno
記述
ERANGE
該当値オーバーフロー。

関連情報