Allegro 5 api
#include <allegro5/allegro.h> al_fixed al_ftofix(double x);
Converts a floating point value to fixed point. Unlike al_itofix(3alleg5), this function clamps values which could overflow the type conversion, setting Allegro\[aq]s errno to ERANGE in the process if this happens.
Example:
al_fixed number; number = al_itofix(-40000); assert(al_fixfloor(number) == -32768); number = al_itofix(64000); assert(al_fixfloor(number) == 32767); assert(!al_get_errno()); /* This will fail. */
Returns the value of the floating point value converted to fixed point clamping overflows (and setting Allegro\[aq]s errno).
al_fixtof(3alleg5), al_itofix(3alleg5), al_fixtoi(3alleg5), al_get_errno(3alleg5)