DragonFly On-Line Manual Pages
al_fixadd(3) al_fixadd(3)
NAME
al_fixadd - Allegro 5 API
SYNOPSIS
#include <allegro5/allegro.h>
al_fixed al_fixadd(al_fixed x, al_fixed y);
DESCRIPTION
Although fixed point numbers can be added with the normal + integer
operator, that doesn't provide any protection against overflow. If
overflow is a problem, you should use this function instead. It is
slower than using integer operators, but if an overflow occurs it will
set Allegro's errno and clamp the result, rather than just letting it
wrap.
Example:
al_fixed result;
/* This will put 5035 into `result'. */
result = al_fixadd(al_itofix(5000), al_itofix(35));
/* Sets errno and puts -32768 into `result'. */
result = al_fixadd(al_itofix(-31000), al_itofix(-3000));
assert(!al_get_errno()); /* This will fail. */
RETURN VALUE
Returns the clamped result of adding x to y, setting Allegro's errno to
ERANGE if there was an overflow.
SEE ALSO
al_fixsub(3), al_fixmul(3), al_fixdiv(3).
Allegro reference manual al_fixadd(3)