---
title: complex32/complex64
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendcopapi/atlasascendc_api_07_00181.html
sourcePath: /source/zh/canncommercial/900/API/ascendcopapi/atlasascendc_api_07_00181.html
indexId: 4a4f4fed3191eaab7c3492bf921ad0e06c66468c510a3bc557c816d9e13082e377
---
# 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;
```
