diff options
author | Rosen Penev <rosenp@gmail.com> | 2020-02-03 15:50:46 -0800 |
---|---|---|
committer | Rosen Penev <rosenp@gmail.com> | 2020-03-15 20:22:07 -0700 |
commit | 177371a00395c37f965714b2191bda12cb6af846 (patch) | |
tree | 0cc83cddbbcb25783a75bc4e580569fc63964e3c | |
parent | a78841d6a953c4f40e8196e51bdd4aad995b9104 (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.cxx | 2 | ||||
-rw-r--r-- | src/ReplayGainInfo.cxx | 3 | ||||
-rw-r--r-- | src/decoder/Bridge.cxx | 4 | ||||
-rw-r--r-- | src/decoder/plugins/MpcdecDecoderPlugin.cxx | 3 | ||||
-rw-r--r-- | src/mixer/plugins/AlsaMixerPlugin.cxx | 3 | ||||
-rw-r--r-- | src/mixer/plugins/SoftwareMixerPlugin.cxx | 5 | ||||
-rw-r--r-- | src/util/Math.hxx | 6 |
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 |