.\" Automatically generated by Pandoc 2.9.2.1 .\" .TH "al_fixatan2" "3alleg5" "" "Allegro reference manual" "" .hy .SH NAME .PP al_fixatan2 - Allegro 5 API .SH SYNOPSIS .IP .nf \f[C] #include al_fixed al_fixatan2(al_fixed y, al_fixed x) \f[R] .fi .SH DESCRIPTION .PP This is a fixed point version of the libc atan2() routine. It computes the arc tangent of \f[C]y / x\f[R], but the signs of both arguments are used to determine the quadrant of the result, and \f[C]x\f[R] is permitted to be zero. This function is useful to convert Cartesian coordinates to polar coordinates. .PP Example: .IP .nf \f[C] al_fixed result; /* Sets \[ga]result\[aq] to binary angle 64. */ result = al_fixatan2(al_itofix(1), 0); /* Sets \[ga]result\[aq] to binary angle -109. */ result = al_fixatan2(al_itofix(-1), al_itofix(-2)); /* Fails the assert. */ result = al_fixatan2(0, 0); assert(!al_get_errno()); \f[R] .fi .SH RETURN VALUE .PP Returns the arc tangent of \f[C]y / x\f[R] in fixed point binary format angle, from -128 to 128. If both \f[C]x\f[R] and \f[C]y\f[R] are zero, returns zero and sets Allegro\[cq]s errno to EDOM.