From c0e80959ce459e9dcef3a0bfd659c4544d25a448 Mon Sep 17 00:00:00 2001 From: Johann Date: Fri, 20 Jul 2012 11:51:06 -0700 Subject: Move ACMRandom to acm_random.h Change-Id: I1d99c56d1e1f521507978737fc661ca90af72507 --- test/acm_random.h | 48 +++++++++++++++++++++++++++++++++++++++++++++ test/boolcoder_test.cc | 18 +++-------------- test/fdct4x4_test.cc | 18 ++--------------- test/sixtap_predict_test.cc | 18 +++-------------- test/test.mk | 1 + 5 files changed, 57 insertions(+), 46 deletions(-) create mode 100644 test/acm_random.h (limited to 'test') diff --git a/test/acm_random.h b/test/acm_random.h new file mode 100644 index 000000000..b631eeb30 --- /dev/null +++ b/test/acm_random.h @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2012 The WebM 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. + */ + +#ifndef LIBVPX_TEST_ACM_RANDOM_H_ +#define LIBVPX_TEST_ACM_RANDOM_H_ + +#include +#include + +namespace libvpx_test { + +class ACMRandom { + public: + explicit ACMRandom(int seed) { + Reset(seed); + } + + void Reset(int seed) { + srand(seed); + } + + uint8_t Rand8(void) { + return (rand() >> 8) & 0xff; + } + + int PseudoUniform(int range) { + return (rand() >> 8) % range; + } + + int operator()(int n) { + return PseudoUniform(n); + } + + static int DeterministicSeed(void) { + return 0xbaba; + } +}; + +} // namespace libvpx_test + +#endif // LIBVPX_TEST_ACM_RANDOM_H_ diff --git a/test/boolcoder_test.cc b/test/boolcoder_test.cc index 41c2f7b9b..4e21be8c5 100644 --- a/test/boolcoder_test.cc +++ b/test/boolcoder_test.cc @@ -20,28 +20,16 @@ extern "C" { #include #include +#include "test/acm_random.h" #include "third_party/googletest/src/include/gtest/gtest.h" #include "vpx/vpx_integer.h" namespace { const int num_tests = 10; - -class ACMRandom { - public: - explicit ACMRandom(int seed) { Reset(seed); } - - void Reset(int seed) { srand(seed); } - - uint8_t Rand8(void) { return (rand() >> 8) & 0xff; } - - int PseudoUniform(int range) { return (rand() >> 8) % range; } - - int operator()(int n) { return PseudoUniform(n); } - - static int DeterministicSeed(void) { return 0xbaba; } -}; } // namespace +using libvpx_test::ACMRandom; + TEST(VP8, TestBitIO) { ACMRandom rnd(ACMRandom::DeterministicSeed()); for (int n = 0; n < num_tests; ++n) { diff --git a/test/fdct4x4_test.cc b/test/fdct4x4_test.cc index 8a2646a63..619b23d22 100644 --- a/test/fdct4x4_test.cc +++ b/test/fdct4x4_test.cc @@ -21,6 +21,7 @@ extern "C" { #include "vpx_rtcd.h" } +#include "test/acm_random.h" #include "third_party/googletest/src/include/gtest/gtest.h" #include "vpx/vpx_integer.h" @@ -70,22 +71,7 @@ void reference_idct4x4(const int16_t *input, int16_t *output) { } } -// This is a class that generate random numbers for test input. -class ACMRandom { -public: - explicit ACMRandom(int seed) { Reset(seed); } - - void Reset(int seed) { srand(seed); } - - uint8_t Rand8(void) { return (rand() >> 8) & 0xff; } - - int PseudoUniform(int range) { return (rand() >> 8) % range; } - - int operator()(int n) { return PseudoUniform(n); } - - static int DeterministicSeed(void) { return 0xbaba; } -}; - +using libvpx_test::ACMRandom; TEST(Vp8FdctTest, SignBiasCheck) { ACMRandom rnd(ACMRandom::DeterministicSeed()); diff --git a/test/sixtap_predict_test.cc b/test/sixtap_predict_test.cc index 8ab8aa686..f29414e23 100644 --- a/test/sixtap_predict_test.cc +++ b/test/sixtap_predict_test.cc @@ -11,6 +11,7 @@ #include #include #include +#include "test/acm_random.h" #include "test/util.h" #include "third_party/googletest/src/include/gtest/gtest.h" extern "C" { @@ -22,21 +23,6 @@ extern "C" { namespace { -class ACMRandom { - public: - explicit ACMRandom(int seed) { Reset(seed); } - - void Reset(int seed) { srand(seed); } - - uint8_t Rand8(void) { return (rand() >> 8) & 0xff; } - - int PseudoUniform(int range) { return (rand() >> 8) % range; } - - int operator()(int n) { return PseudoUniform(n); } - - static int DeterministicSeed(void) { return 0xbaba; } -}; - typedef void (*sixtap_predict_fn_t)(uint8_t *src_ptr, int src_pixels_per_line, int xoffset, @@ -139,6 +125,8 @@ TEST_P(SixtapPredictTest, TestWithPresetData) { << "i==" << (i * width_ + j); } +using libvpx_test::ACMRandom; + TEST_P(SixtapPredictTest, TestWithRandomData) { const size_t src_size = sizeof(src_) / sizeof(uint8_t); diff --git a/test/test.mk b/test/test.mk index 2ca246485..15bd79314 100644 --- a/test/test.mk +++ b/test/test.mk @@ -1,3 +1,4 @@ +LIBVPX_TEST_SRCS-yes += acm_random.h LIBVPX_TEST_SRCS-yes += test.mk LIBVPX_TEST_SRCS-yes += test_libvpx.cc LIBVPX_TEST_SRCS-yes += util.h -- cgit v1.2.3