Fix sanity checks for arithmetic tests on CV_32S data

This commit is contained in:
Andrey Kamaev 2012-10-08 18:06:17 +04:00
parent 6151a6ea0b
commit 8c8ebd9ca6

View File

@ -97,10 +97,15 @@ PERF_TEST_P(Size_MatType, absdiff, TYPICAL_MATS_CORE_ARITHM)
declare.in(a, b, WARMUP_RNG).out(c); declare.in(a, b, WARMUP_RNG).out(c);
if (CV_MAT_DEPTH(type) == CV_32S)
{
//see ticket 1529: absdiff can be without saturation on 32S
a /= 2;
b /= 2;
}
TEST_CYCLE() absdiff(a, b, c); TEST_CYCLE() absdiff(a, b, c);
//see ticket 1529: absdiff can be without saturation on 32S
if (CV_MAT_DEPTH(type) != CV_32S)
SANITY_CHECK(c, 1e-8); SANITY_CHECK(c, 1e-8);
} }
@ -114,10 +119,15 @@ PERF_TEST_P(Size_MatType, absdiffScalar, TYPICAL_MATS_CORE_ARITHM)
declare.in(a, b, WARMUP_RNG).out(c); declare.in(a, b, WARMUP_RNG).out(c);
if (CV_MAT_DEPTH(type) == CV_32S)
{
//see ticket 1529: absdiff can be without saturation on 32S
a /= 2;
b /= 2;
}
TEST_CYCLE() absdiff(a, b, c); TEST_CYCLE() absdiff(a, b, c);
//see ticket 1529: absdiff can be without saturation on 32S
if (CV_MAT_DEPTH(type) != CV_32S)
SANITY_CHECK(c, 1e-8); SANITY_CHECK(c, 1e-8);
} }
@ -131,10 +141,15 @@ PERF_TEST_P(Size_MatType, add, TYPICAL_MATS_CORE_ARITHM)
declare.in(a, b, WARMUP_RNG).out(c); declare.in(a, b, WARMUP_RNG).out(c);
if (CV_MAT_DEPTH(type) == CV_32S)
{
//see ticket 1529: add can be without saturation on 32S
a /= 2;
b /= 2;
}
TEST_CYCLE() add(a, b, c); TEST_CYCLE() add(a, b, c);
//see ticket 1529: add can be without saturation on 32S
if (CV_MAT_DEPTH(type) != CV_32S)
SANITY_CHECK(c, 1e-8); SANITY_CHECK(c, 1e-8);
} }
@ -148,10 +163,15 @@ PERF_TEST_P(Size_MatType, addScalar, TYPICAL_MATS_CORE_ARITHM)
declare.in(a, b, WARMUP_RNG).out(c); declare.in(a, b, WARMUP_RNG).out(c);
if (CV_MAT_DEPTH(type) == CV_32S)
{
//see ticket 1529: add can be without saturation on 32S
a /= 2;
b /= 2;
}
TEST_CYCLE() add(a, b, c); TEST_CYCLE() add(a, b, c);
//see ticket 1529: add can be without saturation on 32S
if (CV_MAT_DEPTH(type) != CV_32S)
SANITY_CHECK(c, 1e-8); SANITY_CHECK(c, 1e-8);
} }
@ -165,10 +185,15 @@ PERF_TEST_P(Size_MatType, subtract, TYPICAL_MATS_CORE_ARITHM)
declare.in(a, b, WARMUP_RNG).out(c); declare.in(a, b, WARMUP_RNG).out(c);
if (CV_MAT_DEPTH(type) == CV_32S)
{
//see ticket 1529: subtract can be without saturation on 32S
a /= 2;
b /= 2;
}
TEST_CYCLE() subtract(a, b, c); TEST_CYCLE() subtract(a, b, c);
//see ticket 1529: subtract can be without saturation on 32S
if (CV_MAT_DEPTH(type) != CV_32S)
SANITY_CHECK(c, 1e-8); SANITY_CHECK(c, 1e-8);
} }
@ -182,9 +207,14 @@ PERF_TEST_P(Size_MatType, subtractScalar, TYPICAL_MATS_CORE_ARITHM)
declare.in(a, b, WARMUP_RNG).out(c); declare.in(a, b, WARMUP_RNG).out(c);
if (CV_MAT_DEPTH(type) == CV_32S)
{
//see ticket 1529: subtract can be without saturation on 32S
a /= 2;
b /= 2;
}
TEST_CYCLE() subtract(a, b, c); TEST_CYCLE() subtract(a, b, c);
//see ticket 1529: subtract can be without saturation on 32S
if (CV_MAT_DEPTH(type) != CV_32S)
SANITY_CHECK(c, 1e-8); SANITY_CHECK(c, 1e-8);
} }