Manpages

名 前

expm1, expm1f, expm1l − 引 き 数 の 指 数 か ら 1 を 引 い た 値

書 式

#include <math.h>

double expm1(double x);
float expm1f(float
x);
long double expm1l(long double
x);

−lm で リ ン ク す る 。

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

expm1():

_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L;
or cc −std=c99

expm1f(), expm1l():

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

説 明

expm1(x) は 以 下 と 等 し い 値 を 返 す 。

exp(x) − 1

exp(x) − 1 の 計 算 に は 、 x が 0 の 近 傍 で 引 き 算 時 の 桁 落 ち の た め に 不 正 確 と な る よ う な 場 合 で も 正 確 な 値 が 計 算 で き る 方 法 が 用 い ら れ る 。

返 り 値

成 功 す る と 、 こ れ ら の 関 数 は exp(x) − 1 を 返 す 。

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

x が +0 (−0) の 場 合 、 +0 (−0) が 返 さ れ る 。

x が 正 の 無 限 大 の 場 合 、 正 の 無 限 大 が 返 さ れ る 。

x が 負 の 無 限 大 の 場 合 、 −1 が 返 さ れ る 。 結 果 が オ ー バ ー フ ロ ー す る 場 合 、 範 囲 エ ラ ー (range error) が 発 生 し 、 各 関 数 は そ れ ぞ れ −HUGE_VAL, −HUGE_VALF, −HUGE_VALL を 返 す 。

エ ラ ー

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

(range error)、 オ ー バ ー フ ロ ー の 場 合

errnoERANGE が 設 定 さ れ る (「 バ グ 」 の 節 も 参 照 )。 オ ー バ ー フ ロ ー 浮 動 小 数 点 例 外 (FE_OVERFLOW) が 上 が る 。

属 性

マ ル チ ス レ ッ デ ィ ン グ (pthreads(7) 参 照 ) 関 数 expm1(), expm1f(), expm1l() は ス レ ッ ド セ ー フ で あ る 。

準 拠

C99, POSIX.1−2001.

バ グ

x が 負 の 大 き な 値 の 場 合 (こ の 場 合 に は 関 数 の 結 果 は −1 に 近 付 い て い く )、 expm1() は 間 違 っ て ア ン ダ ー フ ロ ー 浮 動 小 数 点 例 外 を 上 げ る こ と が あ る 。

x が 正 の 大 き な 値 の 場 合 、 expm1() は 期 待 通 り の オ ー バ ー フ ロ ー 例 外 だ け で な く 間 違 っ て 不 正 (invalid) 浮 動 小 数 点 例 外 を 上 げ 、 正 の 無 限 大 で は な く NaN を 返 す こ と が あ る 。 バ ー ジ ョ ン 2.11 よ り 前 の glibc の 実 装 で は 、 範 囲 エ ラ ー が 発 生 し た 場 合 に 、 errnoERANGE が 設 定 さ れ な か っ た 。

関 連 項 目

exp(3), log(3), log1p(3)

こ の 文 書 に つ い て

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