test/acm_random: fix Rand15Signed() range
and rename it to Rand15().
the range for testing::internal::Random is [0, 2^31). previously this
function would return [0, 1 << 14). for uses other than cfl use
Rand15Signed() (pickrst_test.cc) or Rand16Signed() (encodetxb_test.cc)
instead.
Change-Id: If609d1d2601aad2c4f35e3521b45781a07583e31
diff --git a/test/acm_random.h b/test/acm_random.h
index 8c748b8..1025e84 100644
--- a/test/acm_random.h
+++ b/test/acm_random.h
@@ -39,10 +39,15 @@
int16_t Rand16Signed() { return static_cast<int16_t>(Rand16()); }
- int16_t Rand15Signed() {
+ int16_t Rand15() {
const uint32_t value =
random_.Generate(testing::internal::Random::kMaxRange);
- return (value >> 17) & 0xffff;
+ return (value >> 16) & 0x7fff;
+ }
+
+ int16_t Rand15Signed() {
+ // Use 15 bits: values between 16383 (0x3FFF) and -16384 (0xC000).
+ return static_cast<int16_t>(Rand15()) - (1 << 14);
}
uint16_t Rand12() {
diff --git a/test/cfl_test.cc b/test/cfl_test.cc
index 98cc9ab..97533da 100644
--- a/test/cfl_test.cc
+++ b/test/cfl_test.cc
@@ -192,7 +192,7 @@
TEST_P(CFLSubAvgTest, SubAvgTest) {
for (int it = 0; it < NUM_ITERATIONS; it++) {
- randData(&ACMRandom::Rand15Signed);
+ randData(&ACMRandom::Rand15);
sub_avg((uint16_t *)data, data);
sub_avg_ref((uint16_t *)data_ref, data_ref);
assert_eq<int16_t>(data, data_ref, width, height);
@@ -202,7 +202,7 @@
TEST_P(CFLSubAvgTest, DISABLED_SubAvgSpeedTest) {
aom_usec_timer ref_timer;
aom_usec_timer timer;
- randData(&ACMRandom::Rand15Signed);
+ randData(&ACMRandom::Rand15);
aom_usec_timer_start(&ref_timer);
for (int k = 0; k < NUM_ITERATIONS_SPEED; k++) {
sub_avg_ref((uint16_t *)data_ref, data_ref);
diff --git a/test/encodetxb_test.cc b/test/encodetxb_test.cc
index ee09ea6..c1b6709 100644
--- a/test/encodetxb_test.cc
+++ b/test/encodetxb_test.cc
@@ -229,7 +229,7 @@
ACMRandom rnd(ACMRandom::DeterministicSeed());
for (int i = 0; i < width * height; i++) {
- coeff[i] = rnd.Rand15Signed() + rnd.Rand15Signed();
+ coeff[i] = rnd.Rand16Signed();
}
for (int i = 0; i < TX_PAD_2D; i++) {
levels_buf[0][i] = rnd.Rand8();