]> granicus.if.org Git - libvpx/commitdiff
Move template specializations into .cc from .h
authorGeza Lore <gezalore@gmail.com>
Wed, 1 Jun 2016 12:54:54 +0000 (13:54 +0100)
committerGeza Lore <gezalore@gmail.com>
Fri, 3 Jun 2016 08:34:55 +0000 (09:34 +0100)
Change-Id: I6d8775c1fa228fde25016a401e3c22a8e3da42f9

test/randomise.cc [new file with mode: 0644]
test/randomise.h
test/test.mk

diff --git a/test/randomise.cc b/test/randomise.cc
new file mode 100644 (file)
index 0000000..679ee72
--- /dev/null
@@ -0,0 +1,58 @@
+/*
+ *  Copyright (c) 2016 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.
+ */
+
+#include "test/randomise.h"
+
+namespace libvpx_test {
+
+// Add further specialisations as necessary
+
+template<>
+bool Randomise::uniform<bool>() {
+  return rnd_.Rand8() & 1 ? true : false;
+}
+
+template<>
+uint8_t Randomise::uniform<uint8_t>() {
+  return rnd_.Rand8();
+}
+
+template<>
+uint16_t Randomise::uniform<uint16_t>() {
+  return rnd_.Rand16();
+}
+
+template<>
+uint32_t Randomise::uniform<uint32_t>() {
+  const uint32_t l = uniform<uint16_t>();
+  const uint32_t h = uniform<uint16_t>();
+  return h << 16 | l;
+}
+
+template<>
+uint64_t Randomise::uniform<uint64_t>() {
+  const uint64_t l = uniform<uint32_t>();
+  const uint64_t h = uniform<uint32_t>();
+  return h << 32 | l;
+}
+
+template<>
+int8_t Randomise::uniform<int8_t>() { return uniform<uint8_t>(); }
+
+template<>
+int16_t Randomise::uniform<int16_t>() { return uniform<uint16_t>(); }
+
+template<>
+int32_t Randomise::uniform<int32_t>() { return uniform<uint32_t>(); }
+
+template<>
+int64_t Randomise::uniform<int64_t>() { return uniform<uint64_t>(); }
+
+}  // namespace libvpx_test
index fbf419c682138ae6c4ab9bb17c43380ca2ffbfda..c263f84d82de2f091821d68032be9b823277c4be 100644 (file)
@@ -162,45 +162,31 @@ class Randomise {
 // Add further specialisations as necessary
 
 template<>
-bool Randomise::uniform<bool>() {
-  return rnd_.Rand8() & 1 ? true : false;
-}
+bool Randomise::uniform<bool>();
 
 template<>
-uint8_t Randomise::uniform<uint8_t>() {
-  return rnd_.Rand8();
-}
+uint8_t Randomise::uniform<uint8_t>();
 
 template<>
-uint16_t Randomise::uniform<uint16_t>() {
-  return rnd_.Rand16();
-}
+uint16_t Randomise::uniform<uint16_t>();
 
 template<>
-uint32_t Randomise::uniform<uint32_t>() {
-  const uint32_t l = uniform<uint16_t>();
-  const uint32_t h = uniform<uint16_t>();
-  return h << 16 | l;
-}
+uint32_t Randomise::uniform<uint32_t>();
 
 template<>
-uint64_t Randomise::uniform<uint64_t>() {
-  const uint64_t l = uniform<uint32_t>();
-  const uint64_t h = uniform<uint32_t>();
-  return h << 32 | l;
-}
+uint64_t Randomise::uniform<uint64_t>();
 
 template<>
-int8_t Randomise::uniform<int8_t>() { return uniform<uint8_t>(); }
+int8_t Randomise::uniform<int8_t>();
 
 template<>
-int16_t Randomise::uniform<int16_t>() { return uniform<uint16_t>(); }
+int16_t Randomise::uniform<int16_t>();
 
 template<>
-int32_t Randomise::uniform<int32_t>() { return uniform<uint32_t>(); }
+int32_t Randomise::uniform<int32_t>();
 
 template<>
-int64_t Randomise::uniform<int64_t>() { return uniform<uint64_t>(); }
+int64_t Randomise::uniform<int64_t>();
 
 }  // namespace libvpx_test
 
index 8eda2dd266e75712321f784a66bd6ae26644f0c8..9a87a809d9779f6db49319c71b268e2cb7787008 100644 (file)
@@ -49,6 +49,8 @@ LIBVPX_TEST_SRCS-yes                   += decode_test_driver.cc
 LIBVPX_TEST_SRCS-yes                   += decode_test_driver.h
 LIBVPX_TEST_SRCS-$(CONFIG_ENCODERS)    += encode_test_driver.cc
 LIBVPX_TEST_SRCS-yes                   += encode_test_driver.h
+LIBVPX_TEST_SRCS-yes                   += randomise.h
+LIBVPX_TEST_SRCS-yes                   += randomise.cc
 
 ## IVF writing.
 LIBVPX_TEST_SRCS-$(CONFIG_ENCODERS)    += ../ivfenc.c ../ivfenc.h