EXPM1

Section: Linux Programmer's Manual (3)
Updated: 2008-08-05
Index JM Home Page roff page
 

名前

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 || _ISOC99_SOURCE; or cc -std=c99
expm1f(), expm1l(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE; or cc -std=c99  

説明

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

    exp(x) - 1

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

返り値

成功すると、これらの関数は 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)、オーバーフローの場合
オーバーフロー浮動小数点例外 (FE_OVERFLOW) が上がる。

これらの関数は errno を設定しない。  

準拠

C99, POSIX.1-2001.  

バグ

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

x が正の大きな値の場合、 expm1() は期待通りのオーバーフロー例外だけでなく 間違って不正 (invalid) 浮動小数点例外を上げ、 正の無限大ではなく NaN を返すことがある。  

関連項目

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


 

Index

名前
書式
説明
返り値
エラー
準拠
バグ
関連項目

This document was created by man2html, using the manual pages.
Time: 03:26:41 GMT, April 25, 2010