SYNOPSIS

  • #include <allegro5/allegro.h>
    
    al_fixed al_ftofix(double x);
    
    

DESCRIPTION

Converts a floating point value to fixed point. Unlike al_itofix(3alleg5), this function clamps values which could overflow the type conversion, setting Allegro\[aq]s errno to ERANGE in the process if this happens.

Example:

  •     al_fixed number;
    
        number = al_itofix(-40000);
        assert(al_fixfloor(number) == -32768);
    
        number = al_itofix(64000);
        assert(al_fixfloor(number) == 32767);
        assert(!al_get_errno()); /* This will fail. */
    
    

RETURN VALUE

Returns the value of the floating point value converted to fixed point clamping overflows (and setting Allegro\[aq]s errno).

RELATED TO al_ftofix…

al_fixtof(3alleg5), al_itofix(3alleg5), al_fixtoi(3alleg5), al_get_errno(3alleg5)