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

pow

计算x的y次幂。

接口定义

C interface:

float powf(float x, float y);

double pow(double x, double y);

long double powl(long double x, long double y);

Fortran interface:

RES = POWF(X, Y);

RES = POW(X, Y);

参数

参数名

类型

描述

输入/输出

x

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

表示输入数据的浮点值。

输入

y

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

表示输入数据的浮点值。

输入

返回值

  • x大于0且y为小数,返回幂指数的结果,取值范围(-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"

示例

C interface:

    double pi = acos(-1); 
    // typical usage 
    double x1 = 1.0, x2 = 2.0, x3 = 3.0, x4 = 4.0;
    double y1 = 4.0, y2 = -4.0, y3 = -3.0, y4 = 3.0;
    // special handing 
    double a = 0.0, b = INFINITY, c = -INFINITY, d = NAN, e = 1.0; 
    // print result 
    printf("pow(1.0, 4.0) = %.15f\n", pow(x1, y1));
    printf("pow(2.0, -4.0) = %.15f\n", pow(x2, y2));
    printf("pow(3.0, -3.0) = %.15f\n", pow(x3, y3));
    printf("pow(4.0, 3.0) = %.15f\n", pow(x4, y4));
    printf("pow(1.0, 0.0) = %+.15f\n", pow(x1, a));
    printf("pow(INFINITY, 1.0) = %+.15f\n", pow(b, x1));
    printf("pow(-INFINITY, -1.0) = %+.15f\n", pow(c, -x1));
    printf("pow(1.0, -INFINITY) = %+.15f\n", pow(x1, c));
    printf("pow(1.0, NAN) = %+.15f\n", pow(x1, d));
    printf("pow(NAN, -1.0) = %+.15f\n", pow(d, -x1));
    /* 
     *  pow(1.0, 4.0) = 1.000000000000000
     *  pow(2.0, -4.0) = 0.062500000000000
     *  pow(3.0, -3.0) = 0.037037037037037
     *  pow(4.0, 3.0) = 64.000000000000000
     *  pow(1.0, 0.0) = +1.000000000000000
     *  pow(INFINITY, 1.0) = +inf
     *  pow(-INFINITY, -1.0) = -0.000000000000000
     *  pow(1.0, -INFINITY) = +1.000000000000000
     *  pow(1.0, NAN) = +1.000000000000000
     *  pow(NAN, -1.0) = +nan
     * 
     * */
Fortran interface:
    REAL(8) :: X = 3.0 
    REAL(8) :: Y = -3.0 
    PRINT*,  POW(X, Y) 
    ! 
    ! OUTPUT 
    !     0.037037037037037
    !
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词