log , logf , logl , logd32, logd64和 logd128 子例程
用途
计算自然对数。
语法
#include <math.h>
float logf (x)
float x;
long double logl (x)
long double x;
double log (x)
double x;
_Decimal32 logd32 (x)
_Decimal32 x;
_Decimal64 logd64 (x)
_Decimal64 x;
_Decimal128 logd128 (x)
_Decimal128 x;描述
logf, logl, log, logd32, logd64和 logd128 子例程计算 x 参数的自然对数。 日志e (x)。
希望检查错误情况的应用程序应将 errno 全局变量设置为零,并在调用这些子例程之前调用 feclearexcept(FE_ALL_EXCEPT)。 返回时,如果 errno 为非零或 fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW) 为非零,那么发生了错误。
参数
| 项 | 描述 |
|---|---|
| X | 指定要计算的值。 |
返回值
成功完成后, logf, logl, log, logd32, logd64和 logd128 子例程返回 x的自然对数。
如果 x 为 ± 0 ,那么将发生电线杆错误,并且 logf, logl, 和 log 子例程返回-HUGE_VALF 和-HUGE_VALL,-HUGE_VAL, HUGE_VAL_D32, HUGE_VAL_D64和 HUGE_VAL_D128 。
对于小于 0 的 x 的有限值,或者如果 x 为 -Inf ,那么将发生域错误,并返回 NaN 。
如果x为NaN,返回NaN。
如果 x 为 1 ,那么将返回 + 0。
如果 x 为 + Inf ,那么将返回 x 。
错误代码
使用 libm.a 库时:
| 项 | 描述 |
|---|---|
| LOG | 如果 x 参数小于 0 ,那么 log 子例程将返回 NaNQ 值并将 errno 设置为 EDOM。 如果 x= 0 ,那么 log 子例程返回-HUGE_VAL 值,但不修改 errno。 |
使用 libmsaa.a(-lmsaa) 时:
| 项 | 描述 |
|---|---|
| LOG | 如果 x 参数不是正数,那么 log 子例程返回 a-HUGE_VAL 值,并将 errno 设置为 EDOM 值。 指示将 DOMAIN 错误 (或当 x = 0 时的 SING 错误) 输出到标准错误的消息。 |
| LOG | 如果 x<0 ,那么 洛格尔 子例程将返回 NaNQ 值 |