---
title: powr?i?/powi?i?/powc?i?
description: "计算不同类别的参数的幂函数值。"
url: https://www.hikunpeng.com/document/detail/zh/hpchistory/hpckit/develop2400/kunpengaccel_kml_0196.html
sourcePath: /source/zh/hpchistory/hpckit/develop2400/kunpengaccel_kml_0196.html
indexId: c2db25e4bcc342121432a6dfbb6f70f2bc129a50c2dcfe49bad46d215032dda967
---
# powr?i?/powi?i?/powc?i?

计算不同类别的参数的幂函数值。

#### 接口定义

C interface：

complex double powc16i4(complex double x, int y);

complex double powc16i4_18(complex double x, int y);

int powi4i4(int x, int y);

int powi4i4_18(int x, int y);

int64_t powi8i4(int64_t x, int y);

int64_t powi8i4_18(int64_t x, int y);

int64_t powi8i8(int64_t x, int64_t y);

float powr4i4(float x, int y);

double powr8i4(double x, int y);

long double powr16i4(long double x, int y);

powc16i4_18、powi4i4_18仅在高精度版本提供。


#### 依赖

C: "km.h"


#### 示例

C interface：

```
// typical usage
printf("powi4i4(1, 2) = %d\n", powi4i4(1, 2));
printf("powi4i4(3, 4) = %d\n", powi4i4(3, 4));
printf("powr4i4(1.0, 2) = %.15f\n", powr4i4(1.0, 2));
printf("powr4i4(3.0, 4) = %.15f\n", powr4i4(3.0, 4));
printf("powr4i4(INFINITY, 2) = %.15f\n", powr4i4(INFINITY, 2));
printf("powr4i4(INFINITY, 3) = %.15f\n", powr4i4(INFINITY, 3));
printf("powr4i4(-INFINITY, 3) = %.15f\n", powr4i4(-INFINITY, 3));
/*
* powi4i4(1, 2) = 1
* powi4i4(3, 4) = 81
* powr4i4(1.0, 2) = 1.000000000000000
* powr4i4(3.0, 4) = 81.000000000000000
* powr4i4(INFINITY, 2) = inf
* powr4i4(INFINITY, 3) = inf
* powr4i4(-INFINITY, 3) = -inf
*
* */
```
