---
title: v?abs
description: "计算输入向量的绝对值或模。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/240RC2/accel/kunpengaccel_kml_16_0296.html
sourcePath: /source/zh/kunpengboostkithistory/240RC2/accel/kunpengaccel_kml_16_0296.html
indexId: 2167aa692691721b2b047da18d8f10f211dab05d44e597dcd6613276624188bd76
---
# v?abs

计算输入向量的绝对值或模。

#### 接口定义

C interface：

void vsabs(const int len, const float *src, float *dst);

void vdabs(const int len, const double *src, double *dst);

void vcabs(const int len, const float complex *src, float*dst);

void vzabs(const int len, const double complex *src, double*dst);


#### 参数

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| len | 整型数 | 表示输入向量的元素个数。 len≤0时会提示len无效并返回。 | 输入 |
| src | 在vsabs中是单精度浮点类型。 在vdabs中是双精度浮点类型。 在vcabs中是复数单精度浮点类型。 在vzabs中是复数双精度浮点类型。 | 输入向量src，向量长度为len。 若为空指针，会提示空指针错误并返回。 | 输入 |
| dst | 在vsabs中是单精度浮点类型。 在vdabs中是双精度浮点类型。 在vcabs中是单精度浮点类型。 在vzabs中是双精度浮点类型。 | 输出dst，向量长度为len。 若为空指针，会提示空指针错误并返回。 | 输出 |


#### 输出结果

- 对于vsabs、vdabs，返回实数的绝对值。对于vcabs、vzabs，返回复数的模。即对于，，求。
- 对于vsabs和vdabs，有以下输出情况。| 输入值（src） | 输出值（dst） |
| --- | --- |
| +inf | +inf |
| \-inf | +inf |
| nan | nan |


- 对于vcabs和vzabs，有以下输出情况。| 输入值实部（src\->real） | 输入值虚部（src\->imag） | 输出值（dst） |
| --- | --- | --- |
| snan | any | nan |
| any | snan | nan |
| ±inf | !=snan | inf |
| !=snan | ±inf | inf |
| qnan | \|srcImag\| < inf | nan |
| \|srcReal\| < inf | qnan | nan |
|  |  | inf |


#### 依赖

C: "kvml.h"


#### 示例

C interface：
```
#define N 4
const float src[N] = {-1.4f, 27.8f, -INFINITY, NAN};
float dst[N] = {0};
vsabs(N, src, dst);
printFArr("input :", N, src);
printFArr("output:", N, dst);
/**
*  input :  -1.400   27.800     -inf      nan
*  output:   1.400   27.800      inf      nan
*
*/
```
