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

FreeBSD Manual Pages

  
 
  

home | help
fixadd(3)			Allegro	manual			     fixadd(3)

NAME
       fixadd  -  Safe	function to add	fixed point numbers clamping overflow.
       Allegro game programming	library.

SYNOPSIS
       #include	<allegro.h>

       fixed fixadd(fixed x, 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 `errno' and clamp the result, rather	than just letting it wrap. Ex-
       ample:

	  fixed	result;
	  /* This will put 5035	into `result'. */
	  result = fixadd(itofix(5000),	itofix(35));
	  /* Sets `errno' and puts -32768 into `result'. */
	  result = fixadd(itofix(-31000), itofix(-3000));
	  ASSERT(!errno); /* This will fail. */

RETURN VALUE
       Returns	the  clamped  result  of adding	`x' to `y', setting `errno' to
       ERANGE if there was an overflow.

SEE ALSO
       fixsub(3), fixmul(3), fixdiv(3)

Allegro				 version 4.4.3			     fixadd(3)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=fixadd&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help