名 前
exp, expf, expl − 底 が e の 指 数 関 数
書 式
#include <math.h>
double
exp(double x);
float expf(float x);
long double expl(long double x);
−lm で リ ン ク す る 。
glibc 向 け の 機 能 検 査 マ ク ロ の 要 件 (feature_test_macros(7) 参 照 ):
expf(), expl():
_BSD_SOURCE || _SVID_SOURCE ||
_XOPEN_SOURCE >= 600 || _ISOC99_SOURCE ||
_POSIX_C_SOURCE >= 200112L;
or cc −std=c99
説 明
exp() 関 数 は e の x 乗 の 値 を 返 す (e は 自 然 対 数 の 底 )。
返 り 値
成 功 す る と 、 こ れ ら の 関 数 は e の x 乗 を 返 す 。
x が NaN の 場 合 、 NaN が 返 さ れ る 。
x が 正 の 無 限 大 の 場 合 、 正 の 無 限 大 が 返 さ れ る 。
x が 負 の 無 限 大 の 場 合 、 +0 が 返 さ れ る 。 結 果 が ア ン ダ ー フ ロ ー す る 場 合 、 範 囲 エ ラ ー (range error) が 発 生 し 、 0 が 返 さ れ る 。 結 果 が オ ー バ ー フ ロ ー す る 場 合 、 範 囲 エ ラ ー が 発 生 し 、 各 関 数 は そ れ ぞ れ +HUGE_VAL, +HUGE_VALF, +HUGE_VALL を 返 す 。
エ ラ ー
こ れ ら の 関 数 を 呼 び 出 し た 際 に エ ラ ー が 発 生 し た か の 判 定 方 法 に つ い て の 情 報 は math_error(7) を 参 照 の こ と 。 以 下 の エ ラ ー が 発 生 す る 可 能 性 が あ る 。 範 囲 エ ラ ー
(range error)、 オ ー バ ー フ ロ ー の 場 合
errno に ERANGE が 設 定 さ れ る 。 オ ー バ ー フ ロ ー 浮 動 小 数 点 例 外 (FE_OVERFLOW) が 上 が る 。 範 囲 エ ラ ー
(range error)、 ア ン ダ ー フ ロ ー の 場 合
errno に ERANGE が 設 定 さ れ る 。 ア ン ダ ー フ ロ ー 浮 動 小 数 点 例 外 (FE_UNDERFLOW) が 上 が る 。
準 拠
C99, POSIX.1−2001. double 版 の 関 数 は SVr4, 4.3BSD, C89 に も 準 拠 し て い る 。
関 連 項 目
cbrt(3), cexp(3), exp10(3), exp2(3), sqrt(3)
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。