plucky (3) rintf.3.gz

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

名前

       nearbyint, nearbyintf, nearbyintl, rint, rintf, rintl - 最も近い整数に丸める

書式

       #include <math.h>

       double nearbyint(double x);
       float nearbyintf(float x);
       long double nearbyintl(long double x);

       double rint(double x);
       float rintf(float x);
       long double rintl(long double x);

       -lm でリンクする。

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

       nearbyint(), nearbyintf(), nearbyintl():
           _POSIX_C_SOURCE >= 200112L || _ISOC99_SOURCE
       rint():
           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
               || _XOPEN_SOURCE >= 500
               || /* Since glibc 2.19: */ _DEFAULT_SOURCE
               || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
       rintf(), rintl():
           _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
               || /* Since glibc 2.19: */ _DEFAULT_SOURCE
               || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

説明

       The  nearbyint(),  nearbyintf(),  and nearbyintl()  functions round their argument to an integer value in
       floating-point format, using the current rounding direction (see fesetround(3))  and without raising  the
       inexact  exception.   When  the  current  rounding direction is to nearest, these functions round halfway
       cases to the even integer in accordance with IEEE-754.

       関数 rint(),  rintf(),  and  rintl()  も同じような動作をするが、  結果が引数と異なる場合に  inexact  例外
       (FE_INEXACT)  を出す (この例外は fetestexcept(3)  経由で確認可能)。

返り値

       これらの関数は丸めた整数値を返す。

       x が整数、+0、-0、NaN、無限のいずれかの場合、 x そのものが返される。

エラー

       エラーは発生しない。  POSIX.1-2001  にはオーバーフローでの範囲エラー  (range  error)  の 記載がある。「注
       意」の節を参照のこと。

属性

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

       ┌───────────────────────────┬───────────────┬─────────┐
       │インターフェース属性      │
       ├───────────────────────────┼───────────────┼─────────┤
       │nearbyint(), nearbyintf(), │ Thread safety │ MT-Safe │
       │nearbyintl(), rint(),      │               │         │
       │rintf(), rintl()           │               │         │
       └───────────────────────────┴───────────────┴─────────┘

準拠

       C99, POSIX.1-2001, POSIX.1-2008.

注意

       SUSv2 と POSIX.1-2001 にはオーバーフローに関する記述があり、 オーバーフローの場合には、 errnoERANGE
       に設定するか、  FE_OVERFLOW 例外を発生することとされている。 実際のところ、どの現行のマシンでも結果がオー
       バーフローを起こすことはないので、 このエラー処理は意味がない。 (より正確に言うと、オーバーフローは指数部
       の最大値が 仮数部を表すビットの数より小さい場合にしか起こらない。 IEEE-754 規格の 32 ビットと 64 ビットの
       浮動小数では、 指数部の最大値はそれぞれ 128 と 1024 であり、 仮数部のビット数はそれぞれ  24  と  53  であ
       る。)

       丸めた値を整数型に格納した場合には、おそらくこの関数ではなく lrint(3)  に載っている関数のどれかを使いたい
       のだろう。

関連項目

       ceil(3), floor(3), lrint(3), round(3), trunc(3)

この文書について

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

                                                   2017-09-15                                            RINT(3)