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库函数说明