中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

v?arg

矢量计算输入复数的幅角,即虚部与实部比值的反正切值。

接口定义

C interface:

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

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

参数

参数名

类型

描述

输入/输出

len

整型数

表示输入向量的元素个数。

len≤0时会提示len无效并返回。

输入

src

  • 在vcarg中是复数单精度浮点类型。
  • 在vzarg中是复数双精度浮点类型。

输入向量src,向量长度为len。

若为空指针,会提示空指针错误并返回。

输入

dst

  • 在vcarg中是单精度浮点类型。
  • 在vzarg中是双精度浮点类型。

输出dst,向量长度为len。

若为空指针,会提示空指针错误并返回。

输出

输出结果

  • 每一个运算值返回输入复数的幅角,计算公式为arg(x + yi) = arctan(y/x)。
  • 其他特殊值参考如下说明。

    RE(z)

    i * IM(z)

    -∞

    -X

    -0

    +0

    +X

    +∞

    NAN

    +i * ∞

    +∞+i*∞

    +π/2

    +π/2

    +π/2

    +π/2

    +π/4

    NAN

    +i * Y

    -

    +π/2

    +π/2

    -

    +0

    NAN

    +i * 0

    +0

    +0

    +0

    NAN

    -i * 0

    -0

    -0

    -0

    NAN

    -i * Y

    -

    -π/2

    -π/2

    -

    -0

    NAN

    -i * ∞

    -3*π/4

    -π/2

    -π/2

    -π/2

    -π/2

    -π/4

    NAN

    +i * NAN

    NAN

    NAN

    NAN

    NAN

    NAN

    NAN

    NAN

依赖

C: "kvml.h"

示例

C interface:
    #define N 4
    const complex float src[N] = {
        __builtin_complex(-8.0f, 25.0f),
        __builtin_complex(+INFINITY, -2.1f),
        __builtin_complex(2.6f, 25.0f),
        __builtin_complex(-0.0f, +0.1f)
    };
    float dst[N] = {0};

    vcarg(N, src, dst);
    printFArr("output:", N, dst);
 
    /** 
     *  input: (-8.000,25.000) (  inf,-2.100) (2.600,25.000) (-0.000,0.100)
     *  output: 1.880   -0.000    1.467    1.571
     */
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词