sourCEntral - mobile manpages

pdf

fixatan2

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(3alleg4), exspline(3alleg4)

pdf