名 前
abs, labs, llabs, imaxabs − 整 数 の 絶 対 値 を 計 算 す る
書 式
#include <stdlib.h>
int
abs(int j);
long int labs(long int j);
long long int llabs(long long int j);
#include <inttypes.h>
intmax_t imaxabs(intmax_t j);
glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 (feature_test_macros(7) 参 照 ):
llabs():
_XOPEN_SOURCE >= 600
|| _ISOC99_SOURCE ||
_POSIX_C_SOURCE >= 200112L;
or cc −std=c99
説 明
abs() 関 数 は 、 整 数 の 引 数 j の 絶 対 値 を 計 算 す る 。 labs(), llabs(), imaxabs() 関 数 は 、 そ れ ぞ れ の 関 数 の 型 に 応 じ た 引 数 j の 絶 対 値 を 計 算 す る 。
返 り 値
そ れ ぞ れ の 関 数 の 型 に 応 じ た 整 数 の 引 数 の 絶 対 値 を 返 す 。
属 性
マ ル チ ス レ ッ デ ィ ン グ (pthreads(7) 参 照 ) 関 数 abs(), labs(), llabs(), imaxabs() は ス レ ッ ド セ ー フ で あ る 。
準 拠
SVr4, POSIX.1−2001, 4.3BSD, C99. C89 は abs() 関 数 と labs() 関 数 の み を 含 ん で い る 。 llabs() 関 数 と imaxabs() 関 数 は C99 で 追 加 さ れ た 。
注 意
最 大 の 負 整 数 の 絶 対 値 は 、 定 義 さ れ て い な い 。
llabs() 関 数 は バ ー ジ ョ ン 2.0 か ら glibc に 含 ま れ る よ う に な っ た 。 imaxabs() 関 数 は バ ー ジ ョ ン 2.1.1 か ら glibc に 含 ま れ る よ う に な っ た 。
llabs() が 宣 言 さ れ る た め に は 、 標 準 ヘ ッ ダ ー を include す る 前 に _ISOC99_SOURCE か _ISOC9X_SOURCE(ど ち ら か は glibc の バ ー ジ ョ ン に 依 存 す る )を define し て お く 必 要 が あ る 。 デ フ ォ ル ト で 、 GCC は abs(), labs() お よ び (GCC 3.0 以 降 で は ) llabs() と imaxabs() を ビ ル ド イ ン 関 数 と し て 扱 う 。
関 連 項 目
cabs(3), ceil(3), fabs(3), floor(3), rint(3)
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。