al_fixed al_fixasin(al_fixed x);
Introduced in 5.0.0

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.


    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));

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.

Most helpful discussions: