Commit 8c8ebd9c authored by Andrey Kamaev's avatar Andrey Kamaev

Fix sanity checks for arithmetic tests on CV_32S data

parent 6151a6ea
...@@ -97,10 +97,15 @@ PERF_TEST_P(Size_MatType, absdiff, TYPICAL_MATS_CORE_ARITHM) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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);
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment