pow
计算x的y次幂。
接口定义
C interface:
float powf(float x, float y);
double pow(double x, double y);
Fortran interface:
RES = POWF(X, Y);
RES = POW(X, Y);
参数
参数名 |
类型 |
描述 |
输入/输出 |
|---|---|---|---|
x |
|
表示输入数据的浮点值。 |
输入 |
y |
|
表示输入数据的浮点值。 |
输入 |
返回值
- x大于0且y为小数,返回幂指数的结果,取值范围r ∈ (-INF, +INF)。
- 输入x为-0,y为负的奇数, 则返回-∞;其他x为±0, y为负数,返回+∞。
- 输入x为±0,y为正的奇数, 则返回±0;其他x为±0, y为正数,返回+0。
- 输入x为±1,y为任意值,则返回+1。
- 输入x为任意值,y为±0,则返回+1。
- 输入x小于+0,y为小数,则返回nan。
- 输入|x|小于1,y为-∞,则返回+∞;输入|x|大于1,y为-∞,则返回+0。
- 输入|x|小于1,y为+∞,则返回+0;输入|x|大于1,y为+∞,则返回+∞。
- 输入x为-∞,y为负奇数,则返回-0;其他x为-∞,y为负数,则返回+0。
- 输入x为-∞,y为正奇数,则返回-∞;其他x为-∞,y为正数,则返回+∞。
- 输入x为+∞,y小于+0,则返回+0;其他x为+∞,则返回+∞。
- 输入x为大的有限数,且y为大的有限数,则返回±∞。
- 输入x为nan, 且y为 nan,则返回nan。
依赖
C: "km.h"
Fortran: "km.f03"
示例
C interface:
double pi = acos(-1);
// typical usage
double x1 = 1.0, x2 = 2.0, x3 = 3.0, x4 = 4.0;
// special handing
double a = 0.0, b = INFINITY, c = -INFINITY, d = NAN;
// print result
printf("base-5 logarithm of 125 = %.15f\n", log(x3)/log(x4));
printf("log(1.0) = %.15f\n", log(e));
printf("log(pi/2) = %.15f\n", log(x1));
printf("log(2.0) = %.15f\n", log(x2));
printf("log(0.0) = %.15f\n", log(a));
printf("log(INFINITY) = %.15f\n", log(b));
printf("log(-INFINITY) = %.15f\n", log(c));
printf("log(NAN) = %.15f\n", log(d));
/*
* base-5 logarithm of 125 = 3.000000000000000
* log(1.0) = 0.000000000000000
* log(pi/2) = 0.451582705289455
* log(2.0) = 0.693147180559945
* log(+0.0) = -inf
* log(INFINITY) = inf
* log(-INFINITY) = nan
* log(NAN) = nan
*
* */
Fortran interface:
REAL(8) :: X = 2
PRINT*, LOG(X)
!
! OUTPUT
! 0.693147180559945
!
父主题: KML_MATH库函数说明