This assumes that the power2 argument is in the 0-32 range, so this
need to be carefully checked.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined $(LDFLAGS_NOUNDEFINED)
libasound_module_pcm_alsa_dsp_la_SOURCES = dsp-protocol.c alsa-dsp.c
-libasound_module_pcm_alsa_dsp_la_LIBADD = @ALSA_LIBS@ $(DBUS_LIBS) -lm -lpthread
+libasound_module_pcm_alsa_dsp_la_LIBADD = @ALSA_LIBS@ $(DBUS_LIBS) -lpthread
libasound_module_ctl_dsp_ctl_la_SOURCES = dsp-protocol.c dsp-ctl.c
-libasound_module_ctl_dsp_ctl_la_LIBADD = @ALSA_LIBS@ $(DBUS_LIBS) -lm -lpthread
+libasound_module_ctl_dsp_ctl_la_LIBADD = @ALSA_LIBS@ $(DBUS_LIBS) -lpthread
noinst_HEADERS = constants.h debug.h dsp-protocol.h list.h reporting.h \
types.h
static void dsp_protocol_Q152linear(const unsigned short int scale,
const unsigned short int power2, unsigned short int *output)
{
- float result = scale * 1.0 / 0x8000 * pow(2.0, 1.0 * power2) * 100.0;
+ float result = scale * 1.0 / 0x8000 * (1 << power2) * 100.0;
DENTER();
*output = (short int)(result);
if ((result - *output) > 0.5)