鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

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

  • 在powf中,x是单精度浮点类型。
  • 在pow中,x是双精度浮点类型。

表示输入数据的浮点值。

输入

y

  • 在powf中,y是单精度浮点类型。
  • 在pow中,y是双精度浮点类型。

表示输入数据的浮点值。

输入

返回值

  1. x大于0且y为小数,返回幂指数的结果,取值范围r ∈ (-INF, +INF)。
  2. 输入x为-0,y为负的奇数, 则返回-∞;其他x为±0, y为负数,返回+∞。
  3. 输入x为±0,y为正的奇数, 则返回±0;其他x为±0, y为正数,返回+0。
  4. 输入x为±1,y为任意值,则返回+1。
  5. 输入x为任意值,y为±0,则返回+1。
  6. 输入x小于+0,y为小数,则返回nan。
  7. 输入|x|小于1,y为-∞,则返回+∞;输入|x|大于1,y为-∞,则返回+0。
  8. 输入|x|小于1,y为+∞,则返回+0;输入|x|大于1,y为+∞,则返回+∞。
  9. 输入x为-∞,y为负奇数,则返回-0;其他x为-∞,y为负数,则返回+0。
  10. 输入x为-∞,y为正奇数,则返回-∞;其他x为-∞,y为正数,则返回+∞。
  11. 输入x为+∞,y小于+0,则返回+0;其他x为+∞,则返回+∞。
  12. 输入x为大的有限数,且y为大的有限数,则返回±∞。
  13. 输入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 
    !