Chromium Code Reviews| Index: unit_test/color_test.cc |
| diff --git a/unit_test/color_test.cc b/unit_test/color_test.cc |
| index d3fda0d4dcd7faa0b82b74c70997fad0f59f9dff..81189083dc18690d0afb5555301e4e02b9889386 100644 |
| --- a/unit_test/color_test.cc |
| +++ b/unit_test/color_test.cc |
| @@ -229,10 +229,10 @@ static void YJToRGB(int y, int* r, int* g, int* b) { |
| // #define CLAMPMETHOD_MASK 1 |
| // Pick a method for rounding. |
| -#define ROUND(f) static_cast<int>(f + 0.5) |
| -// #define ROUND(f) lrintf(f) |
| -// #define ROUND(f) static_cast<int>(round(f)) |
| -// #define ROUND(f) _mm_cvt_ss2si(_mm_load_ss(&f)) |
| +#define ROUND(f) lrintf(f) |
|
brucedawson
2015/10/02 18:48:07
But, lrintf is ~376 times slower on VC++ (https://
fbarchard
2015/10/02 21:44:53
Done.
|
| +//#define ROUND(f) static_cast<int>(f + 0.5) |
| +//#define ROUND(f) static_cast<int>(round(f)) |
| +//#define ROUND(f) _mm_cvt_ss2si(_mm_load_ss(&f)) |
| #if defined(CLAMPMETHOD_IF) |
| static int RoundToByte(float f) { |
| @@ -314,16 +314,11 @@ static int RoundToByte(float f) { |
| TEST_F(libyuvTest, TestRoundToByte) { |
| int allb = 0; |
| - for (int i = 0; i < benchmark_iterations_; ++i) { |
| - for (int u2 = 0; u2 < 256; ++u2) { |
| - for (int v2 = 0; v2 < 256; ++v2) { |
| - for (int y2 = 0; y2 < 256; ++y2) { |
| - int y = RANDOM256(y2); |
| - int b = RoundToByte(y * 810.33 - 257); |
| - allb |= b; |
| - } |
| - } |
| - } |
| + int count = benchmark_width_ * benchmark_height_ * benchmark_iterations_; |
| + for (int i = 0; i < count; ++i) { |
| + int y = RANDOM256(i); |
| + int b = RoundToByte(y * 810.33 - 257); |
| + allb |= b; |
| } |
| EXPECT_GE(allb, 0); |
| EXPECT_LE(allb, 255); |