---
title: v?powx
description: "计算变量的幂函数，变量和结果均为向量，幂次为标量。"
url: https://www.hikunpeng.com/document/detail/zh/hpchistory/hpckit/develop2400/kunpengaccel_kml_0068.html
sourcePath: /source/zh/hpchistory/hpckit/develop2400/kunpengaccel_kml_0068.html
indexId: 2a93390bb4ea33fc20d086c19c274568d3ca86200b2388b01f67bbbd28c79b9d67
---
# 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
     */
```
