treewide: get rid of C math function usage

Boost does not seem to offer an overload for lrint.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
Rosen Penev
2020-02-03 15:50:46 -08:00
parent a78841d6a9
commit 177371a003
7 changed files with 15 additions and 11 deletions

View File

@@ -26,6 +26,7 @@
#include "event/Call.hxx"
#include "util/ASCII.hxx"
#include "util/Domain.hxx"
#include "util/Math.hxx"
#include "util/RuntimeError.hxx"
#include "Log.hxx"
@@ -35,8 +36,6 @@ extern "C" {
#include <alsa/asoundlib.h>
#include <math.h>
#define VOLUME_MIXER_ALSA_DEFAULT "default"
#define VOLUME_MIXER_ALSA_CONTROL_DEFAULT "PCM"
static constexpr unsigned VOLUME_MIXER_ALSA_INDEX_DEFAULT = 0;

View File

@@ -23,8 +23,9 @@
#include "pcm/Volume.hxx"
#include <cassert>
#include <cmath>
#include <math.h>
#include <assert.h>
class SoftwareMixer final : public Mixer {
Filter *filter = nullptr;
@@ -74,7 +75,7 @@ PercentVolumeToSoftwareVolume(unsigned volume) noexcept
if (volume >= 100)
return PCM_VOLUME_1;
else if (volume > 0)
return pcm_float_to_volume((exp(volume / 25.0) - 1) /
return pcm_float_to_volume((std::exp(volume / 25.0) - 1) /
(54.5981500331F - 1));
else
return 0;