math.atan2

FLOATmath.atan2FLOATyFLOATx

Available in all subroutines.

Computes the principal value of the arc tangent of y/x, using the signs of both arguments to determine the quadrant of the return value.

Parameters

  • y - Floating point value.
  • x - Floating point value.

Return Value

Upon successful completion, this function returns the arc tangent of y/x in the range -math.PI to math.PI radians inclusive.

If y is ±0 and x is < 0, ±math.PI will be returned.

If y is ±0 and x is > 0, ±0 will be returned.

If y is < 0 and x is ±0, -math.PI_2 will be returned.

If y is > 0 and x is ±0, math.PI_2 will be returned.

If x is 0, a pole error will not occur.

If either x or y is math.NAN, a NaN will be returned.

If y is ±0 and x is +0, ±0 will be returned.

For finite values of ±y > 0, if x is math.NEG_INFINITY, ±math.PI will be returned.

For finite values of ±y > 0, if x is math.POS_INFINITY, ±0 will be returned.

For finite values of x, if y is math.POS_INFINITY or math.NEG_INFINITY, ±math.PI_2 will be returned.

If y is math.POS_INFINITY or math.NEG_INFINITY and x is math.NEG_INFINITY, ±(3*math.PI_4) will be returned.

If y is math.POS_INFINITY or math.NEG_INFINITY and x is math.POS_INFINITY, ±math.PI_4 will be returned.

If both arguments are 0, a domain error will not occur.

If the result would cause an underflow, a range error occurs and math.atan2 will return y/x.

Example

declare local var.fo FLOAT;
set var.fo = math.atan2(7, -0);

User contributed notes

We welcome comments that add use cases, ideas, tips, and caveats. All comments will be moderated before publication. To post support questions, visit our support center and we'll find you the help you need.