Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all bug

名前

       nextafter, nextafterf, nextafterl, nexttoward, nexttowardf, nexttowardl - 浮動小数点数の操
       作

書式

       #include <math.h>

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

       double nexttoward(double x, long double y);
       float nexttowardf(float x, long double y);
       long double nexttowardl(long double x, long double y);

       -lm でリンクする。

   glibc 向けの機能検査マクロの要件 (feature_test_macros(7)  参照):

       nextafter():
           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
               || _XOPEN_SOURCE >= 500
               || /* Since glibc 2.19: */ _DEFAULT_SOURCE
               || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
       nextafterf(), nextafterl():
           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
               || /* Since glibc 2.19: */ _DEFAULT_SOURCE
               || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
       nexttoward(), nexttowardf(), nexttowardl():
           _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

説明

       関数 nextafter(), nextafterf(), nextafterl() は、y に向かう方向で x のすぐ次の浮動小数点数
       表現を返す。 yx より小さい場合、 x より小さい最大の浮動小数点表現の値を返す。

       xy と等しい場合、y が返される。

       関数  nexttoward(), nexttowardf(), nexttowardl() は、2 番目の引数が long double 型である点
       以外、 対応する nextafter() 関数と同じはたらきをする。

返り値

       成功すると、これらの関数は y に向かう方向で x の すぐ次の浮動小数点数表現を返す。

       xy と等しい場合、 (x と同じ型にキャストされた)  y が返される。

       xy が NaN の場合、NaN が返される。

       x が有限値で 結果がオーバーフローする場合、 範囲エラー (range error) が発生し、 各関数はそ
       れぞれ HUGE_VAL, HUGE_VALF, HUGE_VALL を返す。返り値には数学的に正しい符号が付与される。

       xy と同じではなく、正しい関数の結果が非正規化数かゼロかアンダーフローの場合、 範囲エ
       ラーが発生し、 (表現可能な場合には) 正しい値が、(そうでない場合には) 0.0 が返される。

エラー

       これらの関数を呼び出した際にエラーが発生したかの判定方法についての情報は math_error(7)  を
       参照のこと。

       以下のエラーが発生する可能性がある。

       範囲エラー (range error): 結果のオーバーフロー
              errnoERANGE が設定される。 オーバーフロー浮動小数点例外 (FE_OVERFLOW)  が上が
              る。

       範囲エラー: 結果が非正規化数かアンダーフロー
              errnoERANGE が設定される。 アンダーフロー浮動小数点例外 (FE_UNDERFLOW)   が上が
              る。

属性

       この節で使用されている用語の説明については、 attributes(7) を参照。

       ┌─────────────────────────────┬───────────────┬─────────┐
       │インターフェース属性      │
       ├─────────────────────────────┼───────────────┼─────────┤
       │nextafter(), nextafterf(),   │ Thread safety │ MT-Safe │
       │nextafterl(), nexttoward(),  │               │         │
       │nexttowardf(), nexttowardl() │               │         │
       └─────────────────────────────┴───────────────┴─────────┘

準拠

       C99,  POSIX.1-2001, POSIX.1-2008.  この関数は IEC 559 で定義されている (また IEEE 754/IEEE
       854 では付録で推奨関数として定義されている)。

バグ

       glibc バージョン 2.5 以前では、アンダーフローが発生した際に、 これらの関数はアンダーフロー
       浮動小数点例外 (FE_UNDERFLOW) を上がない。

       glibc の 2.23 より前のバージョンでは、これらの関数は errno を設定しない。

関連項目

       nearbyint(3)

この文書について

       この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの
       説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。