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 op-
       erator, that doesn't provide any	protection against overflow.  If over-
       flow  is	a problem, you should use this function	instead.  It is	slower
       than using integer operators, but if an overflow	occurs it will set Al-
       legro'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+14.3.quarterly>

home | help