Reland "IWYU: Add <cmath> for fabsf() and powf(), switch to C++ versions"
This reverts commit d39ce8d45bc9bcfaef2b3d39bb24d04fa962cfe8.
Reason for revert: downstream project fix
Original change's description:
> Revert "IWYU: Add <cmath> for fabsf() and powf(), switch to C++ versions"
>
> This reverts commit e90879097c7151148aaad57393967cf72d233a69.
>
> Reason for revert: breaking downstream projects
>
> Original change's description:
> > IWYU: Add <cmath> for fabsf() and powf(), switch to C++ versions
> >
> > Fix the build with libstdc++ after 496cedfe5 ("AEC3: Reverberation model:
> > Changes on the decay estimation") by including the missing header:
> >
> > ../../modules/audio_processing/aec3/reverb_model_estimator.cc: In constructor ‘webrtc::ReverbModelEstimator::ReverbModelEstimator(const webrtc::EchoCanceller3Config&)’:
> > ../../modules/audio_processing/aec3/reverb_model_estimator.cc:61:21: error: ‘fabsf’ was not declared in this scope
> > reverb_decay_(fabsf(config.ep_strength.default_len)),
> > ^~~~~
> > ../../modules/audio_processing/aec3/reverb_model_estimator.cc:61:21: note: suggested alternative: ‘labs’
> > reverb_decay_(fabsf(config.ep_strength.default_len)),
> > ^~~~~
> > labs
> > ../../modules/audio_processing/aec3/reverb_model_estimator.cc: In member function ‘void webrtc::ReverbModelEstimator::UpdateReverbDecay(const std::vector<float>&)’:
> > ../../modules/audio_processing/aec3/reverb_model_estimator.cc:206:15: error: ‘powf’ was not declared in this scope
> > decay = powf(2.0f, -exp_candidate * kFftLengthBy2);
> > ^~~~
> >
> > While here, also switch to the C++ versions of those functions: std::fabs()
> > and std::pow() respectively.
> >
> > Spotted by Jose Dapena Paz <jose.dapena@lge.com>.
> >
> > Bug: chromium:819294
> > Change-Id: Id803243be8dd17eac95c70a88a37ee2fe1505a5a
> > Reviewed-on: https://webrtc-review.googlesource.com/87421
> > Reviewed-by: Jesus de Vicente Pena <devicentepena@webrtc.org>
> > Reviewed-by: Gustaf Ullberg <gustaf@webrtc.org>
> > Commit-Queue: Gustaf Ullberg <gustaf@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#23870}
>
> TBR=gustaf@webrtc.org,alessiob@webrtc.org,raphael.kubo.da.costa@intel.com,devicentepena@webrtc.org
>
> Change-Id: I22423a2d4201183f70ae084e0e21930367824f1c
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: chromium:819294
> Reviewed-on: https://webrtc-review.googlesource.com/87401
> Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
> Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#23871}
TBR=gustaf@webrtc.org,alessiob@webrtc.org,raphael.kubo.da.costa@intel.com,devicentepena@webrtc.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: chromium:819294
Change-Id: I09e07d59961d3e2ecc617244287a821cb8b04578
Reviewed-on: https://webrtc-review.googlesource.com/87900
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Alessio Bazzica <alessiob@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#23910}
diff --git a/modules/audio_processing/aec3/reverb_model_estimator.cc b/modules/audio_processing/aec3/reverb_model_estimator.cc
index 18b2a84..84e8e48 100644
--- a/modules/audio_processing/aec3/reverb_model_estimator.cc
+++ b/modules/audio_processing/aec3/reverb_model_estimator.cc
@@ -12,6 +12,7 @@
#include <algorithm>
#include <array>
+#include <cmath>
#include <memory>
#include <numeric>
@@ -58,7 +59,7 @@
ReverbModelEstimator::ReverbModelEstimator(const EchoCanceller3Config& config)
: filter_main_length_blocks_(config.filter.main.length_blocks),
- reverb_decay_(fabsf(config.ep_strength.default_len)),
+ reverb_decay_(std::fabs(config.ep_strength.default_len)),
enable_smooth_freq_resp_tail_updates_(EnableSmoothUpdatesTailFreqResp()) {
block_energies_.fill(0.f);
freq_resp_tail_.fill(0.f);
@@ -203,7 +204,7 @@
if (accumulated_nn_ != 0.f) {
const float exp_candidate = -accumulated_nz_ / accumulated_nn_;
- decay = powf(2.0f, -exp_candidate * kFftLengthBy2);
+ decay = std::pow(2.0f, -exp_candidate * kFftLengthBy2);
decay = std::min(decay, kMaxDecay);
decay = std::max(decay, kMinDecay);
}