Man Linux: Main Page and Category List

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(3alleg), fixsub(3alleg), fixmul(3alleg), exfixed(3alleg)