Man Linux: Main Page and Category List

NAME

       fixatan2  -  Fixed  point  version of the libc atan2() routine. Allegro
       game programming library.

SYNOPSIS

       #include <allegro.h>

       fixed fixatan2(fixed y, fixed x);

DESCRIPTION

       This is a fixed point version of the libc atan2() routine. It  computes
       the arc tangent of `y / x', but the signs of both arguments are used to
       determine the quadrant of the result, and `x' is permitted to be  zero.
       This  function  is  useful  to  convert  Cartesian coordinates to polar
       coordinates.  Example:

          fixed result;

          /* Sets `result' to binary angle 64. */
          result = fixatan2(itofix(1), 0);
          /* Sets `result' to binary angle -109. */
          result = fixatan2(itofix(-1), itofix(-2));
          /* Fails the assert. */
          result = fixatan2(0, 0);
          ASSERT(!errno);

RETURN VALUE

       Returns the arc tangent of `y / x' in fixed point binary format  angle,
       from  `-128'  to  `128'. If both `x' and `y' are zero, returns zero and
       sets `errno' to EDOM.

SEE ALSO

       , exlights(3alleg), exspline(3alleg)