Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
al_fixadd(3)		    Library Functions Manual		    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 opera-
     tor, 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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=al_fixadd&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help