fixatan2
Section: Allegro manual (3)
Updated: version 4.2.2
Index
Return to Main Contents
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(3),
exspline(3)