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

FreeBSD Manual Pages

  
 
  

home | help
al_fixsub(3)		    Library Functions Manual		    al_fixsub(3)

NAME
     al_fixsub - Allegro 5 API

SYNOPSIS
	    #include <allegro5/allegro.h>

	    al_fixed al_fixsub(al_fixed x, al_fixed y);

DESCRIPTION
     Although  fixed  point  numbers can be subtracted with the normal - integer
     operator, 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 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. */

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(3), al_fixmul(3), al_fixdiv(3), al_get_errno(3).

Allegro reference manual					    al_fixsub(3)

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

home | help