Man page - nextafter(3)

Packages contains this manual

Available languages:

en fr ja ru ro

Manual

NEXTAFTER

名 前
書 式
説 明
返 り 値
エ ラ ー
属 性
準 拠
バ グ
関 連 項 目
こ の 文 書 に つ い て

名 前

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 の す ぐ 次 の 浮 動 小 数 点 数 表 現 を 返 す 。 y x よ り 小 さ い 場 合 、 x よ り 小 さ い 最 大 の 浮 動 小 数 点 表 現 の 値 を 返 す 。

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

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

返 り 値

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

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

x y が NaN の 場 合 、 NaN が 返 さ れ る 。

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

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

エ ラ ー

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

以 下 の エ ラ ー が 発 生 す る 可 能 性 が あ る 。
範 囲 エ ラ ー (range error): 結 果 の オ ー バ ー フ ロ ー

errno ERANGE が 設 定 さ れ る 。 オ ー バ ー フ ロ ー 浮 動 小 数 点 例 外 ( FE_OVERFLOW ) が 上 が る 。

範 囲 エ ラ ー : 結 果 が 非 正 規 化 数 か ア ン ダ ー フ ロ ー

errno ERANGE が 設 定 さ れ る 。 ア ン ダ ー フ ロ ー 浮 動 小 数 点 例 外 ( FE_UNDERFLOW ) が 上 が る 。

属 性

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

Image grohtml-17704-1.png

準 拠

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/ に 書 か れ て い る 。