fixdiv
Section: Allegro manual (3)
Updated: version 4.2.2
Index
Return to Main Contents
 
NAME
fixdiv - Fixed point division. Allegro game programming library.
 
SYNOPSIS
#include <allegro.h>
fixed fixdiv(fixed x, fixed y);
 
DESCRIPTION
A fixed point value can be divided by an integer with the normal `/'
operator. To divide two fixed point values, though, you must use this
function. If a division by zero occurs, `errno' will be set and the
maximum possible value will be returned, but `errno' is not cleared if the
operation is successful. This means that if you are going to test for
division by zero you should set `errno=0' before calling fixdiv(). Example:
   fixed result;
   /* This will put 0.06060 `result'. */
   result = fixdiv(itofix(2), itofix(33));
   /* This will put 0 into `result'. */
   result = fixdiv(0, itofix(-30));
   /* Sets `errno' and puts -32768 into `result'. */
   result = fixdiv(itofix(-100), itofix(0));
   ASSERT(!errno); /* This will fail. */
 
RETURN VALUE
Returns the result of dividing `x' by `y'. If `y' is zero, returns the
maximum possible fixed point value and sets `errno' to ERANGE.
 
SEE ALSO
fixadd(3),
fixsub(3),
fixmul(3),
exfixed(3)