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

FreeBSD Manual Pages

  
 
  

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

NAME
       fixsub  - Safe function to subtract fixed point numbers clamping	under-
       flow. Allegro game programming library.

SYNOPSIS
       #include	<allegro.h>

       fixed fixsub(fixed x, fixed y);

DESCRIPTION
       Although	fixed point numbers can	be subtracted with the normal '-'  in-
       teger  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 4965	into `result'. */
	  result = fixsub(itofix(5000),	itofix(35));
	  /* Sets `errno' and puts -32768 into `result'. */
	  result = fixsub(itofix(-31000), itofix(3000));
	  ASSERT(!errno); /* This will fail. */

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

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

Allegro				 version 4.4.2			     fixsub(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=fixsub&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help