expm1函数用法详解
expm1函数简介
- 头文件包含
#include <math.h>
- 函数定义
double expm1(double x );
float expm1f(float x );
long double expm1l(long double x );
- 编译链接选项
-lm
expm1函数常见使用错误
- 链接错误
undefined reference to `expm1'
解决办法:添加链接选项
-lm
- 编译错误
warning: implicit declaration of function ‘expm1’ [-Wimplicit-function-declaration]
解决办法:包含头文件
#include <math.h>
expm1函数详细描述
这些函数返回的值相当于
exp(x) \- 1
即使x的值接近零,结果的计算方法也是精确的\(ema的情况,其中"exp(x) - 1"由于两个几乎相等的数字相减而不精确。
expm1函数返回值
如果成功,这些函数将返回"exp(x)\ -\ 1"
如果x是NaN,则返回NaN。
如果x为+0(-0),则返回+0(-0)。
如果x为正无穷大,则返回正无穷大。
如果x为负无穷大,则返回-1。
如果结果溢出,则出现范围错误,函数分别返回- HUGE_VAL - HUGE_VALF 或- HUGE_VALL 。
expm1函数错误码
有关如何确定调用这些函数时是否发生错误的信息,请参见math_error (7)。
可能会出现以下错误:
- 范围错误,溢出errno设置为ERANGE(但请参见BUGS)。引发溢出浮点异常( FE_OVERFLOW )。
评论区