Atan2

产品支持情况

产品 是否支持
Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件

功能说明

  • 算子功能:计算两个输入张量 x1(分子,对应数学中的 y)和 x2(分母,对应数学中的 x)的反正切值,返回值的角度范围为 (−π, π],可正确区分所有象限。

  • 计算公式:

outi=atan2(x1i, x2i)\text{out}_i = \text{atan2}(x1_i,\ x2_i)

其中 atan2(y,x)\text{atan2}(y, x) 定义为:

atan2(y,x)={arctan⁡(y/x)x>0arctan⁡(y/x)+πx<0, y≥0arctan⁡(y/x)−πx<0, y<0+π/2x=0, y>0−π/2x=0, y<00x=0, y=0\text{atan2}(y, x) = \begin{cases} \arctan(y/x) & x > 0 \\ \arctan(y/x) + \pi & x < 0,\ y \ge 0 \\ \arctan(y/x) - \pi & x < 0,\ y < 0 \\ +\pi/2 & x = 0,\ y > 0 \\ -\pi/2 & x = 0,\ y < 0 \\ 0 & x = 0,\ y = 0 \end{cases}

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
x1 输入 待计算的分子张量,对应数学公式中的 y。 fp16、fp32、bf16 ND
x2 输入 待计算的分母张量,对应数学公式中的 x。 fp16、fp32、bf16 ND
y 输出 计算结果张量,与输入 shape 相同,值域为 (−π, π]。 fp16、fp32、bf16 ND

约束说明

  • x1 与 x2 的 shape 必须一致。
  • x1 与 x2 的数据类型必须一致。
  • 输出 y 的 shape 与 x1 相同。
  • 典型场景建议尾轴为 32B 对齐(float32 为 8 的倍数,float16 为 16 的倍数)。

调用说明

调用方式 调用样例 说明
aclnn调用 test_aclnn_atan2.cpp 通过aclnnAtan2接口方式调用Atan2算子。

贡献说明

贡献者 贡献方 贡献算子 贡献时间 贡献内容
Tream 个人开发者 Atan2 2025/03 Atan2 算子适配开源仓