logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

al_fixsub - Allegro 5 API

Description

       Although  fixed  point numbers can be subtracted 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 4965 into `result'. */
              result = al_fixsub(al_itofix(5000), al_itofix(35));

              /* Sets errno and puts -32768 into `result'. */
              result = al_fixsub(al_itofix(-31000), al_itofix(3000));
              assert(!al_get_errno()); /* This will fail. */

Name

       al_fixsub - Allegro 5 API

Return Value

       Returns the clamped result of subtracting y from x, setting Allegro’s errno to ERANGE  if  there  was  an
       overflow.

See Also

al_fixadd(3alleg5), al_fixmul(3alleg5), al_fixdiv(3alleg5), al_get_errno(3alleg5).

Allegro reference manual                                                                      al_fixsub(3alleg5)

Synopsis

              #include <allegro5/allegro.h>

              al_fixed al_fixsub(al_fixed x, al_fixed y);

See Also