diff options
-rw-r--r-- | Alc/ALu.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -908,8 +908,10 @@ static __inline ALfloat aluF2F(ALfloat val) { return val; } static __inline ALint aluF2I(ALfloat val) { + /* Clamp the value between -1 and +1. This handles that without branching. */ val = val+1.0f - fabsf(val-1.0f); val = (val-2.0f + fabsf(val+2.0f)) * 0.25; + /* Convert to a signed integer, between -2147483647 and +2147483647. */ return fastf2i((ALfloat)(val*2147483647.0)); } static __inline ALuint aluF2UI(ALfloat val) |