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;

描述

logfloglloglogd32logd64logd128 子例程计算 x 参数的自然对数。 日志e (x)。

希望检查错误情况的应用程序应将 errno 全局变量设置为零,并在调用这些子例程之前调用 feclearexcept(FE_ALL_EXCEPT)。 返回时,如果 errno 为非零或 fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW) 为非零,那么发生了错误。

参数

描述
X 指定要计算的值。

返回值

成功完成后, logfloglloglogd32logd64logd128 子例程返回 x的自然对数。

如果 x 为 ± 0 ,那么将发生电线杆错误,并且 logflogl, 和 log 子例程返回-HUGE_VALF 和-HUGE_VALL,-HUGE_VALHUGE_VAL_D32HUGE_VAL_D64HUGE_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