Result is atan(Y, X)
which should be preferred for portability.
It 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 result lies in the interval -pi..pi. The operation is valid even if X is zero, in which case the result is pi/2 or -pi/2. One application is the conversion of cartesian to polar coordinates, where this function computes the angle component (in radians).
In coroutining mode, if X or Y is uninstantiated, the call to atan/3 is delayed until both variables are instantiated.
Success:
atan( 0.0, -1.0, Result). (gives Result = 3.141592)
atan( 1.0, -1.0, Result). (gives Result = 2.356194)
atan( 1.0, 0.0, Result). (gives Result = 1.570796)
atan( 1.0, 1.0, Result). (gives Result = 0.785398)
atan( 0.0, 0.0, Result). (gives Result = 0.0)
atan(-1.0, 1.0, Result). (gives Result = -0.785398)
atan(-1.0, 0.0, Result). (gives Result = -1.570796)
atan(-1.0, -1.0, Result). (gives Result = -2.356194)
atan(-0.0, -1.0, Result). (gives Result = -3.141592)
atan( 7.0, 7.0, Result). (gives Result = 0.785398)
Fail:
atan(1.55741, 0.0, 1).
Error:
atan(A, 0.0, 6.0). (Error 4).
atan(1 + 0.55741, 1.0, R). (Error 24).