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 |
|
表示输入向量的浮点值。 |
输入 |
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 */
父主题: 函数定义