#include <memory>
#include <new>
#include <tuple>
#include "aom/aom_integer.h"
#include "aom_ports/aom_timer.h"
#include "av1/encoder/ml.h"
#include "config/aom_config.h"
#include "config/aom_dsp_rtcd.h"
#include "config/av1_rtcd.h"
#include "gtest/gtest.h"
#include "test/acm_random.h"
#include "test/register_state_check.h"
#include "test/util.h"
namespace {
FastSoftmaxFn;
FastSoftmaxTestParams;
constexpr float kRelEpsilon = …;
constexpr float kAbsEpsilon = …;
class FastSoftmaxTest : public ::testing::TestWithParam<FastSoftmaxTestParams> { … };
void FastSoftmaxTest::FillInputBuf() { … }
void FastSoftmaxTest::RunSoftmaxTest() { … }
void FastSoftmaxTest::RunSoftmaxSpeedTest(const int run_times) { … }
TEST_P(FastSoftmaxTest, RandomValues) { … }
TEST_P(FastSoftmaxTest, DISABLED_Speed) { … }
void AnchorSoftmax16Fn(const float *input, float *output) { … }
const FastSoftmaxTestParams kArrayParams_c[] = …;
INSTANTIATE_TEST_SUITE_P(…);
#if HAVE_SSE3 && !CONFIG_EXCLUDE_SIMD_MISMATCH
INSTANTIATE_TEST_SUITE_P(…);
#endif
}