DOKK / manpages / debian 11 / allegro5-doc / al_fixasin.3alleg5.en
al_fixasin(3alleg5) al_fixasin(3alleg5)

al_fixasin - Allegro 5 API

#include <allegro5/allegro.h>
al_fixed al_fixasin(al_fixed x);
    

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 Allegro’s errno to EDOM and return zero.

Example:

float angle;
al_fixed val;
/* Sets `val' to a right binary angle (64). */
val = al_fixasin(al_itofix(1));
/* Sets `angle' to 0.2405. */
angle = al_fixtof(al_fixmul(al_fixasin(al_ftofix(0.238)), al_fixtorad_r));
/* This will trigger the assert. */
val = al_fixasin(al_ftofix(-1.09));
assert(!al_get_errno());
    

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.

Allegro reference manual