diff options
author | gman@google.com <gman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-25 21:52:00 +0000 |
---|---|---|
committer | gman@google.com <gman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-25 21:52:00 +0000 |
commit | 284547ba566633338d9d6249511fd5f34da178b6 (patch) | |
tree | 67614dc03be4d87474d59e59653fa196503e6598 /o3d | |
parent | e1988d4c3451757d47f6d1360269d2ccf34bcef2 (diff) | |
download | chromium_src-284547ba566633338d9d6249511fd5f34da178b6.zip chromium_src-284547ba566633338d9d6249511fd5f34da178b6.tar.gz chromium_src-284547ba566633338d9d6249511fd5f34da178b6.tar.bz2 |
Fix for osx Lanzcos scale test.
Apparently it's off by like 1 bit.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24337 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'o3d')
-rw-r--r-- | o3d/core/cross/image_utils_test.cc | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/o3d/core/cross/image_utils_test.cc b/o3d/core/cross/image_utils_test.cc index 2944302..6745043 100644 --- a/o3d/core/cross/image_utils_test.cc +++ b/o3d/core/cross/image_utils_test.cc @@ -47,6 +47,18 @@ void ConvertToHalf(const float* src, size_t count, uint16* dst) { } } +bool CompareFloats(const float* src_1, const float* src_2, size_t num_floats) { + const float kEpsilon = 0.000001f; + for (; num_floats != 0; --num_floats) { + if (fabs(*src_1 - *src_2) > kEpsilon) { + return false; + } + ++src_1; + ++src_2; + } + return true; +} + } // anonymous namespace. class ImageTest : public testing::Test { @@ -452,7 +464,7 @@ TEST_F(ImageTest, LanczosScaleFloat) { 0, 0, 1, 1, 1); // Check the result. - EXPECT_EQ(0, memcmp(mip1, expected_mip1, sizeof(expected_mip1))); + EXPECT_TRUE(CompareFloats(mip1, expected_mip1, arraysize(expected_mip1))); EXPECT_EQ(0, memcmp(mip2, expected_mip2, sizeof(expected_mip2))); EXPECT_EQ(mip1[2], kSentinel); EXPECT_EQ(mip2[1], kSentinel); |