开发者
资源

complex32/complex64

产品支持情况

产品

是否支持

Atlas 350 加速卡

Atlas A3 训练系列产品/Atlas A3 推理系列产品

x

Atlas A2 训练系列产品/Atlas A2 推理系列产品

x

Atlas 200I/500 A2 推理产品

x

Atlas 推理系列产品AI Core

x

Atlas 推理系列产品Vector Core

x

Atlas 训练系列产品

x

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

具体定义如下:
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。

使用示例如下:

// 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;