math.atan2
Available inall 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);