---
name: "fixatan2"
section: "3alleg"
platform: "linux"
package: "liballegro-doc"
version: "2:4.2.2-2.2"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/fixatan2"
---

# fixatan2(3alleg)

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

## 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)](/exlights/3alleg.md), [**exspline**(3alleg)](/exspline/3alleg.md)
