/*
 *  Copyright (c) 2015 The WebRTC project authors. All Rights Reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
 *  in the file PATENTS.  All contributing project authors may
 *  be found in the AUTHORS file in the root of the source tree.
 */
#include <vector>

#include "webrtc/api/array_view.h"
#include "webrtc/modules/audio_processing/audio_buffer.h"
#include "webrtc/modules/audio_processing/low_cut_filter.h"
#include "webrtc/modules/audio_processing/test/audio_buffer_tools.h"
#include "webrtc/modules/audio_processing/test/bitexactness_tools.h"
#include "webrtc/test/gtest.h"

namespace webrtc {
namespace {

// Process one frame of data and produce the output.
std::vector<float> ProcessOneFrame(const std::vector<float>& frame_input,
                                   const StreamConfig& stream_config,
                                   LowCutFilter* low_cut_filter) {
  AudioBuffer audio_buffer(
      stream_config.num_frames(), stream_config.num_channels(),
      stream_config.num_frames(), stream_config.num_channels(),
      stream_config.num_frames());

  test::CopyVectorToAudioBuffer(stream_config, frame_input, &audio_buffer);
  low_cut_filter->Process(&audio_buffer);
  std::vector<float> frame_output;
  test::ExtractVectorFromAudioBuffer(stream_config, &audio_buffer,
                                     &frame_output);
  return frame_output;
}

// Processes a specified amount of frames, verifies the results and reports
// any errors.
void RunBitexactnessTest(int sample_rate,
                         int num_channels,
                         const std::vector<float>& input,
                         const std::vector<float>& reference) {
  const StreamConfig stream_config(sample_rate, num_channels, false);
  LowCutFilter low_cut_filter(num_channels, sample_rate);

  std::vector<float> output;
  const size_t num_frames_to_process =
      input.size() /
      (stream_config.num_frames() * stream_config.num_channels());
  for (size_t frame_no = 0; frame_no < num_frames_to_process; ++frame_no) {
    std::vector<float> frame_input(
        input.begin() +
            stream_config.num_frames() * stream_config.num_channels() *
                frame_no,
        input.begin() +
            stream_config.num_frames() * stream_config.num_channels() *
                (frame_no + 1));

    output = ProcessOneFrame(frame_input, stream_config, &low_cut_filter);
  }

  // Form vector to compare the reference to. Only the last frame processed
  // is compared in order not having to specify all preceeding frames as
  // inputs. As the algorithm being tested has a memory, testing only
  // the last frame implicitly also tests the preceeding frames.
  const size_t reference_frame_length =
      reference.size() / stream_config.num_channels();
  std::vector<float> output_to_verify;
  for (size_t channel_no = 0; channel_no < stream_config.num_channels();
       ++channel_no) {
    output_to_verify.insert(
        output_to_verify.end(),
        output.begin() + channel_no * stream_config.num_frames(),
        output.begin() + channel_no * stream_config.num_frames() +
            reference_frame_length);
  }

  const float kElementErrorBound = 1.0f / 32768.0f;
  EXPECT_TRUE(test::VerifyDeinterleavedArray(
      reference_frame_length, num_channels, reference, output_to_verify,
      kElementErrorBound));
}

// Method for forming a vector out of an array.
// TODO(peah): Remove once braced initialization is allowed.
std::vector<float> CreateVector(const rtc::ArrayView<const float>& array_view) {
  std::vector<float> v;
  for (auto value : array_view) {
    v.push_back(value);
  }
  return v;
}
}  // namespace

TEST(LowCutFilterBitExactnessTest, Mono8kHzInitial) {
  const float kReferenceInput[] = {
      0.153442f,  -0.436920f, -0.057602f, -0.141767f, 0.108608f,  0.116834f,
      0.114979f,  -0.103151f, -0.169925f, -0.167180f, 0.242024f,  -0.525426f,
      -0.058781f, 0.076667f,  -0.185095f, 0.135319f,  -0.020223f, -0.266058f,
      0.045755f,  -0.076044f, -0.116221f, -0.201698f, 0.017423f,  -0.523475f,
      -0.112949f, -0.154125f, -0.258572f, 0.185075f,  -0.208205f, 0.153298f,
      0.276703f,  -0.044481f, 0.078771f,  0.181337f,  -0.022962f, 0.153365f,
      -0.358004f, 0.314864f,  -0.280593f, -0.518572f, 0.392579f,  -0.017786f,
      0.127293f,  -0.103003f, -0.289389f, -0.871355f, 0.177583f,  -0.081290f,
      -0.055957f, 0.115011f,  -0.402460f, -0.206836f, 0.325328f,  0.169526f,
      -0.363311f, -0.624742f, -0.161979f, 0.060679f,  0.267214f,  0.026576f,
      -0.318235f, 0.086812f,  -0.332419f, -0.272485f, -0.185369f, -0.348598f,
      -0.076833f, -0.255184f, -0.081007f, -0.131121f, -0.116196f, -0.142780f,
      0.349705f,  0.173054f,  0.016750f,  -0.415957f, -0.461001f, -0.557111f,
      0.738711f,  0.275720f};

  const float kReference[] = {0.142277f,  -0.418518f, -0.028229f, -0.102112f,
                              0.141270f,  0.137791f,  0.124577f,  -0.088715f,
                              -0.142273f, -0.125885f, 0.266640f,  -0.468079f};

  RunBitexactnessTest(
      8000, 1, CreateVector(rtc::ArrayView<const float>(kReferenceInput)),
      CreateVector(rtc::ArrayView<const float>(kReference)));
}

TEST(LowCutFilterBitExactnessTest, Mono8kHzConverged) {
  const float kReferenceInput[] = {
      0.153442f,  -0.436920f, -0.057602f, -0.141767f, 0.108608f,  0.116834f,
      0.114979f,  -0.103151f, -0.169925f, -0.167180f, 0.242024f,  -0.525426f,
      -0.058781f, 0.076667f,  -0.185095f, 0.135319f,  -0.020223f, -0.266058f,
      0.045755f,  -0.076044f, -0.116221f, -0.201698f, 0.017423f,  -0.523475f,
      -0.112949f, -0.154125f, -0.258572f, 0.185075f,  -0.208205f, 0.153298f,
      0.276703f,  -0.044481f, 0.078771f,  0.181337f,  -0.022962f, 0.153365f,
      -0.358004f, 0.314864f,  -0.280593f, -0.518572f, 0.392579f,  -0.017786f,
      0.127293f,  -0.103003f, -0.289389f, -0.871355f, 0.177583f,  -0.081290f,
      -0.055957f, 0.115011f,  -0.402460f, -0.206836f, 0.325328f,  0.169526f,
      -0.363311f, -0.624742f, -0.161979f, 0.060679f,  0.267214f,  0.026576f,
      -0.318235f, 0.086812f,  -0.332419f, -0.272485f, -0.185369f, -0.348598f,
      -0.076833f, -0.255184f, -0.081007f, -0.131121f, -0.116196f, -0.142780f,
      0.349705f,  0.173054f,  0.016750f,  -0.415957f, -0.461001f, -0.557111f,
      0.738711f,  0.275720f,  0.072868f,  -0.276249f, -0.325055f, 0.155285f,
      0.443784f,  -0.480153f, -0.127428f, -0.023901f, -0.564837f, 0.238538f,
      -0.117578f, 0.542205f,  -0.110840f, 0.116025f,  -0.323939f, -0.177182f,
      -0.331395f, 0.111316f,  0.369140f,  -0.168329f, 0.123736f,  -0.143013f,
      0.028953f,  0.339200f,  0.034107f,  -0.294000f, -0.243034f, -0.048168f,
      -0.054348f, -0.245504f, 0.051228f,  0.359128f,  -0.071220f, -0.058006f,
      -0.624248f, -0.219615f, -0.395067f, -0.109518f, 0.149032f,  0.431928f,
      0.509968f,  -0.033143f, -0.090793f, 0.231809f,  0.138986f,  0.216989f,
      0.220683f,  -0.419745f, 0.153222f,  -0.025956f, -0.215572f, -0.196671f,
      0.363361f,  -0.229604f, -0.350704f, 0.060875f,  0.570160f,  0.007246f,
      0.087419f,  -0.266043f, 0.474729f,  0.035441f,  0.150312f,  -0.269962f,
      0.242166f,  0.110343f,  -0.327788f, 0.011268f,  -0.127769f, 0.030978f,
      -0.071045f, -0.053847f, -0.292886f, -0.091670f, 0.217351f,  0.494707f,
      -0.329069f, 0.674122f,  0.432724f,  0.047781f,  -0.085408f, -0.198105f,
      0.236135f,  -0.196957f, -0.130968f, 0.250552f,  0.123613f,  0.254275f,
      0.143118f,  -0.113676f, -0.145703f, 0.225812f,  -0.190318f, 0.336481f,
      0.224206f,  0.081584f,  0.000915f,  0.103672f,  1.000000f,  -0.031882f,
      -0.441377f, 0.543033f,  0.172924f,  -0.183717f, 0.742153f,  0.156224f,
      0.083422f,  -0.220560f, -0.301964f, -0.501439f, -0.119920f, -0.298610f,
      0.183673f,  -0.090064f, 0.501603f,  0.428330f,  0.046506f,  -0.080178f,
      0.326700f,  -0.325096f, 0.191029f,  -0.189729f, -0.113513f, -0.190492f,
      0.163221f,  -0.220631f, -0.301576f, 0.156799f,  -0.120065f, 0.102529f,
      -0.099779f, 0.076429f,  -0.727157f, 0.132097f,  0.525583f,  0.294694f,
      0.258287f,  -0.067977f, 0.051323f,  0.069258f,  0.027332f,  -0.235482f,
      -0.099882f, -0.049558f, -0.136291f, 0.237288f,  0.719757f,  -0.375235f,
      0.036391f,  -0.408991f, 0.369330f,  0.399785f,  -0.471419f, 0.551138f,
      -0.307569f, 0.064315f,  0.311605f,  0.041736f,  0.650943f,  0.780496f};

  const float kReference[] = {-0.173553f, -0.265778f, 0.158757f,  -0.259399f,
                              -0.176361f, 0.192877f,  0.056825f,  0.171453f,
                              0.050752f,  -0.194580f, -0.208679f, 0.153722f};

  RunBitexactnessTest(
      8000, 1, CreateVector(rtc::ArrayView<const float>(kReferenceInput)),
      CreateVector(rtc::ArrayView<const float>(kReference)));
}

TEST(LowCutFilterBitExactnessTest, Stereo8kHzInitial) {
  const float kReferenceInput[] = {
      0.790847f,  0.165037f,  0.165494f,  0.709852f,  -0.930269f, 0.770840f,
      -0.184538f, -0.927236f, 0.492296f,  -0.690342f, -0.712183f, 0.211918f,
      -0.491038f, -0.351692f, -0.196418f, -0.187253f, -0.227618f, 0.219604f,
      -0.666219f, -0.623816f, -0.810742f, -0.353627f, 0.539194f,  -0.531764f,
      0.480731f,  0.385637f,  0.648156f,  0.655955f,  -0.413264f, -0.381262f,
      0.046060f,  -0.349402f, 0.663685f,  0.620590f,  0.113997f,  -0.474072f,
      0.361132f,  -0.532694f, -0.087149f, -0.230866f, 0.077203f,  0.983407f,
      0.510441f,  0.960910f,  -0.530435f, 0.057118f,  -0.897128f, 0.513751f,
      0.203960f,  0.714337f,  0.976554f,  0.858969f,  -0.180970f, -0.999317f,
      0.081757f,  -0.584539f, -0.561433f, -0.348387f, -0.808101f, 0.495067f,
      0.497018f,  0.086599f,  -0.323735f, 0.664667f,  0.105144f,  0.915086f,
      0.785667f,  -0.286993f, 0.092804f,  -0.306636f, 0.245606f,  0.593249f,
      0.491750f,  -0.748928f, 0.644788f,  -0.949699f, -0.171142f, 0.462815f,
      0.562748f,  -0.265428f, 0.489736f,  0.784534f,  -0.514793f, -0.740806f,
      -0.549864f, -0.299972f, -0.425831f, 0.854976f,  -0.897372f, 0.185334f,
      -0.674202f, 0.676812f,  -0.664878f, 0.004401f,  0.998659f,  -0.289186f,
      -0.905845f, -0.572679f, -0.204322f, -0.332664f, -0.540795f, 0.872240f,
      0.366378f,  0.924228f,  -0.124054f, 0.880673f,  -0.988331f, 0.220614f,
      0.602152f,  -0.534037f, 0.864937f,  0.526526f,  0.652899f,  0.146927f,
      0.585163f,  -0.341918f, -0.553076f, -0.375227f, 0.169047f,  0.659828f,
      -0.419075f, -0.194891f, 0.724115f,  0.229479f,  0.982376f,  -0.592602f,
      0.654418f,  0.351723f,  -0.502101f, -0.048429f, -0.201850f, 0.198876f,
      0.601046f,  -0.789862f, 0.642884f,  0.682173f,  -0.290988f, -0.139861f,
      0.144478f,  0.401649f,  0.484940f,  0.515768f,  -0.221742f, -0.141395f,
      0.912689f,  0.145943f,  0.699444f,  -0.447309f, 0.244647f,  0.176723f,
      0.926937f,  -0.828195f, 0.000998f,  0.043179f,  -0.819668f, 0.809333f,
      0.768778f,  -0.122021f, 0.563445f,  -0.703070f};

  const float kReference[] = {
      0.733329f,  0.084109f,  0.072695f,  0.566210f,  -1.000000f, 0.652120f,
      -0.297424f, -0.964020f, 0.438551f,  -0.698364f, -0.654449f, 0.266243f,
      0.454115f,  0.684774f,  -0.586823f, -0.747345f, -0.503021f, -0.222961f,
      -0.314972f, 0.907224f,  -0.796265f, 0.284280f,  -0.533417f, 0.773980f};

  RunBitexactnessTest(
      8000, 2, CreateVector(rtc::ArrayView<const float>(kReferenceInput)),
      CreateVector(rtc::ArrayView<const float>(kReference)));
}

TEST(LowCutFilterBitExactnessTest, Stereo8kHzConverged) {
  const float kReferenceInput[] = {
      -0.502095f, -0.227154f, -0.137133f, 0.661773f,  0.649294f,  -0.094003f,
      -0.238880f, 0.851737f,  0.481687f,  0.475266f,  0.893832f,  0.020199f,
      0.583758f,  -0.095653f, 0.698397f,  -0.219138f, 0.476753f,  0.952877f,
      0.046598f,  -0.140169f, -0.585684f, -0.353197f, -0.778260f, -0.249580f,
      -0.340192f, -0.315790f, 0.634238f,  0.063371f,  0.042244f,  0.548619f,
      -0.759474f, 0.250900f,  -0.306703f, -0.330761f, 0.149233f,  0.727875f,
      -0.602874f, 0.344902f,  0.803663f,  -0.601686f, -0.403432f, -0.006959f,
      0.779808f,  0.002829f,  -0.446010f, 0.067916f,  0.148499f,  -0.174391f,
      -0.970473f, 0.405530f,  0.013494f,  -0.237468f, -0.870137f, -0.282840f,
      -0.531498f, -0.592992f, 0.627559f,  -0.213131f, -0.892850f, -0.249897f,
      0.549988f,  -0.669405f, 0.824438f,  -0.361588f, -0.340441f, -0.591529f,
      0.534429f,  -0.860054f, 0.900068f,  -0.683580f, -0.427108f, 0.374258f,
      -0.717700f, 0.024173f,  0.442654f,  0.857690f,  0.464208f,  0.499696f,
      -0.185361f, -0.521017f, 0.041701f,  -0.561845f, 0.684776f,  0.325866f,
      0.632471f,  0.587755f,  -0.061790f, -0.380950f, 0.375158f,  0.973704f,
      0.539868f,  0.659162f,  0.412170f,  0.190673f,  0.505748f,  -0.006556f,
      0.730265f,  -0.863945f, 0.937092f,  -0.802487f, 0.093954f,  -0.194060f,
      -0.785920f, 0.448332f,  0.227365f,  0.565936f,  0.133241f,  0.622638f,
      0.153552f,  0.888058f,  0.742904f,  0.015204f,  0.577646f,  -0.053939f,
      0.657603f,  -0.355037f, 0.952293f,  -0.443578f, -0.854338f, 0.502447f,
      0.662377f,  0.844676f,  -0.345951f, 0.608139f,  0.076501f,  -0.073410f,
      0.641501f,  0.903813f,  -0.847454f, 0.417342f,  -0.530147f, -0.202209f,
      -0.463751f, 0.665027f,  0.990748f,  0.299502f,  0.407906f,  0.864606f,
      0.375305f,  0.136708f,  -0.238305f, 0.269159f,  -0.273543f, -0.184761f,
      -0.262601f, -0.063202f, 0.006828f,  0.821072f,  -0.587138f, -0.322793f,
      0.148251f,  -0.026135f, -0.475562f, 0.159187f,  0.756655f,  -0.878100f,
      -0.118247f, -0.831484f, 0.126475f,  0.078621f,  0.536116f,  -0.533819f,
      0.174723f,  -0.082052f, 0.721963f,  0.321672f,  -0.292242f, -0.305627f,
      -0.492564f, 0.905056f,  -0.403598f, -0.683188f, -0.277406f, 0.483258f,
      0.411800f,  0.401784f,  -0.987548f, -0.251309f, 0.802991f,  -0.363310f,
      0.194166f,  -0.404410f, -0.749971f, -0.223289f, 0.635375f,  0.962351f,
      0.723980f,  -0.832358f, -0.324576f, -0.527742f, -0.364389f, 0.968897f,
      0.096502f,  0.498503f,  0.683703f,  -0.666221f, 0.806195f,  -0.789752f,
      0.490186f,  0.458744f,  0.434939f,  -0.733136f, -0.108422f, 0.017574f,
      0.060981f,  0.719434f,  0.355450f,  0.611677f,  0.062486f,  0.911792f,
      -0.866646f, 0.083036f,  -0.436679f, -0.038199f, 0.369728f,  -0.583483f,
      0.216322f,  -0.347648f, 0.761694f,  -0.733211f, -0.795184f, 0.918234f,
      -0.694196f, -0.694924f, -0.688895f, -0.820861f, -0.091151f, 0.337791f,
      0.662603f,  0.580470f,  0.425422f,  -0.054805f, 0.417176f,  0.916119f,
      0.011551f,  -0.389894f, 0.579622f,  -0.527226f, -0.531394f, -0.070601f,
      0.238774f,  0.230659f,  -0.754752f, -0.752413f, -0.431082f, 0.471466f,
      -0.177384f, 0.657964f,  0.870228f,  -0.201867f, -0.895577f, 0.142372f,
      0.495340f,  -0.359513f, -0.014131f, -0.556694f, 0.878547f,  -0.035389f,
      0.079992f,  -0.557886f, -0.808110f, -0.879669f, 0.639018f,  0.542957f,
      -0.608609f, 0.790236f,  0.368600f,  0.313693f,  0.980762f,  -0.932616f,
      -0.151493f, -0.020033f, 0.167009f,  -0.833461f, 0.320309f,  -0.895390f,
      0.113661f,  0.424050f,  -0.024179f, 0.235201f,  -0.572445f, 0.291317f,
      -0.238715f, -0.792574f, -0.244977f, -0.474278f, -0.517429f, 0.245848f,
      0.045856f,  -0.173525f, -0.564416f, 0.717107f,  0.722017f,  -0.432122f,
      0.230786f,  0.558979f,  0.909695f,  0.839206f,  -0.230369f, -0.674714f,
      0.593503f,  -0.772366f, -0.682351f, -0.288344f, 0.695517f,  0.165562f,
      0.172355f,  0.851676f,  0.150157f,  -0.980045f, 0.618755f,  0.217617f,
      -0.040173f, -0.463120f, -0.483807f, -0.037981f, -0.545317f, -0.902795f,
      -0.661516f, -0.483107f, -0.604180f, 0.211386f,  0.647407f,  0.621230f,
      0.604474f,  0.416227f,  0.718756f,  0.562169f,  -0.592406f, 0.986686f,
      -0.812751f, 0.301237f,  -0.569647f, -0.512254f, -0.320624f, -0.604275f,
      0.013667f,  0.901516f,  -0.210786f, 0.168930f,  0.213074f,  0.429286f,
      -0.196927f, 0.717382f,  0.840970f,  0.501678f,  -0.428817f, 0.593632f,
      -0.714468f, 0.009100f,  0.221376f,  0.407593f,  -0.233320f, 0.457367f,
      0.774569f,  -0.888303f, -0.723567f, 0.726130f,  -0.156507f, -0.177372f,
      0.918283f,  0.500491f,  0.961994f,  -0.532968f, -0.807546f, -0.230836f,
      0.000545f,  0.140512f,  0.953263f,  -0.014290f, -0.198234f, 0.989981f,
      -0.478004f, 0.330649f,  0.928513f,  0.342302f,  -0.401650f, 0.062253f,
      -0.997074f, 0.767578f,  -0.191232f, -0.397589f, 0.901163f,  -0.078704f,
      -0.424705f, -0.830747f, 0.164363f,  -0.693863f, -0.853811f, 0.161130f,
      -0.425970f, -0.276160f, 0.449649f,  0.716623f,  -0.304169f, 0.923491f,
      0.907138f,  -0.587925f, 0.536490f,  0.231064f,  0.837845f,  0.205075f,
      0.404276f,  0.487350f,  -0.229795f, -0.496992f, -0.926481f, -0.055754f,
      0.290145f,  -0.442060f, 0.035722f,  -0.508667f, -0.404984f, 0.300948f,
      0.782787f,  0.722213f,  -0.580170f, -0.201812f, 0.775766f,  -0.486944f,
      0.933603f,  0.238315f,  -0.669308f, 0.652398f,  0.311386f,  0.092905f,
      -0.497341f, -0.919687f, -0.533249f, -0.277774f, 0.266910f,  0.972196f,
      -0.585687f, 0.514168f,  0.772656f,  -0.055540f, -0.682173f, 0.621842f,
      -0.046984f, -0.767425f, 0.751441f,  0.270373f,  -0.805437f, 0.816879f,
      -0.929968f, -0.920501f, 0.977136f,  0.372363f,  -0.246622f, 0.008649f,
      0.526991f,  -0.902250f, 0.451855f,  0.402656f,  -0.082218f, 0.164590f,
      -0.321820f, -0.658749f, -0.201613f, 0.839554f,  -0.547909f, -0.277987f,
      -0.350876f, -0.832836f, 0.025331f,  0.665730f,  0.809227f,  0.447192f,
      -0.234008f, -0.403966f, 0.383423f,  0.760914f,  0.849097f,  -0.837494f,
      -0.034654f, -0.743470f, -0.494178f, 0.767923f,  -0.607446f, -0.757293f};

  const float kReference[] = {
      -0.544495f, 0.264199f, 0.647938f,  0.565569f,  0.496231f,  0.271340f,
      0.519944f,  0.318094f, -0.792999f, 0.733421f,  -1.000000f, 0.103977f,
      0.981719f,  0.314859f, 0.476882f,  0.514267f,  -0.196381f, -0.425781f,
      -0.783081f, 0.101108f, 0.419782f,  -0.291718f, 0.183355f,  -0.332489f};

  RunBitexactnessTest(
      8000, 2, CreateVector(rtc::ArrayView<const float>(kReferenceInput)),
      CreateVector(rtc::ArrayView<const float>(kReference)));
}

TEST(LowCutFilterBitExactnessTest, Mono16kHzInitial) {
  const float kReferenceInput[] = {
      0.150254f,  0.512488f,  -0.631245f, 0.240938f,  0.089080f,  -0.365440f,
      -0.121169f, 0.095748f,  1.000000f,  0.773932f,  -0.377232f, 0.848124f,
      0.202718f,  -0.017621f, 0.199738f,  -0.057279f, -0.034693f, 0.416303f,
      0.393761f,  0.396041f,  0.187653f,  -0.337438f, 0.200436f,  0.455577f,
      0.136624f,  0.289150f,  0.203131f,  -0.084798f, 0.082124f,  -0.220010f,
      0.248266f,  -0.320554f, -0.298701f, -0.226218f, -0.822794f, 0.401962f,
      0.090876f,  -0.210968f, 0.382936f,  -0.478291f, -0.028572f, -0.067474f,
      0.089204f,  0.087430f,  -0.241695f, -0.008398f, -0.046076f, 0.175416f,
      0.305518f,  0.309992f,  -0.241352f, 0.021618f,  -0.339291f, -0.311173f,
      -0.001914f, 0.428301f,  -0.215087f, 0.103784f,  -0.063041f, 0.312250f,
      -0.304344f, 0.009098f,  0.154406f,  0.307571f,  0.431537f,  0.024014f,
      -0.416832f, -0.207440f, -0.296664f, 0.656846f,  -0.172033f, 0.209054f,
      -0.053772f, 0.248326f,  -0.213741f, -0.391871f, -0.397490f, 0.136428f,
      -0.049568f, -0.054788f, 0.396633f,  0.081485f,  0.055279f,  0.443690f,
      -0.224812f, 0.194675f,  0.233369f,  -0.068107f, 0.060270f,  -0.325801f,
      -0.320801f, 0.029308f,  0.201837f,  0.722528f,  -0.186366f, 0.052351f,
      -0.023053f, -0.540192f, -0.122671f, -0.501532f, 0.234847f,  -0.248165f,
      0.027971f,  -0.152171f, 0.084820f,  -0.167764f, 0.136923f,  0.206619f,
      0.478395f,  -0.054249f, -0.597574f, -0.234627f, 0.378548f,  -0.299619f,
      0.268543f,  0.034666f,  0.401492f,  -0.547983f, -0.055248f, -0.337538f,
      0.812657f,  0.230611f,  0.385360f,  -0.295713f, -0.130957f, -0.076143f,
      0.306960f,  -0.077653f, 0.196049f,  -0.573390f, -0.098885f, -0.230155f,
      -0.440716f, 0.141956f,  0.078802f,  0.009356f,  -0.372703f, 0.315083f,
      0.097859f,  -0.083575f, 0.006397f,  -0.073216f, -0.489105f, -0.079827f,
      -0.232329f, -0.273644f, -0.323162f, -0.149105f, -0.559646f, 0.269458f,
      0.145333f,  -0.005597f, -0.009717f, -0.223051f, 0.284676f,  -0.037228f,
      -0.199679f, 0.377651f,  -0.062813f, -0.164607f};

  const float kReference[] = {0.147160f, 0.495163f,  -0.648346f, 0.234931f,
                              0.075289f, -0.373779f, -0.117676f, 0.100345f,
                              0.981719f, 0.714896f,  -0.447357f, 0.770867f};

  RunBitexactnessTest(
      16000, 1, CreateVector(rtc::ArrayView<const float>(kReferenceInput)),
      CreateVector(rtc::ArrayView<const float>(kReference)));
}

TEST(LowCutFilterBitExactnessTest, Mono16kHzConverged) {
  const float kReferenceInput[] = {
      0.150254f,  0.512488f,  -0.631245f, 0.240938f,  0.089080f,  -0.365440f,
      -0.121169f, 0.095748f,  1.000000f,  0.773932f,  -0.377232f, 0.848124f,
      0.202718f,  -0.017621f, 0.199738f,  -0.057279f, -0.034693f, 0.416303f,
      0.393761f,  0.396041f,  0.187653f,  -0.337438f, 0.200436f,  0.455577f,
      0.136624f,  0.289150f,  0.203131f,  -0.084798f, 0.082124f,  -0.220010f,
      0.248266f,  -0.320554f, -0.298701f, -0.226218f, -0.822794f, 0.401962f,
      0.090876f,  -0.210968f, 0.382936f,  -0.478291f, -0.028572f, -0.067474f,
      0.089204f,  0.087430f,  -0.241695f, -0.008398f, -0.046076f, 0.175416f,
      0.305518f,  0.309992f,  -0.241352f, 0.021618f,  -0.339291f, -0.311173f,
      -0.001914f, 0.428301f,  -0.215087f, 0.103784f,  -0.063041f, 0.312250f,
      -0.304344f, 0.009098f,  0.154406f,  0.307571f,  0.431537f,  0.024014f,
      -0.416832f, -0.207440f, -0.296664f, 0.656846f,  -0.172033f, 0.209054f,
      -0.053772f, 0.248326f,  -0.213741f, -0.391871f, -0.397490f, 0.136428f,
      -0.049568f, -0.054788f, 0.396633f,  0.081485f,  0.055279f,  0.443690f,
      -0.224812f, 0.194675f,  0.233369f,  -0.068107f, 0.060270f,  -0.325801f,
      -0.320801f, 0.029308f,  0.201837f,  0.722528f,  -0.186366f, 0.052351f,
      -0.023053f, -0.540192f, -0.122671f, -0.501532f, 0.234847f,  -0.248165f,
      0.027971f,  -0.152171f, 0.084820f,  -0.167764f, 0.136923f,  0.206619f,
      0.478395f,  -0.054249f, -0.597574f, -0.234627f, 0.378548f,  -0.299619f,
      0.268543f,  0.034666f,  0.401492f,  -0.547983f, -0.055248f, -0.337538f,
      0.812657f,  0.230611f,  0.385360f,  -0.295713f, -0.130957f, -0.076143f,
      0.306960f,  -0.077653f, 0.196049f,  -0.573390f, -0.098885f, -0.230155f,
      -0.440716f, 0.141956f,  0.078802f,  0.009356f,  -0.372703f, 0.315083f,
      0.097859f,  -0.083575f, 0.006397f,  -0.073216f, -0.489105f, -0.079827f,
      -0.232329f, -0.273644f, -0.323162f, -0.149105f, -0.559646f, 0.269458f,
      0.145333f,  -0.005597f, -0.009717f, -0.223051f, 0.284676f,  -0.037228f,
      -0.199679f, 0.377651f,  -0.062813f, -0.164607f, -0.082091f, -0.236957f,
      -0.313025f, 0.705903f,  0.462637f,  0.085942f,  -0.351308f, -0.241859f,
      -0.049333f, 0.221165f,  -0.372235f, -0.651092f, -0.404957f, 0.093201f,
      0.109366f,  0.126224f,  -0.036409f, 0.051333f,  -0.133063f, 0.240896f,
      -0.380532f, 0.127160f,  -0.237176f, -0.093586f, 0.154478f,  0.290379f,
      -0.312329f, 0.352297f,  0.184480f,  -0.018965f, -0.054555f, -0.060811f,
      -0.084705f, 0.006440f,  0.014333f,  0.230847f,  0.426721f,  0.130481f,
      -0.058605f, 0.174712f,  0.051204f,  -0.287773f, 0.265265f,  0.085810f,
      0.037775f,  0.143988f,  0.073051f,  -0.263103f, -0.045366f, -0.040816f,
      -0.148673f, 0.470072f,  -0.244727f, -0.135204f, -0.198973f, -0.328139f,
      -0.053722f, -0.076590f, 0.427586f,  -0.069591f, -0.297399f, 0.448094f,
      0.345037f,  -0.064170f, -0.420903f, -0.124253f, -0.043578f, 0.077149f,
      -0.072983f, 0.123916f,  0.109517f,  -0.349508f, -0.264912f, -0.207106f,
      -0.141912f, -0.089586f, 0.003485f,  -0.846518f, -0.127715f, 0.347208f,
      -0.298095f, 0.260935f,  0.097899f,  -0.008106f, 0.050987f,  -0.437362f,
      -0.023625f, 0.448230f,  0.027484f,  0.011562f,  -0.205167f, -0.008611f,
      0.064930f,  0.119156f,  -0.104183f, -0.066078f, 0.565530f,  -0.631108f,
      0.623029f,  0.094334f,  0.279472f,  -0.465059f, -0.164888f, -0.077706f,
      0.118130f,  -0.466746f, 0.131800f,  -0.338936f, 0.018497f,  0.182304f,
      0.091398f,  0.302547f,  0.281153f,  -0.181899f, 0.071836f,  -0.263911f,
      -0.369380f, 0.258447f,  0.000014f,  -0.015347f, 0.254619f,  0.166159f,
      0.097865f,  0.349389f,  0.259834f,  0.067003f,  -0.192925f, -0.182080f,
      0.333139f,  -0.450434f, -0.006836f, -0.544615f, 0.285183f,  0.240811f,
      0.000325f,  -0.019796f, -0.694804f, 0.162411f,  -0.612686f, -0.648134f,
      0.022338f,  -0.265058f, 0.114993f,  0.189185f,  0.239697f,  -0.193148f,
      0.125581f,  0.028122f,  0.230849f,  0.149832f,  0.250919f,  -0.036871f,
      -0.041136f, 0.281627f,  -0.593466f, -0.141009f, -0.355074f, -0.106915f,
      0.181276f,  0.230753f,  -0.283631f, -0.131643f, 0.038292f,  -0.081563f,
      0.084345f,  0.111763f,  -0.259882f, -0.049416f, -0.595824f, 0.320077f,
      -0.175802f, -0.336422f, -0.070966f, -0.399242f, -0.005829f, -0.156680f,
      0.608591f,  0.318150f,  -0.697767f, 0.123331f,  -0.390716f, -0.071276f,
      0.045943f,  0.208958f,  -0.076304f, 0.440505f,  -0.134400f, 0.091525f,
      0.185763f,  0.023806f,  0.246186f,  0.090323f,  -0.219133f, -0.504520f,
      0.519393f,  -0.168939f, 0.028884f,  0.157380f,  0.031745f,  -0.252830f,
      -0.130705f, -0.034901f, 0.413302f,  -0.240559f, 0.219279f,  0.086246f,
      -0.065353f, -0.295376f, -0.079405f, -0.024226f, -0.410629f, 0.053706f,
      -0.229794f, -0.026336f, 0.093956f,  -0.252810f, -0.080555f, 0.097827f,
      -0.513040f, 0.289508f,  0.677527f,  0.268109f,  -0.088244f, 0.119781f,
      -0.289511f, 0.524778f,  0.262884f,  0.220028f,  -0.244767f, 0.089411f,
      -0.156018f, -0.087030f, -0.159292f, -0.286646f, -0.253953f, -0.058657f,
      -0.474756f, 0.169797f,  -0.032919f, 0.195384f,  0.075355f,  0.138131f,
      -0.414465f, -0.285118f, -0.124915f, 0.030645f,  0.315431f,  -0.081032f,
      0.352546f,  0.132860f,  0.328112f,  0.035476f,  -0.183550f, -0.413984f,
      0.043452f,  0.228748f,  -0.081765f, -0.151125f, -0.086251f, -0.306448f,
      -0.137774f, -0.050508f, 0.012811f,  -0.017824f, 0.170841f,  0.030549f,
      0.506935f,  0.087197f,  0.504274f,  -0.202080f, 0.147146f,  -0.072728f,
      0.167713f,  0.165977f,  -0.610894f, -0.370849f, -0.402698f, 0.112297f,
      0.410855f,  -0.091330f, 0.227008f,  0.152454f,  -0.293884f, 0.111074f,
      -0.210121f, 0.423728f,  -0.009101f, 0.457188f,  -0.118785f, 0.164720f,
      -0.017547f, -0.565046f, -0.274461f, 0.171169f,  -0.015338f, -0.312635f,
      -0.175044f, 0.069729f,  -0.277504f, 0.272454f,  -0.179049f, 0.505495f,
      -0.301774f, 0.055664f,  -0.425058f, -0.202222f, -0.165787f, 0.112155f,
      0.263284f,  0.083972f,  -0.104256f, 0.227892f,  0.223253f,  0.033592f,
      0.159638f,  0.115358f,  -0.275811f, 0.212265f,  -0.183658f, -0.168768f};

  const float kReference[] = {-0.248962f, -0.088257f, 0.083041f,  -0.037323f,
                              0.127659f,  0.149388f,  -0.220978f, -0.004242f,
                              -0.538544f, 0.384289f,  -0.117615f, -0.268524f};

  RunBitexactnessTest(
      16000, 1, CreateVector(rtc::ArrayView<const float>(kReferenceInput)),
      CreateVector(rtc::ArrayView<const float>(kReference)));
}

TEST(LowCutFilterBitExactnessTest, Stereo16kHzInitial) {
  const float kReferenceInput[] = {
      0.087390f,  -0.370759f, -0.235918f, 0.583079f,  0.678359f,  0.360473f,
      -0.166156f, 0.285780f,  -0.571837f, 0.234542f,  0.350382f,  0.202047f,
      -0.307381f, -0.271197f, -0.657038f, 0.590723f,  -0.014666f, -0.290754f,
      0.550122f,  -0.526390f, 0.689667f,  0.633054f,  0.692457f,  -0.259626f,
      -0.233541f, 0.722669f,  -0.072182f, 0.141096f,  0.390614f,  0.921835f,
      0.092626f,  0.273153f,  0.141785f,  0.854224f,  0.727531f,  -0.660321f,
      -0.642602f, -0.512991f, 0.503559f,  -0.601731f, 0.965881f,  0.419277f,
      -0.649128f, 0.716595f,  0.818823f,  0.923326f,  0.141199f,  0.125758f,
      -0.646678f, 0.027358f,  0.096944f,  -0.669445f, -0.012214f, 0.070235f,
      -0.602386f, 0.246338f,  -0.947369f, -0.362418f, 0.065999f,  -0.346453f,
      0.204381f,  -0.276135f, -0.730159f, 0.827627f,  0.281118f,  0.317548f,
      0.350661f,  0.489115f,  0.684355f,  0.033314f,  -0.696263f, -0.238671f,
      0.642039f,  -0.657271f, -0.340049f, 0.932944f,  0.612585f,  -0.555624f,
      0.999546f,  -0.872523f, -0.149034f, -0.191324f, -0.199414f, -0.776155f,
      -0.151378f, 0.227092f,  0.976123f,  -0.560198f, -0.291838f, -0.467516f,
      -0.417004f, -0.623221f, -0.954281f, -0.101192f, -0.512720f, 0.737453f,
      0.057222f,  0.828270f,  0.947860f,  0.170852f,  -0.762049f, 0.853065f,
      0.187122f,  0.767231f,  -0.151048f, 0.214515f,  -0.858473f, 0.849545f,
      0.284159f,  -0.791001f, 0.400450f,  -0.208391f, -0.830190f, -0.571042f,
      -0.502402f, -0.546694f, 0.406009f,  0.508305f,  0.094573f,  0.106967f,
      0.261146f,  0.970914f,  0.268556f,  0.200911f,  0.818374f,  0.141673f,
      -0.329160f, 0.914278f,  -0.120154f, 0.203085f,  0.440525f,  0.357557f,
      -0.574482f, -0.836753f, -0.451041f, 0.735037f,  0.118714f,  -0.070744f,
      -0.139398f, 0.547972f,  0.307841f,  0.315459f,  -0.677958f, -0.135246f,
      0.010172f,  -0.249335f, -0.039256f, -0.315157f, 0.554293f,  -0.232112f,
      0.423113f,  -0.038133f, 0.458360f,  0.875118f,  0.034509f,  0.806137f,
      -0.563615f, 0.746439f,  -0.834614f, -0.069193f, -0.956140f, 0.616561f,
      -0.641581f, -0.669216f, -0.636793f, 0.382873f,  -0.572473f, -0.403790f,
      0.536670f,  0.002300f,  0.818930f,  -0.884294f, -0.126496f, 0.144509f,
      0.130134f,  0.647633f,  -0.747802f, -0.399766f, -0.995756f, 0.902215f,
      0.532599f,  0.502608f,  -0.722270f, -0.301361f, -0.697319f, -0.006559f,
      0.617305f,  0.265738f,  0.376803f,  0.279140f,  0.458643f,  0.719691f,
      0.253911f,  -0.638817f, 0.146613f,  -0.672868f, 0.812103f,  -0.845314f,
      -0.322931f, 0.161235f,  -0.049530f, 0.610641f,  0.061556f,  -0.545379f,
      0.418970f,  -0.702735f, 0.316232f,  0.267965f,  -0.541387f, -0.635544f,
      -0.667295f, -0.700786f, -0.594505f, 0.909918f,  -0.968183f, 0.915029f,
      -0.948615f, 0.942221f,  -0.404809f, 0.050146f,  0.724678f,  0.792810f,
      -0.621979f, 0.321439f,  0.882462f,  0.951414f,  -0.784129f, -0.642202f,
      0.493103f,  -0.901063f, -0.857430f, -0.021749f, 0.699788f,  0.994083f,
      -0.991215f, 0.085215f,  0.722696f,  0.818278f,  0.690701f,  0.757746f,
      0.492364f,  -0.765021f, 0.018045f,  -0.662336f, 0.662223f,  0.856022f,
      -0.661031f, 0.767475f,  -0.224274f, -0.234861f, -0.457094f, 0.735766f,
      0.483005f,  -0.104255f, 0.419278f,  0.888663f,  -0.651764f, -0.510807f,
      0.281858f,  0.617225f,  0.706742f,  -0.203765f, -0.769012f, -0.839438f,
      -0.279065f, 0.657811f,  -0.570781f, 0.582081f,  0.309377f,  -0.947707f,
      0.571553f,  0.845126f,  -0.015374f, 0.668023f,  -0.737293f, 0.519567f,
      0.851472f,  0.665415f,  -0.481198f, -0.573956f, 0.044630f,  -0.205286f,
      -0.041780f, 0.987807f,  0.208957f,  0.889817f,  -0.019116f, -0.124107f,
      0.545311f,  0.488133f,  -0.114192f, -0.894000f, -0.824356f, 0.595972f,
      0.311165f,  -0.935329f, 0.114134f,  0.439603f,  -0.779184f, -0.566705f,
      0.622040f,  -0.722676f, 0.763798f,  0.847112f,  -0.974489f, -0.245681f,
      -0.664377f, 0.080446f,  -0.796675f, -0.921465f, 0.866458f,  0.943184f,
      -0.278144f, 0.288411f,  -0.864105f, -0.584176f, -0.920792f, -0.061281f,
      -0.699807f, 0.982614f};

  const float kReference[] = {
      0.085604f,  -0.367126f, -0.218170f, 0.594653f,  0.661245f,  0.319041f,
      -0.212891f, 0.237800f,  -0.614716f, 0.201758f,  0.305032f,  0.144414f,
      -0.936523f, 0.647359f,  -0.613403f, -0.611542f, -0.549835f, 0.477004f,
      -0.477386f, -0.287262f, 0.650746f,  0.101169f,  0.899258f,  -0.808014f};

  RunBitexactnessTest(
      16000, 2, CreateVector(rtc::ArrayView<const float>(kReferenceInput)),
      CreateVector(rtc::ArrayView<const float>(kReference)));
}

TEST(LowCutFilterBitExactnessTest, Stereo16kHzConverged) {
  const float kReferenceInput[] = {
      -0.145875f, 0.910744f,  0.448494f,  0.161783f,  0.080516f,  0.410882f,
      -0.989942f, 0.565032f,  0.853719f,  -0.983409f, 0.649257f,  0.534672f,
      0.994274f,  -0.544694f, 0.839084f,  0.283999f,  -0.789360f, -0.463678f,
      0.527688f,  0.611020f,  -0.791494f, -0.060482f, -0.561876f, 0.845416f,
      -0.359355f, 0.715088f,  -0.480307f, 0.756126f,  -0.623465f, 0.518388f,
      -0.936621f, 0.284678f,  0.133742f,  -0.247181f, -0.574903f, 0.584314f,
      -0.709113f, -0.021715f, -0.974309f, -0.626776f, -0.029539f, 0.676452f,
      -0.717886f, 0.464434f,  0.382134f,  -0.931015f, -0.022285f, 0.942781f,
      -0.775097f, 0.486428f,  0.277083f,  0.188366f,  -0.002755f, 0.135705f,
      -0.146991f, -0.847521f, -0.418827f, 0.122670f,  0.266667f,  0.861552f,
      0.955538f,  -0.812807f, 0.323470f,  0.205546f,  -0.052364f, -0.287487f,
      -0.048843f, 0.342044f,  0.919290f,  -0.821831f, 0.595485f,  0.181551f,
      0.824394f,  -0.797741f, -0.413411f, -0.896824f, 0.008256f,  0.536752f,
      -0.434029f, -0.549280f, -0.337421f, -0.093497f, 0.474769f,  0.019771f,
      -0.234972f, 0.810966f,  0.930515f,  0.256535f,  -0.735938f, 0.236604f,
      -0.233960f, 0.982387f,  -0.426345f, 0.412383f,  0.070412f,  -0.613578f,
      0.378870f,  -0.899090f, -0.631132f, -0.908683f, 0.770083f,  0.679589f,
      -0.763690f, -0.179170f, -0.759543f, 0.144185f,  0.898780f,  -0.487230f,
      0.979731f,  -0.300384f, -0.582955f, 0.331654f,  0.946689f,  0.245400f,
      -0.872924f, -0.252981f, -0.667497f, -0.537444f, -0.895583f, 0.803513f,
      0.586583f,  -0.253971f, 0.664109f,  0.507669f,  0.243726f,  -0.211814f,
      -0.281444f, -0.822295f, -0.316646f, 0.097341f,  -0.078905f, 0.290905f,
      0.027042f,  0.628853f,  -0.805634f, -0.072573f, 0.179635f,  -0.625656f,
      0.222660f,  -0.896116f, 0.151454f,  0.684689f,  -0.000548f, -0.121950f,
      -0.701886f, -0.943441f, 0.513340f,  0.592212f,  -0.412889f, -0.769587f,
      -0.249817f, 0.657787f,  0.683553f,  0.330477f,  0.920280f,  0.886236f,
      -0.774601f, 0.296575f,  -0.038392f, -0.866959f, 0.795542f,  -0.005540f,
      0.542607f,  -0.879276f, -0.475085f, 0.302139f,  -0.732792f, 0.277091f,
      -0.230114f, 0.531396f,  0.305831f,  -0.237022f, -0.399963f, -0.319721f,
      0.837853f,  -0.087466f, -0.115006f, -0.091628f, 0.890564f,  -0.561762f,
      0.764806f,  -0.960249f, -0.316470f, 0.532055f,  -0.314393f, 0.237613f,
      -0.093958f, -0.979675f, 0.198162f,  0.203137f,  0.298835f,  -0.314559f,
      -0.013401f, 0.403548f,  0.775605f,  -0.889884f, -0.803276f, 0.299566f,
      0.528142f,  0.975918f,  -0.749350f, -0.271046f, 0.352460f,  -0.248484f,
      0.726917f,  -0.416046f, -0.733050f, 0.345301f,  -0.594830f, 0.737030f,
      0.502315f,  -0.161241f, -0.999538f, -0.701073f, -0.452331f, 0.744850f,
      0.202502f,  -0.357623f, -0.431414f, -0.129368f, 0.807518f,  0.850211f,
      0.010585f,  0.255164f,  0.438528f,  -0.952174f, 0.149865f,  -0.906931f,
      -0.154937f, -0.064531f, -0.954744f, -0.869852f, 0.847913f,  0.068286f,
      -0.266407f, -0.272108f, -0.697253f, -0.700783f, -0.298396f, -0.328068f,
      0.568056f,  -0.026522f, -0.070404f, -0.737495f, 0.772783f,  0.349115f,
      0.670319f,  0.312976f,  0.967834f,  0.959580f,  -0.499694f, 0.249141f,
      0.456485f,  -0.003659f, 0.699657f,  -0.618164f, -0.751712f, -0.994419f,
      -0.694094f, 0.068322f,  0.021267f,  -0.229568f, -0.378807f, -0.992889f,
      0.630485f,  0.276837f,  -0.103321f, -0.511828f, 0.606770f,  0.647942f,
      0.704381f,  -0.065496f, 0.941398f,  0.682488f,  -0.842904f, -0.524802f,
      0.635142f,  -0.188343f, -0.067376f, 0.903072f,  0.930011f,  0.530570f,
      0.149067f,  0.831850f,  -0.009135f, -0.667975f, -0.348005f, -0.407128f,
      0.116597f,  -0.865046f, -0.862044f, -0.666431f, 0.894877f,  0.622177f,
      0.420911f,  0.940491f,  0.996854f,  0.974910f,  -0.699827f, 0.916958f,
      0.060918f,  -0.851827f, -0.376358f, 0.790342f,  0.669537f,  -0.995302f,
      0.280420f,  0.606365f,  -0.509738f, -0.871756f, -0.473703f, -0.794559f,
      -0.032562f, -0.162231f, -0.237422f, 0.773530f,  -0.158885f, -0.432304f,
      -0.903638f, -0.561668f, -0.521648f, -0.941483f, 0.404622f,  -0.984729f,
      0.221841f,  -0.183821f, -0.502107f, 0.304919f,  -0.359446f, -0.792656f,
      0.071130f,  -0.670260f, 0.766877f,  0.332914f,  0.695485f,  0.525322f,
      0.614028f,  0.265905f,  0.420855f,  0.377327f,  -0.358104f, 0.063297f,
      0.746388f,  -0.890921f, 0.000802f,  -0.134474f, 0.808565f,  0.260367f,
      0.966072f,  0.170401f,  0.681273f,  -0.062372f, 0.090445f,  -0.641792f,
      0.268923f,  0.925918f,  0.068028f,  -0.040771f, 0.587332f,  -0.814573f,
      0.761599f,  -0.992253f, 0.023058f,  0.356927f,  0.131495f,  -0.043083f,
      -0.358974f, 0.203160f,  0.826305f,  0.365036f,  0.893467f,  -0.801822f,
      0.022058f,  -0.779743f, 0.090524f,  0.377572f,  -0.705166f, 0.555122f,
      -0.201898f, 0.796600f,  -0.385912f, -0.877898f, -0.561058f, -0.834334f,
      0.900791f,  -0.967259f, -0.770663f, -0.975180f, -0.567545f, -0.977145f,
      0.284899f,  0.033982f,  -0.508916f, -0.612505f, -0.818259f, -0.263117f,
      -0.984414f, 0.205403f,  -0.042291f, -0.383765f, 0.488889f,  0.678699f,
      -0.475136f, 0.028476f,  -0.106452f, -0.317578f, 0.678284f,  0.964985f,
      0.252929f,  -0.637450f, -0.753966f, 0.159937f,  -0.342928f, -0.463627f,
      0.100478f,  -0.638966f, 0.356984f,  -0.888623f, -0.931886f, -0.426963f,
      -0.845220f, 0.801145f,  0.693212f,  -0.208603f, -0.661569f, -0.139095f,
      -0.167564f, 0.457527f,  -0.187053f, 0.903615f,  0.823970f,  0.902829f,
      -0.307998f, -0.419512f, 0.773402f,  -0.579938f, -0.738247f, 0.041032f,
      0.810925f,  -0.194940f, -0.568477f, -0.842521f, 0.866120f,  0.205743f,
      -0.245016f, 0.329863f,  0.584381f,  -0.333016f, 0.385318f,  -0.592369f,
      0.917427f,  0.423665f,  -0.666187f, -0.114446f, 0.265987f,  0.859934f,
      0.058662f,  0.252949f,  0.361638f,  0.846395f,  -0.694332f, -0.188558f,
      -0.375048f, 0.387798f,  0.781376f,  -0.018658f, 0.611647f,  -0.347122f,
      0.099758f,  -0.222431f, 0.793658f,  0.352240f,  0.656794f,  -0.779822f,
      -0.441545f, 0.535272f,  -0.567887f, -0.931876f, -0.126896f, 0.873727f,
      -0.475822f, 0.139491f,  -0.280894f, -0.946323f, 0.000838f,  0.654030f,
      -0.482035f, -0.908230f, -0.507057f, 0.321464f,  -0.341181f, 0.318992f,
      -0.973992f, 0.436136f,  -0.217762f, -0.932989f, -0.187969f, 0.432615f,
      0.842673f,  0.968031f,  0.966842f,  0.792612f,  0.731406f,  0.601922f,
      0.109958f,  -0.162256f, -0.745755f, 0.309241f,  0.727930f,  -0.450803f,
      0.680328f,  -0.858490f, -0.242416f, -0.463661f, -0.694158f, 0.261999f,
      -0.367250f, 0.918224f,  -0.002652f, 0.477217f,  -0.974489f, 0.210706f,
      0.152903f,  0.614758f,  0.309936f,  0.756457f,  0.804746f,  -0.695534f,
      -0.614840f, 0.581951f,  -0.878590f, -0.220346f, -0.400068f, 0.468360f,
      -0.791581f, 0.585151f,  0.565458f,  0.064795f,  -0.493295f, -0.858091f,
      0.251607f,  -0.950637f, -0.875915f, -0.740776f, -0.098772f, 0.344672f,
      0.712222f,  -0.003109f, -0.902431f, -0.372335f, 0.283262f,  0.572773f,
      -0.421699f, -0.004264f, 0.636869f,  0.190257f,  0.072849f,  -0.338254f,
      -0.176620f, 0.588012f,  -0.313584f, -0.074787f, -0.264353f, 0.359141f,
      0.135558f,  0.303554f,  -0.017773f, -0.203084f, -0.045032f, -0.866825f,
      -0.177943f, 0.938184f,  0.561442f,  0.458036f,  0.531301f,  0.513162f,
      0.686541f,  0.540314f,  0.957322f,  -0.777281f, -0.207846f, -0.015879f,
      -0.483811f, -0.926068f, 0.948763f,  0.452852f,  -0.704070f, -0.704211f,
      0.409648f,  -0.238013f, -0.847177f, -0.178319f, -0.714019f, 0.597840f,
      0.860496f,  -0.990561f, 0.300081f,  0.357065f,  -0.492754f, 0.686362f,
      -0.412082f, -0.946279f, -0.813386f, 0.595770f,  0.422805f,  0.566814f,
      0.247845f,  0.650831f,  -0.929955f, -0.189050f, -0.500662f, -0.038206f,
      0.761678f,  -0.438630f, 0.198285f,  -0.947548f, -0.689603f, 0.667822f,
      -0.610213f, 0.659576f,  -0.323850f, 0.342233f,  -0.895267f, 0.468618f,
      -0.001036f, 0.886600f,  -0.420455f, -0.246879f, -0.772489f, 0.929701f,
      -0.134977f, -0.830874f, 0.433353f,  0.013575f,  -0.343825f, 0.507048f,
      0.672012f,  -0.492567f, 0.068850f,  -0.129670f, -0.684592f, 0.200962f,
      0.874902f,  -0.784483f, 0.799963f,  0.100930f,  -0.145287f, -0.695238f,
      -0.504908f, -0.105262f, 0.065567f,  -0.290698f, 0.546230f,  0.763362f,
      0.468184f,  -0.187136f, 0.208357f,  0.282210f,  -0.745066f, -0.007616f,
      -0.379061f, 0.157149f,  0.887218f,  -0.146121f, -0.933743f, 0.858868f,
      0.849965f,  -0.283386f, -0.480022f, 0.573719f,  0.023164f,  0.125054f,
      0.369588f,  -0.815207f, 0.745158f,  0.885876f,  -0.806812f, 0.691765f,
      0.818791f,  -0.977318f, 0.047365f,  0.300691f,  -0.229709f, 0.298604f,
      0.525707f,  0.151372f,  0.263838f,  -0.443592f, 0.679673f,  -0.146330f,
      0.263245f,  0.666934f,  -0.459629f, -0.198399f, 0.108509f,  -0.112269f,
      -0.819232f, 0.488763f,  -0.934769f, -0.140515f, -0.925475f, 0.951596f,
      0.044680f,  0.819260f,  -0.233504f, 0.768904f,  -0.489965f, 0.818100f,
      0.789121f,  -0.202966f, 0.250040f,  0.135195f,  0.789024f,  -0.571668f,
      -0.992282f, 0.761163f,  -0.529757f, -0.510271f, 0.281834f,  -0.390951f,
      0.651242f,  0.767377f,  0.890746f,  -0.218409f, 0.602640f,  -0.685773f,
      0.250331f,  0.397971f,  -0.828262f, 0.062359f,  0.777133f,  -0.472668f,
      -0.530429f, 0.679314f,  -0.008920f, -0.695267f, -0.538464f, 0.315908f,
      0.125897f,  -0.416343f, 0.244610f,  0.431811f,  -0.438538f, -0.175454f,
      -0.275589f, 0.562784f,  -0.729026f, 0.804139f,  -0.420728f, -0.000884f,
      0.567181f,  0.354124f,  -0.700377f, 0.393239f,  -0.741974f, 0.891893f,
      0.772824f,  0.030009f,  0.358817f,  0.953587f,  -0.749079f, 0.504486f,
      0.654104f,  0.562861f,  -0.618235f, -0.142717f, -0.971087f, -0.349429f,
      -0.730596f, -0.098965f, 0.144550f,  0.584047f,  -0.160527f, 0.065073f,
      0.851409f,  0.798164f,  0.089667f,  0.802248f,  -0.896347f, 0.617205f,
      -0.330191f, -0.542634f, 0.644804f,  -0.303531f, -0.669059f, -0.943733f,
      0.910740f,  0.360581f,  0.721124f,  0.878187f,  0.360388f,  0.834847f,
      -0.486617f, 0.771236f,  0.840086f,  -0.399873f, -0.853218f, 0.534797f,
      -0.830096f, 0.457528f,  -0.104221f, 0.302497f,  -0.660996f, 0.062898f,
      0.267602f,  -0.971808f, -0.059257f, 0.772652f,  -0.771943f, -0.114918f,
      0.319096f,  -0.410454f, 0.900737f,  0.388572f,  -0.586387f, 0.109525f,
      0.758557f,  0.115715f,  0.504668f,  0.789802f,  0.683688f,  -0.738287f,
      -0.621692f, -0.692720f, -0.942196f, -0.981830f, 0.192903f,  0.218099f,
      0.837847f,  0.467149f,  -0.397706f, -0.008851f, -0.483674f, 0.465709f,
      -0.766478f, 0.492083f,  0.619578f,  0.490467f,  -0.325713f, 0.168650f,
      -0.062096f, -0.825470f, 0.657435f,  0.371889f,  -0.465350f, 0.938967f,
      -0.632452f, -0.400118f, -0.177630f, -0.527022f, -0.609889f, 0.410759f,
      -0.638903f, 0.044666f,  -0.407656f, -0.074436f, 0.850465f,  -0.568222f,
      -0.997982f, 0.813212f,  0.360084f,  0.029904f,  0.044138f,  -0.794163f,
      0.993761f,  -0.282062f, 0.250485f,  -0.213267f, -0.984675f, 0.090570f,
      0.018221f,  -0.506442f, -0.909209f, 0.683459f,  -0.903500f, -0.367359f,
      0.566839f,  0.944800f,  0.172928f,  0.556088f,  0.455395f,  0.301974f,
      0.329230f,  0.877560f,  0.070163f,  -0.203120f, 0.340915f,  -0.118931f,
      -0.734252f, -0.121593f, 0.095285f,  -0.209727f, -0.203456f, 0.502697f,
      0.044701f,  -0.019134f, -0.822642f, -0.498297f, -0.104882f, 0.275922f,
      0.418891f,  0.985240f,  0.864390f,  -0.815541f, 0.907080f,  -0.674409f,
      0.940910f,  0.194013f,  -0.519546f, -0.859410f, -0.399918f, 0.627090f,
      -0.846580f, -0.291054f, -0.735978f, -0.683641f, -0.875706f, 0.403687f,
      -0.827037f, 0.233574f,  -0.652457f, 0.302802f,  -0.002607f, -0.430979f,
      0.661119f,  0.636720f,  0.876339f,  -0.999348f, 0.280778f,  -0.985289f,
      -0.787158f, -0.786411f, -0.265782f, -0.520785f, -0.307720f, -0.500760f,
      -0.225871f, -0.157923f, 0.280155f,  0.575106f,  -0.460011f, 0.687965f,
      0.480937f,  0.652204f,  -0.635616f, -0.869128f, 0.220701f,  0.403106f,
      -0.776765f, -0.808353f, 0.195668f,  0.624465f,  0.629156f,  -0.821126f,
      0.462557f,  0.807713f,  -0.095536f, -0.858625f, -0.517444f, 0.463730f};

  const float kReference[] = {
      -0.816528f, 0.085421f,  0.739647f,  -0.922089f, 0.669301f,  -0.048187f,
      -0.290039f, -0.818085f, -0.596008f, -0.177826f, -0.002197f, -0.350647f,
      -0.064301f, 0.337291f,  -0.621765f, 0.115909f,  0.311899f,  -0.915924f,
      0.020478f,  0.836055f,  -0.714020f, -0.037140f, 0.391125f,  -0.340118f};

  RunBitexactnessTest(
      16000, 2, CreateVector(rtc::ArrayView<const float>(kReferenceInput)),
      CreateVector(rtc::ArrayView<const float>(kReference)));
}
}  // namespace webrtc
