summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRosen Penev <rosenp@gmail.com>2020-02-03 15:50:46 -0800
committerRosen Penev <rosenp@gmail.com>2020-03-15 20:22:07 -0700
commit177371a00395c37f965714b2191bda12cb6af846 (patch)
tree0cc83cddbbcb25783a75bc4e580569fc63964e3c
parenta78841d6a953c4f40e8196e51bdd4aad995b9104 (diff)
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>
-rw-r--r--src/ReplayGainGlobal.cxx2
-rw-r--r--src/ReplayGainInfo.cxx3
-rw-r--r--src/decoder/Bridge.cxx4
-rw-r--r--src/decoder/plugins/MpcdecDecoderPlugin.cxx3
-rw-r--r--src/mixer/plugins/AlsaMixerPlugin.cxx3
-rw-r--r--src/mixer/plugins/SoftwareMixerPlugin.cxx5
-rw-r--r--src/util/Math.hxx6
7 files changed, 15 insertions, 11 deletions
diff --git a/src/ReplayGainGlobal.cxx b/src/ReplayGainGlobal.cxx
index 98b8dcda0..af82c2288 100644
--- a/src/ReplayGainGlobal.cxx
+++ b/src/ReplayGainGlobal.cxx
@@ -20,12 +20,12 @@
#include "ReplayGainGlobal.hxx"
#include "ReplayGainConfig.hxx"
#include "config/Data.hxx"
+#include "util/Math.hxx"
#include <cassert>
#include <stdexcept>
#include <stdlib.h>
-#include <math.h>
static float
ParsePreamp(const char *s)
diff --git a/src/ReplayGainInfo.cxx b/src/ReplayGainInfo.cxx
index a0685507a..76713aded 100644
--- a/src/ReplayGainInfo.cxx
+++ b/src/ReplayGainInfo.cxx
@@ -19,8 +19,7 @@
#include "ReplayGainInfo.hxx"
#include "ReplayGainConfig.hxx"
-
-#include <math.h>
+#include "util/Math.hxx"
float
ReplayGainTuple::CalculateScale(const ReplayGainConfig &config) const noexcept
diff --git a/src/decoder/Bridge.cxx b/src/decoder/Bridge.cxx
index b87466798..b7f71c1b8 100644
--- a/src/decoder/Bridge.cxx
+++ b/src/decoder/Bridge.cxx
@@ -37,9 +37,9 @@
#include "util/StringBuffer.hxx"
#include <cassert>
+#include <cmath>
#include <string.h>
-#include <math.h>
DecoderBridge::DecoderBridge(DecoderControl &_dc, bool _initial_seek_pending,
std::unique_ptr<Tag> _tag) noexcept
@@ -611,7 +611,7 @@ DecoderBridge::SubmitReplayGain(const ReplayGainInfo *new_replay_gain_info) noex
const auto &tuple = new_replay_gain_info->Get(rgm);
const auto scale =
tuple.CalculateScale(dc.replay_gain_config);
- dc.replay_gain_db = 20.0 * log10f(scale);
+ dc.replay_gain_db = 20.0 * std::log10(scale);
}
replay_gain_info = *new_replay_gain_info;
diff --git a/src/decoder/plugins/MpcdecDecoderPlugin.cxx b/src/decoder/plugins/MpcdecDecoderPlugin.cxx
index c19aee75c..4e9ef798e 100644
--- a/src/decoder/plugins/MpcdecDecoderPlugin.cxx
+++ b/src/decoder/plugins/MpcdecDecoderPlugin.cxx
@@ -25,6 +25,7 @@
#include "tag/Handler.hxx"
#include "util/Domain.hxx"
#include "util/Clamp.hxx"
+#include "util/Math.hxx"
#include "util/ScopeExit.hxx"
#include "Log.hxx"
@@ -32,8 +33,6 @@
#include <iterator>
-#include <math.h>
-
struct mpc_decoder_data {
InputStream &is;
DecoderClient *client;
diff --git a/src/mixer/plugins/AlsaMixerPlugin.cxx b/src/mixer/plugins/AlsaMixerPlugin.cxx
index e3d774194..4b916319b 100644
--- a/src/mixer/plugins/AlsaMixerPlugin.cxx
+++ b/src/mixer/plugins/AlsaMixerPlugin.cxx
@@ -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;
diff --git a/src/mixer/plugins/SoftwareMixerPlugin.cxx b/src/mixer/plugins/SoftwareMixerPlugin.cxx
index cb9649017..c62fea986 100644
--- a/src/mixer/plugins/SoftwareMixerPlugin.cxx
+++ b/src/mixer/plugins/SoftwareMixerPlugin.cxx
@@ -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;
diff --git a/src/util/Math.hxx b/src/util/Math.hxx
index bd856f5a9..2206b045f 100644
--- a/src/util/Math.hxx
+++ b/src/util/Math.hxx
@@ -31,10 +31,16 @@
#define MATH_HXX
#ifdef __UCLIBC__
+#include <boost/math/special_functions/pow.hpp>
#include <boost/math/special_functions/round.hpp>
+using boost::math::iround;
+using boost::math::pow;
using boost::math::lround;
+#define lrint iround
#else
#include <cmath>
+using std::pow;
+using std::lrint;
using std::lround;
#endif