NAME¶
fixasin - Fixed point inverse sine lookup table. Allegro game programming
library.
SYNOPSIS¶
#include <allegro.h>
fixed fixasin(fixed x);
DESCRIPTION¶
This function finds the inverse sine of a value using a lookup table. The input
value must be a fixed point value. The inverse sine is defined only in the
domain from `-1' to `1'. Outside of this input range, the function will set
`errno' to EDOM and return zero. Example:
float angle;
fixed val;
/* Sets `val' to a right binary angle (`64'). */
val = fixasin(itofix(1));
/* Sets `angle' to 0.2405. */
angle = fixtof(fixmul(fixasin(ftofix(0.238)), fixtorad_r));
/* This will trigger the assert. */
val = fixasin(ftofix(-1.09));
ASSERT(!errno);
RETURN VALUE¶
Returns the inverse sine of a fixed point value, measured as fixed point binary
format angle, or zero if the input was out of the range. All return values of
this function will be in the range `-64' to `64'.