fixdiv

Langue: en

Version: version 4.2.2 (fedora - 05/07/09)

Section: 3 (Bibliothèques de fonctions)

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)