---
title: powr?i?/powi?i?/powc?i?
description: "计算不同类别的参数的幂函数值。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/devg/kunpengaccel_kml_0199.html
sourcePath: /source/zh/kunpenghpcs/hpckit/devg/kunpengaccel_kml_0199.html
indexId: 5865a64f4487f941776e8f2e5f5852e62467db78d46761e0836433449bb699dc61
---
# 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
*
* */
```
