---
title: svml128_atan2_f?
description: "计算输入的反正切值，输入src1以及src2均为向量。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2200/accel/kunpengaccel_kml_16_0257.html
sourcePath: /source/zh/kunpengboostkithistory/2200/accel/kunpengaccel_kml_16_0257.html
indexId: 649b6cf4f529ce975b30a4aea5a9b0c8bacb4803f9811e847d8f46bb811b01f074
---
# svml128_atan2_f?

计算输入的反正切值，输入src1以及src2均为向量。

#### 接口定义

C interface：

float32x4_t svml128_atan2_f32(float32x4_t src1, float32x4_t src2);

float64x2_t svml128_atan2_f64(float64x2_t src1, float64x2_t src2);


#### 参数

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| src1 | 在svml128\_atan2\_f32中，src1是单精度浮点类型。 在svml128\_atan2\_f64中，src1是双精度浮点类型。 | 表示输入向量的浮点值。 | 输入 |
| src2 | 在svml128\_atan2\_f32中，src2是单精度浮点类型。 在svml128\_atan2\_f64中，src2是双精度浮点类型。 | 表示输入向量的浮点值。 | 输入 |


#### 输出结果

对于atan2(y, x)来说：

- 返回的是原点至点(x, y)的方位角，即与x轴的夹角。返回值的单位为弧度，取值范围为(-π, +π]。
- 输入y为±0，x为负或-0，则返回±π。
- 输入y为±0，x为正或+0，则返回±0。
- 输入y为±∞，x为有限，则返回±π/2。
- 输入y为±∞，x为-∞，则返回±3π/4。
- 输入y为±∞，x为+∞，则返回±π/4。
- 输入x为±0，y为负，则返回-π/2。
- 输入x为±0，y为正，则返回+π/2。
- 输入x是-∞，y是有限且正的，则返回+π。
- 输入x为-∞，y为有限负，则返回-π。
- 输入x为+∞，且y为有限且为正，则返回+0。
- 输入x为+∞，且y为有限且为负，则返回-0。
- 输入x为nan，或y为nan，则返回nan。


#### 依赖

C: "ksvml.h"


#### 示例

C interface：

```
float32x4_t src = {0.0f, 2.0f, INFINITY, NAN};
float32x4_t src2 = {0.0f, 2.0f, INFINITY, NAN};
float32x4_t dst = svml128_atan2_f32(src, src2);
printf("%.15g  %.15g  %.15g  %.15g\n", dst[0], dst[1], dst[2], dst[3]);
/**
*  Output dst:
*  0  0.785398163397448  0.785398163397448  -nan
*/
```
