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 |
|
输入向量src,向量长度为len。 若为空指针,会提示空指针错误并返回。 |
输入 |
dst |
|
输出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 * */
父主题: 函数定义