---
title: v?powx
description: "计算变量的幂函数，变量和结果均为向量，幂次为标量。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/240RC1/accel/kunpengaccel_kml_16_0308.html
sourcePath: /source/zh/kunpengboostkithistory/240RC1/accel/kunpengaccel_kml_16_0308.html
indexId: 95dfa3ae7c4048e067d78808f42f8fa3a975fa086c42af6d234117439d02a15c76
---
# v?powx

计算变量的幂函数，变量和结果均为向量，幂次为标量。

#### 接口定义

C interface：

void vspowx(const int len, const float* src1, const float src2, float* dst);

void vdpowx(const int len, const double* src1, const double src2, double* dst);

void vcpowx(const int len, const float complex *src1, const float complex src2, float complex *dst);

void vzpowx(const int len, const double complex *src1, const double complex src2, double complex *dst);


#### 参数

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| len | 整型数 | 表示输入向量的元素个数。 len≤0时会提示len无效并返回。 | 输入 |
| src1 | 在vspowx中是单精度浮点类型。 在vdpowx中是双精度浮点类型。 在vcpowx中是单精度复数浮点类型。 在vzpowx中是双精度复数浮点类型。 | 输入向量src1，向量长度为len。 若为空指针，会提示空指针错误并返回。 | 输入 |
| src2 | 在vspowx中是单精度浮点类型。 在vdpowx中是双精度浮点类型。 在vcpowx中是单精度复数浮点类型。 在vzpowx中是双精度复数浮点类型。 | 表示幂次值，为标量类型。 | 输入 |
| dst | 在vspowx中是单精度浮点类型。 在vdpowx中是双精度浮点类型。 在vcpowx中是单精度复数浮点类型。 在vzpowx中是双精度复数浮点类型。 | 输出向量dst，向量长度为len。 若为空指针，会提示空指针错误并返回。 | 输出 |


#### 输出结果

请参见v?pow的输出结果。


#### 依赖

C: "kvml.h"


#### 示例

C interface：

```
#define N 4
const float src1[N] = {-2.2f, 1.0f, +INFINITY, -0.0f};
const float src2 = +2.0f;
float dst[N] = {0};
vspowx(N, src1, src2, dst);
printFArr("input1:", N, src1);
printf("src2 = %.3f\n", src2);
printFArr("output:", N, dst);
/**
*  input1:  -2.200    1.000      inf   -0.000
*  src2 = 2.000
*  output:   4.840    1.000      inf    0.000
*/
```
