]> granicus.if.org Git - libvpx/commitdiff
test/buffer.h: move range checking to compiler
authorJohann <johannkoenig@google.com>
Wed, 5 Jul 2017 18:14:51 +0000 (11:14 -0700)
committerJohann <johannkoenig@google.com>
Wed, 5 Jul 2017 18:21:18 +0000 (11:21 -0700)
Pass low/high values as type T. Out of range values should be caught by
static analysis instead.

Change-Id: I0a3ee8820af05f4c791ab097626174e2206fa6d5

test/buffer.h

index a6b9f4389d6e5339feb18099695aed48bdd65d18..2175dad9d903cc45616e15df7a221b12a8c94bf7 100644 (file)
@@ -77,7 +77,7 @@ class Buffer {
   // testing::internal::Random::kMaxRange (1u << 31). However, because we want
   // to allow negative low (and high) values, it is restricted to INT32_MAX
   // here.
-  void Set(ACMRandom *rand_class, const int32_t low, const int32_t high);
+  void Set(ACMRandom *rand_class, const T low, const T high);
 
   // Copy the contents of Buffer 'a' (excluding padding).
   void CopyFrom(const Buffer<T> &a);
@@ -178,15 +178,11 @@ void Buffer<T>::Set(ACMRandom *rand_class, T (ACMRandom::*rand_func)()) {
   }
 }
 
-// TODO(johannkoenig): Use T for low/high.
 template <typename T>
-void Buffer<T>::Set(ACMRandom *rand_class, const int32_t low,
-                    const int32_t high) {
+void Buffer<T>::Set(ACMRandom *rand_class, const T low, const T high) {
   if (!raw_buffer_) return;
 
   EXPECT_LE(low, high);
-  EXPECT_GE(low, std::numeric_limits<T>::min());
-  EXPECT_LE(high, std::numeric_limits<T>::max());
   EXPECT_LE(static_cast<int64_t>(high) - low,
             std::numeric_limits<int32_t>::max());