Intel® C++ Compiler 16.0 User and Reference Guide
Calculates the arc tangent of float32 variables x and y. Vector variant of atan2(x, y) function for float32arguments. This intrinsic only applies to Intel® Many Integrated Core Architecture (Intel® MIC Architecture).
Without Mask extern _m512 __cdecl _mm512_atan2_ps(_m512 v2, _m512 v3); |
With Mask extern _m512 __cdecl _mm512_mask_atan2_ps(_m512 v1_old, __mmask16 k1, _m512 v2, _m512 v3); |
v2 |
vector with float32 values |
v3 |
vector with float32 values |
v1_old |
Source vector that retains old values of the destination vector; the resulting vector gets corresponding elements from v1_old for zero mask bits |
k1 |
Writemask; only those elements of the source vectors with corresponding bit set to '1' in the k1 mask are computed and stored in the result; elements in the result vector corresponding to zero bit in k1 are copied from corresponding elements of vector v1_old |
Calculates the arc tangent (in radians) of corresponding float64 elements of vectors v2 and v3. The following is an illustration of the atan2 operation:
Res[0] = atan2(v1[0], v2[0]) Res[1] = atan2(v1[1], v2[1]) Res[2] = atan2(v1[2], v2[2]) ... Res[15] = atan2(v1[15], v2[15])
This calculation is similar to calculating the arc tangent of y / x, except that the signs of both arguments are used to determine the quadrant of the result.
The masked variant has two additional arguments: v1_old and k1. Those elements of v2 and v3 with the corresponding bit clear in vector mask k1 are not used in the computation. Instead, the corresponding element from v1_old is copied to the resulting vector.
Returns the result of the operation.