#
fixsub (3) - Linux Man Pages

## fixsub: Safe function to subtract fixed point numbers clamping underflow. Allegro game programming library.

Command to display `fixsub`

manual in Linux: `$ man 3 fixsub`

## NAME

fixsub - Safe function to subtract fixed point numbers clamping underflow. 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 '-' integer
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. Example:

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.

## Pages related to fixsub

- fixsin (3) - Fixed point sine of binary angles. Allegro game programming library.
- fix_filename_case (3) - Converts a filename to a standardised case. Allegro game programming library.
- fix_filename_slashes (3) - Converts all the directory separators to a standard character. Allegro game programming library.
- fixacos (3) - Fixed point inverse cosine lookup table. Allegro game programming library.
- fixadd (3) - Safe function to add fixed point numbers clamping overflow. Allegro game programming library.
- fixasin (3) - Fixed point inverse sine lookup table. Allegro game programming library.
- fixatan (3) - Fixed point inverse tangent lookup table. Allegro game programming library.
- fixatan2 (3) - Fixed point version of the libc atan2() routine. Allegro game programming library.