trusty (3) al_fixed.3alleg5.gz

Provided by: allegro5-doc_5.0.10-2_all bug

NAME

       al_fixed - Allegro 5 API

SYNOPSIS

              #include <allegro5/allegro.h>

              typedef int32_t al_fixed;

DESCRIPTION

       A fixed point number.

       Allegro  provides some routines for working with fixed point numbers, and defines the type al_fixed to be
       a signed 32-bit integer.  The high word is used for the integer part and the low word for  the  fraction,
       giving  a  range  of  -32768  to 32767 and an accuracy of about four or five decimal places.  Fixed point
       numbers can be assigned, compared, added, subtracted, negated and shifted (for multiplying or dividing by
       powers  of  two)  using  the  normal  integer  operators, but you should take care to use the appropriate
       conversion  routines  when  mixing  fixed  point  with  integer  or  floating  point   values.    Writing
       fixed_point_1 + fixed_point_2 is OK, but fixed_point + integer is not.

       The only advantage of fixed point math routines is that you don't require a floating point coprocessor to
       use them.  This was great in the time period of i386 and i486 machines, but stopped being so useful  with
       the  coming of the Pentium class of processors.  From Pentium onwards, CPUs have increased their strength
       in floating point operations, equaling or even surpassing integer math performance.

       Depending on the type of operations your program may need, using floating point types may be faster  than
       fixed  types  if  you  are  targeting a specific machine class.  Many embedded processors have no FPUs so
       fixed point maths can be useful there.