Provided by: allegro5-doc_5.2.9.1+dfsg-1.1build4_all bug

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(3alleg5), al_fixmul(3alleg5), al_fixdiv(3alleg5).