sdl2-config.cmake.in
author Ryan C. Gordon <icculus@icculus.org>
Tue, 15 May 2018 01:04:11 -0400
changeset 11987 0c284754e25b
parent 10474 e723c663ba58
permissions -rw-r--r--
audio: converting int32 to/from float shouldn't use doubles.

The concern is that a massive int sample, like 0x7FFFFFFF, won't fit in a
float32, which doesn't have enough bits to hold a whole number this large,
just to divide it to get a value between 0 and 1.
Previously we would convert to double, to get more bits, do the division, and
cast back to a float, but this is expensive.

Casting to double is more accurate, but it's 2x to 3x slower. Shifting out
the least significant byte of an int32, so it'll definitely fit in a float,
and dividing by 0x7FFFFF is still accurate to about 5 decimal places, and the
difference doesn't appear to be perceptable.
slouken@9785
     1
# sdl2 cmake project-config input for ./configure scripts
slouken@9785
     2
slouken@9785
     3
set(prefix "@prefix@") 
slouken@9785
     4
set(exec_prefix "@exec_prefix@")
icculus@9978
     5
set(libdir "@libdir@")
slouken@9785
     6
set(SDL2_PREFIX "@prefix@")
slouken@9785
     7
set(SDL2_EXEC_PREFIX "@prefix@")
slouken@9785
     8
set(SDL2_LIBDIR "@libdir@")
slouken@9785
     9
set(SDL2_INCLUDE_DIRS "@includedir@/SDL2")
slouken@9785
    10
set(SDL2_LIBRARIES "-L${SDL2_LIBDIR} @SDL_RLD_FLAGS@ @SDL_LIBS@")
slouken@10474
    11
string(STRIP "${SDL2_LIBRARIES}" SDL2_LIBRARIES)