---
title: v?mulbyconj
description: "计算第一个输入向量乘以第二个向量的共轭值。"
url: https://www.hikunpeng.com/document/detail/zh/hpchistory/hpckit/develop2400/kunpengaccel_kml_0108.html
sourcePath: /source/zh/hpchistory/hpckit/develop2400/kunpengaccel_kml_0108.html
indexId: c2c9353cb7ee761c7e22364c9d4b45e174e07f422b7a23fabd86550daa66467a67
---
# v?mulbyconj

计算第一个输入向量乘以第二个向量的共轭值。

#### 接口定义

C interface：

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

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


#### 参数

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


#### 输出结果

- 返回对src2取共轭值后，与src1相乘的结果。
- 特殊值请参见  vcmul&vzmul.xlsx
和  vzmulbyconj.xlsx
。


#### 依赖

C: "kvml.h"


#### 示例

C interface：```
#define N 4
    const complex float src1[N] = {
        __builtin_complex(-8.0f, 25.0f),
        __builtin_complex(-2.1f, +INFINITY),
        __builtin_complex(2.6f, 25.0f),
        __builtin_complex(+0.1f, NAN)
    };
    const complex float src2[N] = {
        __builtin_complex(-3.0f, 5.2f),
        __builtin_complex(NAN, -0.0f),
        __builtin_complex(-9.5f, 6.0f),
        __builtin_complex(-1.1f, 1.1f)
    };
    float complex dst[N] = {0};

    vcmulbyconj(N, src1, src2, dst);
    printFCArr("input1:", N, src1);
    printFCArr("input2:", N, src2);
    printFCArr("output:", N, dst);
 
    /** 
     *  input1: (-8.000,25.000) (-2.100,  inf) (2.600,25.000) (0.100,  nan)
     *  input2: (-3.000,5.200) (  nan,-0.000) (-9.500,6.000) (-1.100,1.100)
     *  output: (154.000,-33.400) (  nan,  nan) (125.300,-253.100) ( -nan,  nan)
     */
```
