runtime error: implicit conversion from type 'int' of value
-61240 (32-bit, signed) to type 'int16_t' (aka 'short') changed the
value to 4296 (16-bit, signed)
BUG=webm:1615
Change-Id: I213fc153f0df9ea46737a7fb98d909e670125724
int16_t Rand16Signed(void) {
// Use 16 bits: values between 32767 and -32768.
- const uint32_t value = random_.Generate(65536);
- return static_cast<int16_t>(value) - 32768;
+ return static_cast<int16_t>(random_.Generate(65536));
}
int16_t Rand13Signed(void) {
// Returns a random value near 0 or near 255, to better exercise
// saturation behavior.
const uint8_t r = Rand8();
- return r < 128 ? r << 4 : r >> 4;
+ return static_cast<uint8_t>((r < 128) ? r << 4 : r >> 4);
}
uint32_t RandRange(const uint32_t range) {
TEST_P(SatdLowbdTest, Random) {
int expected;
switch (satd_size_) {
- case 16: expected = 263252; break;
- case 64: expected = 1105420; break;
- case 256: expected = 4252250; break;
- case 1024: expected = 16876840; break;
+ case 16: expected = 261036; break;
+ case 64: expected = 991732; break;
+ case 256: expected = 4136358; break;
+ case 1024: expected = 16677592; break;
default:
FAIL() << "Invalid satd size (" << satd_size_
<< ") valid: 16/64/256/1024";