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
No known key found for this signature in database
GPG Key ID: 36D31CFA845F0E3B
7 changed files with 15 additions and 11 deletions

View File

@ -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)

View File

@ -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

View File

@ -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;

View File

@ -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;

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;

View File

@ -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