#include "modules/audio_processing/agc2/interpolated_gain_curve.h"
#include <array>
#include <type_traits>
#include <vector>
#include "api/array_view.h"
#include "common_audio/include/audio_util.h"
#include "modules/audio_processing/agc2/agc2_common.h"
#include "modules/audio_processing/agc2/compute_interpolated_gain_curve.h"
#include "modules/audio_processing/agc2/limiter_db_gain_curve.h"
#include "modules/audio_processing/logging/apm_data_dumper.h"
#include "rtc_base/checks.h"
#include "rtc_base/gunit.h"
namespace webrtc {
namespace {
constexpr double kLevelEpsilon = …;
constexpr float kInterpolatedGainCurveTolerance = …;
ApmDataDumper apm_data_dumper(0);
static_assert …;
const LimiterDbGainCurve limiter;
}
TEST(GainController2InterpolatedGainCurve, CreateUse) { … }
TEST(GainController2InterpolatedGainCurve, CheckValidOutput) { … }
TEST(GainController2InterpolatedGainCurve, CheckMonotonicity) { … }
TEST(GainController2InterpolatedGainCurve, CheckApproximation) { … }
TEST(GainController2InterpolatedGainCurve, CheckRegionBoundaries) { … }
TEST(GainController2InterpolatedGainCurve, CheckIdentityRegion) { … }
TEST(GainController2InterpolatedGainCurve, CheckNoOverApproximationKnee) { … }
TEST(GainController2InterpolatedGainCurve, CheckNoOverApproximationBeyondKnee) { … }
TEST(GainController2InterpolatedGainCurve,
CheckNoOverApproximationWithSaturation) { … }
TEST(GainController2InterpolatedGainCurve, CheckApproximationParams) { … }
}