Manpages

名 前

lrint, lrintf, lrintl, llrint, llrintf, llrintl − 最 も 近 い 整 数 値 に 丸 め る

書 式

#include <math.h>

long int lrint(double x);
long int lrintf(float
x);
long int lrintl(long double
x);

long long int llrint(double x);
long long int llrintf(float
x);
long long int llrintl(long double
x);

−lm で リ ン ク す る 。

glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 (feature_test_macros(7) 参 照 ): 上 記 の 全 て の 関 数 :

_XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L;
or cc −std=c99

説 明

こ れ ら の 関 数 は 、 現 在 の 丸 め 方 向 に 基 づ き 、 最 も 近 い 整 数 に 引 き 数 を 丸 め る (現 在 の 丸 め 方 向 に つ い て は fesetround(3) を 参 照 )。

rint(3) 系 の 関 数 と 違 い 、 こ れ ら の 関 数 の 返 り 値 の 型 は 引 き 数 の 型 と 異 な る 点 に 注 意 す る こ と 。

返 り 値

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

x が NaN か 無 限 大 の 場 合 、 も し く は 丸 め た 値 が 大 き 過 ぎ て long (ll* 関 数 の 場 合 に は long long) に 格 納 で き な い 場 合 、 領 域 エ ラ ー (domain error) が 発 生 し 、 返 り 値 は 不 定 と な る 。

エ ラ ー

こ れ ら の 関 数 を 呼 び 出 し た 際 に エ ラ ー が 発 生 し た か の 判 定 方 法 に つ い て の 情 報 は math_error(7) を 参 照 の こ と 。 以 下 の エ ラ ー が 発 生 す る 可 能 性 が あ る 。 領 域 エ ラ ー

(domain error): x が NaN か 無 限 大 、 も し く は 丸 め た 値 が 大 き 過 ぎ る 不 正 (invalid) 浮 動 小 数 点 例 外 (FE_INVALID) が 上 が る 。 こ れ ら の 関 数 は errno を 設 定 し な い 。

バ ー ジ ョ ン

こ れ ら の 関 数 は glibc バ ー ジ ョ ン 2.1 で 初 め て 登 場 し た 。

属 性

マ ル チ ス レ ッ デ ィ ン グ (pthreads(7) 参 照 ) 関 数 lrint(), lrintf(), lrintl(), llrint(), llrintf(), llrintl() は ス レ ッ ド セ ー フ で あ る 。

準 拠

C99, POSIX.1−2001.

関 連 項 目

ceil(3), floor(3), lround(3), nearbyint(3), rint(3), round(3)

こ の 文 書 に つ い て

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