Skip to content

complex32/complex64

产品支持情况

  • Ascend 950PR/Ascend 950DT:支持
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:不支持
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品:不支持
  • Atlas 200I/500 A2 推理产品:不支持
  • Atlas 推理系列产品AI Core:不支持
  • Atlas 推理系列产品Vector Core:不支持
  • Atlas 训练系列产品:不支持

复数类型,其中complex32表示实部和虚部都是half类型的复数,位宽为32位;complex64表示实部和虚部都是float类型的复数,位宽为64位。

具体定义如下:

C++
namespace AscendC {
template<class T>
struct Complex {
    T real;
    T imag;
};
} // namespace AscendC
using complex32 = AscendC::Complex<half>;
using complex64 = AscendC::Complex<float>;

表1 Complex模板参数说明

参数名称

描述

T

实部和虚部的数据类型,仅支持half/float。

表2 Complex结构体参数说明

函数名称

入参说明

real

实部,类型为T,仅支持half/float。

imag

虚部,类型为T,仅支持half/float。

使用示例如下:

C++
// value0代表实部为1,虚部为2的复数,即1+2j
complex32 value0(1, 2);
// value1代表实部为3,虚部为0的复数,即3+0j
complex32 value1(3);
// value2代表实部为4,虚部为0的复数,即4+0j
complex64 value2 = 4;

免责声明:本站内容由 asc-devkit 仓 master 分支自动编译生成,属于持续开发版本,可能存在缺陷,仅供预览与参考。如需稳定及商用资料,请查阅官方 昇腾社区