add epsilon in sanity checks
authormarina.kolpakova <marina.kolpakova@itseez.com>
Fri, 12 Oct 2012 12:00:13 +0000 (16:00 +0400)
committermarina.kolpakova <marina.kolpakova@itseez.com>
Mon, 26 Nov 2012 19:52:56 +0000 (23:52 +0400)
modules/gpu/perf/perf_core.cpp

index 725bb9b..1befcf9 100644 (file)
@@ -28,27 +28,17 @@ PERF_TEST_P(Sz_Depth_Cn, Core_Merge, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_D
 
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::merge(d_src, d_dst);
+        TEST_CYCLE() cv::gpu::merge(d_src, d_dst);
 
-        TEST_CYCLE()
-        {
-            cv::gpu::merge(d_src, d_dst);
-        }
-
-        GPU_SANITY_CHECK(d_dst);
+        GPU_SANITY_CHECK(d_dst, 1e-12);
     }
     else
     {
         cv::Mat dst;
 
-        cv::merge(src, dst);
-
-        TEST_CYCLE()
-        {
-            cv::merge(src, dst);
-        }
+        TEST_CYCLE() cv::merge(src, dst);
 
-        CPU_SANITY_CHECK(dst);
+        CPU_SANITY_CHECK(dst, 1e-12);
     }
 }
 
@@ -69,28 +59,18 @@ PERF_TEST_P(Sz_Depth_Cn, Core_Split, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_D
 
         std::vector<cv::gpu::GpuMat> d_dst;
 
-        cv::gpu::split(d_src, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::split(d_src, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::split(d_src, d_dst);
 
         cv::gpu::GpuMat first = d_dst[0];
-        GPU_SANITY_CHECK(first);
+        GPU_SANITY_CHECK(first, 1e-12);
     }
     else
     {
         std::vector<cv::Mat> dst;
 
-        cv::split(src, dst);
+        TEST_CYCLE() cv::split(src, dst);
 
-        TEST_CYCLE()
-        {
-            cv::split(src, dst);
-        }
-
-        CPU_SANITY_CHECK(dst);
+        CPU_SANITY_CHECK(dst, 1e-12);
     }
 }
 
@@ -114,27 +94,17 @@ PERF_TEST_P(Sz_Depth, Core_AddMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_DEP
         cv::gpu::GpuMat d_src2(src2);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::add(d_src1, d_src2, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::add(d_src1, d_src2, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::add(d_src1, d_src2, d_dst);
 
-        GPU_SANITY_CHECK(d_dst);
+        GPU_SANITY_CHECK(d_dst, 1e-8);
     }
     else
     {
         cv::Mat dst;
 
-        cv::add(src1, src2, dst);
-
-        TEST_CYCLE()
-        {
-            cv::add(src1, src2, dst);
-        }
+        TEST_CYCLE() cv::add(src1, src2, dst);
 
-        CPU_SANITY_CHECK(dst);
+        CPU_SANITY_CHECK(dst, 1e-8);
     }
 }
 
@@ -156,27 +126,17 @@ PERF_TEST_P(Sz_Depth, Core_AddScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::add(d_src, s, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::add(d_src, s, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::add(d_src, s, d_dst);
 
-        GPU_SANITY_CHECK(d_dst);
+        GPU_SANITY_CHECK(d_dst, 1e-8);
     }
     else
     {
         cv::Mat dst;
 
-        cv::add(src, s, dst);
+        TEST_CYCLE() cv::add(src, s, dst);
 
-        TEST_CYCLE()
-        {
-            cv::add(src, s, dst);
-        }
-
-        CPU_SANITY_CHECK(dst);
+        CPU_SANITY_CHECK(dst, 1e-8);
     }
 }
 
@@ -200,27 +160,17 @@ PERF_TEST_P(Sz_Depth, Core_SubtractMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MA
         cv::gpu::GpuMat d_src2(src2);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::subtract(d_src1, d_src2, d_dst);
+        TEST_CYCLE() cv::gpu::subtract(d_src1, d_src2, d_dst);
 
-        TEST_CYCLE()
-        {
-            cv::gpu::subtract(d_src1, d_src2, d_dst);
-        }
-
-        GPU_SANITY_CHECK(d_dst);
+        GPU_SANITY_CHECK(d_dst, 1e-8);
     }
     else
     {
         cv::Mat dst;
 
-        cv::subtract(src1, src2, dst);
-
-        TEST_CYCLE()
-        {
-            cv::subtract(src1, src2, dst);
-        }
+        TEST_CYCLE() cv::subtract(src1, src2, dst);
 
-        CPU_SANITY_CHECK(dst);
+        CPU_SANITY_CHECK(dst, 1e-8);
     }
 }
 
@@ -242,27 +192,17 @@ PERF_TEST_P(Sz_Depth, Core_SubtractScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::subtract(d_src, s, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::subtract(d_src, s, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::subtract(d_src, s, d_dst);
 
-        GPU_SANITY_CHECK(d_dst);
+        GPU_SANITY_CHECK(d_dst, 1e-8);
     }
     else
     {
         cv::Mat dst;
 
-        cv::subtract(src, s, dst);
-
-        TEST_CYCLE()
-        {
-            cv::subtract(src, s, dst);
-        }
+        TEST_CYCLE() cv::subtract(src, s, dst);
 
-        CPU_SANITY_CHECK(dst);
+        CPU_SANITY_CHECK(dst, 1e-8);
     }
 }
 
@@ -286,27 +226,17 @@ PERF_TEST_P(Sz_Depth, Core_MultiplyMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MA
         cv::gpu::GpuMat d_src2(src2);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::multiply(d_src1, d_src2, d_dst);
+        TEST_CYCLE() cv::gpu::multiply(d_src1, d_src2, d_dst);
 
-        TEST_CYCLE()
-        {
-            cv::gpu::multiply(d_src1, d_src2, d_dst);
-        }
-
-        GPU_SANITY_CHECK(d_dst);
+        GPU_SANITY_CHECK(d_dst, 1e-8);
     }
     else
     {
         cv::Mat dst;
 
-        cv::multiply(src1, src2, dst);
+        TEST_CYCLE() cv::multiply(src1, src2, dst);
 
-        TEST_CYCLE()
-        {
-            cv::multiply(src1, src2, dst);
-        }
-
-        CPU_SANITY_CHECK(dst);
+        CPU_SANITY_CHECK(dst, 1e-8);
     }
 }
 
@@ -330,25 +260,17 @@ PERF_TEST_P(Sz_Depth, Core_MultiplyScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM
 
         cv::gpu::multiply(d_src, s, d_dst);
 
-        TEST_CYCLE()
-        {
-            cv::gpu::multiply(d_src, s, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::multiply(d_src, s, d_dst);
 
-        GPU_SANITY_CHECK(d_dst);
+        GPU_SANITY_CHECK(d_dst, 1e-8);
     }
     else
     {
         cv::Mat dst;
 
-        cv::multiply(src, s, dst);
+        TEST_CYCLE() cv::multiply(src, s, dst);
 
-        TEST_CYCLE()
-        {
-            cv::multiply(src, s, dst);
-        }
-
-        CPU_SANITY_CHECK(dst);
+        CPU_SANITY_CHECK(dst, 1e-8);
     }
 }
 
@@ -372,27 +294,17 @@ PERF_TEST_P(Sz_Depth, Core_DivideMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT_
         cv::gpu::GpuMat d_src2(src2);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::divide(d_src1, d_src2, d_dst);
+        TEST_CYCLE() cv::gpu::divide(d_src1, d_src2, d_dst);
 
-        TEST_CYCLE()
-        {
-            cv::gpu::divide(d_src1, d_src2, d_dst);
-        }
-
-        GPU_SANITY_CHECK(d_dst);
+        GPU_SANITY_CHECK(d_dst, 1e-8);
     }
     else
     {
         cv::Mat dst;
 
-        cv::divide(src1, src2, dst);
-
-        TEST_CYCLE()
-        {
-            cv::divide(src1, src2, dst);
-        }
+        TEST_CYCLE() cv::divide(src1, src2, dst);
 
-        CPU_SANITY_CHECK(dst);
+        CPU_SANITY_CHECK(dst, 1e-8);
     }
 }
 
@@ -414,27 +326,17 @@ PERF_TEST_P(Sz_Depth, Core_DivideScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_M
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::divide(d_src, s, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::divide(d_src, s, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::divide(d_src, s, d_dst);
 
-        GPU_SANITY_CHECK(d_dst);
+        GPU_SANITY_CHECK(d_dst, 1e-8);
     }
     else
     {
         cv::Mat dst;
 
-        cv::divide(src, s, dst);
-
-        TEST_CYCLE()
-        {
-            cv::divide(src, s, dst);
-        }
+        TEST_CYCLE() cv::divide(src, s, dst);
 
-        CPU_SANITY_CHECK(dst);
+        CPU_SANITY_CHECK(dst, 1e-8);
     }
 }
 
@@ -456,27 +358,17 @@ PERF_TEST_P(Sz_Depth, Core_DivideScalarInv, Combine(GPU_TYPICAL_MAT_SIZES, ARITH
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::divide(s, d_src, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::divide(s, d_src, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::divide(s, d_src, d_dst);
 
-        GPU_SANITY_CHECK(d_dst);
+        GPU_SANITY_CHECK(d_dst, 1e-8);
     }
     else
     {
         cv::Mat dst;
 
-        cv::divide(s, src, dst);
-
-        TEST_CYCLE()
-        {
-            cv::divide(s, src, dst);
-        }
+        TEST_CYCLE() cv::divide(s, src, dst);
 
-        CPU_SANITY_CHECK(dst);
+        CPU_SANITY_CHECK(dst, 1e-8);
     }
 }
 
@@ -500,27 +392,17 @@ PERF_TEST_P(Sz_Depth, Core_AbsDiffMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_MAT
         cv::gpu::GpuMat d_src2(src2);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::absdiff(d_src1, d_src2, d_dst);
+        TEST_CYCLE() cv::gpu::absdiff(d_src1, d_src2, d_dst);
 
-        TEST_CYCLE()
-        {
-            cv::gpu::absdiff(d_src1, d_src2, d_dst);
-        }
-
-        GPU_SANITY_CHECK(d_dst);
+        GPU_SANITY_CHECK(d_dst, 1e-8);
     }
     else
     {
         cv::Mat dst;
 
-        cv::absdiff(src1, src2, dst);
+        TEST_CYCLE() cv::absdiff(src1, src2, dst);
 
-        TEST_CYCLE()
-        {
-            cv::absdiff(src1, src2, dst);
-        }
-
-        CPU_SANITY_CHECK(dst);
+        CPU_SANITY_CHECK(dst, 1e-8);
     }
 }
 
@@ -542,27 +424,17 @@ PERF_TEST_P(Sz_Depth, Core_AbsDiffScalar, Combine(GPU_TYPICAL_MAT_SIZES, ARITHM_
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::absdiff(d_src, s, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::absdiff(d_src, s, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::absdiff(d_src, s, d_dst);
 
-        GPU_SANITY_CHECK(d_dst);
+        GPU_SANITY_CHECK(d_dst, 1e-8);
     }
     else
     {
         cv::Mat dst;
 
-        cv::absdiff(src, s, dst);
-
-        TEST_CYCLE()
-        {
-            cv::absdiff(src, s, dst);
-        }
+        TEST_CYCLE() cv::absdiff(src, s, dst);
 
-        CPU_SANITY_CHECK(dst);
+        CPU_SANITY_CHECK(dst, 1e-8);
     }
 }
 
@@ -582,19 +454,11 @@ PERF_TEST_P(Sz_Depth, Core_Abs, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_16S, CV
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::abs(d_src, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::abs(d_src, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::abs(d_src, d_dst);
 
-        GPU_SANITY_CHECK(d_dst);
-    }
-    else
-    {
-        FAIL() << "No such CPU implementation analogy";
+        GPU_SANITY_CHECK(d_dst, 1e-8);
     }
+    else FAIL_NO_CPU();
 }
 
 //////////////////////////////////////////////////////////////////////
@@ -613,19 +477,11 @@ PERF_TEST_P(Sz_Depth, Core_Sqr, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U, CV_
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::sqr(d_src, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::sqr(d_src, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::sqr(d_src, d_dst);
 
-        GPU_SANITY_CHECK(d_dst);
-    }
-    else
-    {
-        FAIL() << "No such CPU implementation analogy";
+        GPU_SANITY_CHECK(d_dst, 1e-8);
     }
+    else FAIL_NO_CPU();
 }
 
 //////////////////////////////////////////////////////////////////////
@@ -644,27 +500,17 @@ PERF_TEST_P(Sz_Depth, Core_Sqrt, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U, CV
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::sqrt(d_src, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::sqrt(d_src, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::sqrt(d_src, d_dst);
 
-        GPU_SANITY_CHECK(d_dst);
+        GPU_SANITY_CHECK(d_dst, 1e-8);
     }
     else
     {
         cv::Mat dst;
 
-        cv::sqrt(src, dst);
+        TEST_CYCLE() cv::sqrt(src, dst);
 
-        TEST_CYCLE()
-        {
-            cv::sqrt(src, dst);
-        }
-
-        CPU_SANITY_CHECK(dst);
+        CPU_SANITY_CHECK(dst, 1e-8);
     }
 }
 
@@ -684,27 +530,17 @@ PERF_TEST_P(Sz_Depth, Core_Log, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U, CV_
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::log(d_src, d_dst);
+        TEST_CYCLE() cv::gpu::log(d_src, d_dst);
 
-        TEST_CYCLE()
-        {
-            cv::gpu::log(d_src, d_dst);
-        }
-
-        GPU_SANITY_CHECK(d_dst);
+        GPU_SANITY_CHECK(d_dst, 1e-8);
     }
     else
     {
         cv::Mat dst;
 
-        cv::log(src, dst);
-
-        TEST_CYCLE()
-        {
-            cv::log(src, dst);
-        }
+        TEST_CYCLE() cv::log(src, dst);
 
-        CPU_SANITY_CHECK(dst);
+        CPU_SANITY_CHECK(dst, 1e-8);
     }
 }
 
@@ -724,27 +560,17 @@ PERF_TEST_P(Sz_Depth, Core_Exp, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U, CV_
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::exp(d_src, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::exp(d_src, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::exp(d_src, d_dst);
 
-        GPU_SANITY_CHECK(d_dst);
+        GPU_SANITY_CHECK(d_dst, 1e-8);
     }
     else
     {
         cv::Mat dst;
 
-        cv::exp(src, dst);
-
-        TEST_CYCLE()
-        {
-            cv::exp(src, dst);
-        }
+        TEST_CYCLE() TEST_CYCLE() cv::exp(src, dst);
 
-        CPU_SANITY_CHECK(dst);
+        CPU_SANITY_CHECK(dst, 1e-8);
     }
 }
 
@@ -767,27 +593,17 @@ PERF_TEST_P(Sz_Depth_Power, Core_Pow, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::pow(d_src, power, d_dst);
+        TEST_CYCLE() cv::gpu::pow(d_src, power, d_dst);
 
-        TEST_CYCLE()
-        {
-            cv::gpu::pow(d_src, power, d_dst);
-        }
-
-        GPU_SANITY_CHECK(d_dst);
+        GPU_SANITY_CHECK(d_dst, 1e-8);
     }
     else
     {
         cv::Mat dst;
 
-        cv::pow(src, power, dst);
+        TEST_CYCLE() cv::pow(src, power,dst);
 
-        TEST_CYCLE()
-        {
-            cv::pow(src, power, dst);
-        }
-
-        CPU_SANITY_CHECK(dst);
+        CPU_SANITY_CHECK(dst, 1e-8);
     }
 }
 
@@ -817,12 +633,7 @@ PERF_TEST_P(Sz_Depth_Code, Core_CompareMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITH
         cv::gpu::GpuMat d_src2(src2);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::compare(d_src1, d_src2, d_dst, cmp_code);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::compare(d_src1, d_src2, d_dst, cmp_code);
-        }
+        TEST_CYCLE() cv::gpu::compare(d_src1, d_src2, d_dst, cmp_code);
 
         GPU_SANITY_CHECK(d_dst);
     }
@@ -830,12 +641,7 @@ PERF_TEST_P(Sz_Depth_Code, Core_CompareMat, Combine(GPU_TYPICAL_MAT_SIZES, ARITH
     {
         cv::Mat dst;
 
-        cv::compare(src1, src2, dst, cmp_code);
-
-        TEST_CYCLE()
-        {
-            cv::compare(src1, src2, dst, cmp_code);
-        }
+        TEST_CYCLE() cv::compare(src1, src2, dst, cmp_code);
 
         CPU_SANITY_CHECK(dst);
     }
@@ -860,12 +666,7 @@ PERF_TEST_P(Sz_Depth_Code, Core_CompareScalar, Combine(GPU_TYPICAL_MAT_SIZES, AR
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::compare(d_src, s, d_dst, cmp_code);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::compare(d_src, s, d_dst, cmp_code);
-        }
+        TEST_CYCLE() cv::gpu::compare(d_src, s, d_dst, cmp_code);
 
         GPU_SANITY_CHECK(d_dst);
     }
@@ -873,12 +674,7 @@ PERF_TEST_P(Sz_Depth_Code, Core_CompareScalar, Combine(GPU_TYPICAL_MAT_SIZES, AR
     {
         cv::Mat dst;
 
-        cv::compare(src, s, dst, cmp_code);
-
-        TEST_CYCLE()
-        {
-            cv::compare(src, s, dst, cmp_code);
-        }
+        TEST_CYCLE() cv::compare(src, s, dst, cmp_code);
 
         CPU_SANITY_CHECK(dst);
     }
@@ -900,12 +696,7 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseNot, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::bitwise_not(d_src, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::bitwise_not(d_src, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::bitwise_not(d_src,d_dst);
 
         GPU_SANITY_CHECK(d_dst);
     }
@@ -913,12 +704,7 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseNot, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_
     {
         cv::Mat dst;
 
-        cv::bitwise_not(src, dst);
-
-        TEST_CYCLE()
-        {
-            cv::bitwise_not(src, dst);
-        }
+        TEST_CYCLE() cv::bitwise_not(src,dst);
 
         CPU_SANITY_CHECK(dst);
     }
@@ -944,12 +730,7 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseAndMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(
         cv::gpu::GpuMat d_src2(src2);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::bitwise_and(d_src1, d_src2, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::bitwise_and(d_src1, d_src2, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::bitwise_and(d_src1, d_src2,d_dst);
 
         GPU_SANITY_CHECK(d_dst);
     }
@@ -957,12 +738,7 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseAndMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(
     {
         cv::Mat dst;
 
-        cv::bitwise_and(src1, src2, dst);
-
-        TEST_CYCLE()
-        {
-            cv::bitwise_and(src1, src2, dst);
-        }
+        TEST_CYCLE() cv::bitwise_and(src1, src2,dst);
     }
 }
 
@@ -987,12 +763,7 @@ PERF_TEST_P(Sz_Depth_Cn, Core_BitwiseAndScalar, Combine(GPU_TYPICAL_MAT_SIZES, V
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::bitwise_and(d_src, s, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::bitwise_and(d_src, s, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::bitwise_and(d_src, s,d_dst);
 
         GPU_SANITY_CHECK(d_dst);
     }
@@ -1000,12 +771,7 @@ PERF_TEST_P(Sz_Depth_Cn, Core_BitwiseAndScalar, Combine(GPU_TYPICAL_MAT_SIZES, V
     {
         cv::Mat dst;
 
-        cv::bitwise_and(src, s, dst);
-
-        TEST_CYCLE()
-        {
-            cv::bitwise_and(src, s, dst);
-        }
+        TEST_CYCLE() cv::bitwise_and(src, s,dst);
 
         CPU_SANITY_CHECK(dst);
     }
@@ -1031,12 +797,7 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseOrMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(C
         cv::gpu::GpuMat d_src2(src2);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::bitwise_or(d_src1, d_src2, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::bitwise_or(d_src1, d_src2, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::bitwise_or(d_src1, d_src2,d_dst);
 
         GPU_SANITY_CHECK(d_dst);
     }
@@ -1044,12 +805,7 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseOrMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(C
     {
         cv::Mat dst;
 
-        cv::bitwise_or(src1, src2, dst);
-
-        TEST_CYCLE()
-        {
-            cv::bitwise_or(src1, src2, dst);
-        }
+        TEST_CYCLE() cv::bitwise_or(src1, src2,dst);
 
         CPU_SANITY_CHECK(dst);
     }
@@ -1076,12 +832,7 @@ PERF_TEST_P(Sz_Depth_Cn, Core_BitwiseOrScalar, Combine(GPU_TYPICAL_MAT_SIZES, Va
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::bitwise_or(d_src, s, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::bitwise_or(d_src, s, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::bitwise_or(d_src, s,d_dst);
 
         GPU_SANITY_CHECK(d_dst);
     }
@@ -1089,12 +840,7 @@ PERF_TEST_P(Sz_Depth_Cn, Core_BitwiseOrScalar, Combine(GPU_TYPICAL_MAT_SIZES, Va
     {
         cv::Mat dst;
 
-        cv::bitwise_or(src, s, dst);
-
-        TEST_CYCLE()
-        {
-            cv::bitwise_or(src, s, dst);
-        }
+        TEST_CYCLE() cv::bitwise_or(src, s,dst);
 
         CPU_SANITY_CHECK(dst);
     }
@@ -1120,12 +866,7 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseXorMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(
         cv::gpu::GpuMat d_src2(src2);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::bitwise_xor(d_src1, d_src2, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::bitwise_xor(d_src1, d_src2, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::bitwise_xor(d_src1, d_src2,d_dst);
 
         GPU_SANITY_CHECK(d_dst);
     }
@@ -1133,12 +874,7 @@ PERF_TEST_P(Sz_Depth, Core_BitwiseXorMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(
     {
         cv::Mat dst;
 
-        cv::bitwise_xor(src1, src2, dst);
-
-        TEST_CYCLE()
-        {
-            cv::bitwise_xor(src1, src2, dst);
-        }
+        TEST_CYCLE() cv::bitwise_xor(src1, src2,dst);
     }
 }
 
@@ -1163,12 +899,7 @@ PERF_TEST_P(Sz_Depth_Cn, Core_BitwiseXorScalar, Combine(GPU_TYPICAL_MAT_SIZES, V
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::bitwise_xor(d_src, s, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::bitwise_xor(d_src, s, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::bitwise_xor(d_src, s,d_dst);
 
         GPU_SANITY_CHECK(d_dst);
     }
@@ -1176,12 +907,7 @@ PERF_TEST_P(Sz_Depth_Cn, Core_BitwiseXorScalar, Combine(GPU_TYPICAL_MAT_SIZES, V
     {
         cv::Mat dst;
 
-        cv::bitwise_xor(src, s, dst);
-
-        TEST_CYCLE()
-        {
-            cv::bitwise_xor(src, s, dst);
-        }
+        TEST_CYCLE() cv::bitwise_xor(src, s,dst);
 
         CPU_SANITY_CHECK(dst);
     }
@@ -1208,18 +934,13 @@ PERF_TEST_P(Sz_Depth_Cn, Core_RShift, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::rshift(d_src, val, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::rshift(d_src, val, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::rshift(d_src, val,d_dst);
 
         GPU_SANITY_CHECK(d_dst);
     }
     else
     {
-        FAIL() << "No such CPU implementation analogy";
+        FAIL_NO_CPU();
     }
 }
 
@@ -1244,18 +965,13 @@ PERF_TEST_P(Sz_Depth_Cn, Core_LShift, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::lshift(d_src, val, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::lshift(d_src, val, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::lshift(d_src, val,d_dst);
 
         GPU_SANITY_CHECK(d_dst);
     }
     else
     {
-        FAIL() << "No such CPU implementation analogy";
+        FAIL_NO_CPU();
     }
 }
 
@@ -1279,12 +995,7 @@ PERF_TEST_P(Sz_Depth, Core_MinMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U,
         cv::gpu::GpuMat d_src2(src2);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::min(d_src1, d_src2, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::min(d_src1, d_src2, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::min(d_src1, d_src2,d_dst);
 
         GPU_SANITY_CHECK(d_dst);
     }
@@ -1292,12 +1003,7 @@ PERF_TEST_P(Sz_Depth, Core_MinMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U,
     {
         cv::Mat dst;
 
-        cv::min(src1, src2, dst);
-
-        TEST_CYCLE()
-        {
-            cv::min(src1, src2, dst);
-        }
+        TEST_CYCLE() cv::min(src1, src2,dst);
 
         CPU_SANITY_CHECK(dst);
     }
@@ -1321,12 +1027,7 @@ PERF_TEST_P(Sz_Depth, Core_MinScalar, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::min(d_src, val, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::min(d_src, val, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::min(d_src, val,d_dst);
 
         GPU_SANITY_CHECK(d_dst);
     }
@@ -1334,12 +1035,7 @@ PERF_TEST_P(Sz_Depth, Core_MinScalar, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
     {
         cv::Mat dst;
 
-        cv::min(src, val, dst);
-
-        TEST_CYCLE()
-        {
-            cv::min(src, val, dst);
-        }
+        TEST_CYCLE() cv::min(src, val,dst);
 
         CPU_SANITY_CHECK(dst);
     }
@@ -1365,12 +1061,7 @@ PERF_TEST_P(Sz_Depth, Core_MaxMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U,
         cv::gpu::GpuMat d_src2(src2);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::max(d_src1, d_src2, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::max(d_src1, d_src2, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::max(d_src1, d_src2,d_dst);
 
         GPU_SANITY_CHECK(d_dst);
     }
@@ -1378,12 +1069,7 @@ PERF_TEST_P(Sz_Depth, Core_MaxMat, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8U,
     {
         cv::Mat dst;
 
-        cv::max(src1, src2, dst);
-
-        TEST_CYCLE()
-        {
-            cv::max(src1, src2, dst);
-        }
+        TEST_CYCLE() cv::max(src1, src2,dst);
 
         CPU_SANITY_CHECK(dst);
     }
@@ -1407,12 +1093,7 @@ PERF_TEST_P(Sz_Depth, Core_MaxScalar, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::max(d_src, val, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::max(d_src, val, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::max(d_src, val,d_dst);
 
         GPU_SANITY_CHECK(d_dst);
     }
@@ -1420,12 +1101,7 @@ PERF_TEST_P(Sz_Depth, Core_MaxScalar, Combine(GPU_TYPICAL_MAT_SIZES, Values(CV_8
     {
         cv::Mat dst;
 
-        cv::max(src, val, dst);
-
-        TEST_CYCLE()
-        {
-            cv::max(src, val, dst);
-        }
+        TEST_CYCLE() cv::max(src, val,dst);
 
         CPU_SANITY_CHECK(dst);
     }
@@ -1459,12 +1135,7 @@ PERF_TEST_P(Sz_3Depth, Core_AddWeighted, Combine(
         cv::gpu::GpuMat d_src2(src2);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::addWeighted(d_src1, 0.5, d_src2, 0.5, 10.0, d_dst, dst_depth);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::addWeighted(d_src1, 0.5, d_src2, 0.5, 10.0, d_dst, dst_depth);
-        }
+        TEST_CYCLE() cv::gpu::addWeighted(d_src1, 0.5, d_src2, 0.5, 10.0, d_dst, dst_depth);
 
         GPU_SANITY_CHECK(d_dst);
     }
@@ -1472,12 +1143,7 @@ PERF_TEST_P(Sz_3Depth, Core_AddWeighted, Combine(
     {
         cv::Mat dst;
 
-        cv::addWeighted(src1, 0.5, src2, 0.5, 10.0, dst, dst_depth);
-
-        TEST_CYCLE()
-        {
-            cv::addWeighted(src1, 0.5, src2, 0.5, 10.0, dst, dst_depth);
-        }
+        TEST_CYCLE() cv::addWeighted(src1, 0.5, src2, 0.5, 10.0, dst, dst_depth);
 
         CPU_SANITY_CHECK(dst);
     }
@@ -1518,29 +1184,19 @@ PERF_TEST_P(Sz_Type_Flags, Core_GEMM, Combine(
         cv::gpu::GpuMat d_src3(src3);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::gemm(d_src1, d_src2, 1.0, d_src3, 1.0, d_dst, flags);
+        TEST_CYCLE() cv::gpu::gemm(d_src1, d_src2, 1.0, d_src3, 1.0, d_dst, flags);
 
-        TEST_CYCLE()
-        {
-            cv::gpu::gemm(d_src1, d_src2, 1.0, d_src3, 1.0, d_dst, flags);
-        }
-
-        GPU_SANITY_CHECK(d_dst);
+        GPU_SANITY_CHECK(d_dst, 1e-8);
     }
     else
     {
         cv::Mat dst;
 
-        cv::gemm(src1, src2, 1.0, src3, 1.0, dst, flags);
-
         declare.time(50.0);
 
-        TEST_CYCLE()
-        {
-            cv::gemm(src1, src2, 1.0, src3, 1.0, dst, flags);
-        }
+        TEST_CYCLE() cv::gemm(src1, src2, 1.0, src3, 1.0, dst, flags);
 
-        CPU_SANITY_CHECK(dst);
+        CPU_SANITY_CHECK(dst, 1e-8);
     }
 }
 
@@ -1562,12 +1218,7 @@ PERF_TEST_P(Sz_Type, Core_Transpose, Combine(
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::transpose(d_src, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::transpose(d_src, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::transpose(d_src,d_dst);
 
         GPU_SANITY_CHECK(d_dst);
     }
@@ -1575,12 +1226,7 @@ PERF_TEST_P(Sz_Type, Core_Transpose, Combine(
     {
         cv::Mat dst;
 
-        cv::transpose(src, dst);
-
-        TEST_CYCLE()
-        {
-            cv::transpose(src, dst);
-        }
+        TEST_CYCLE() cv::transpose(src,dst);
 
         CPU_SANITY_CHECK(dst);
     }
@@ -1616,12 +1262,7 @@ PERF_TEST_P(Sz_Depth_Cn_Code, Core_Flip, Combine(
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::flip(d_src, d_dst, flipCode);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::flip(d_src, d_dst, flipCode);
-        }
+        TEST_CYCLE() cv::gpu::flip(d_src, d_dst, flipCode);
 
         GPU_SANITY_CHECK(d_dst);
     }
@@ -1629,12 +1270,7 @@ PERF_TEST_P(Sz_Depth_Cn_Code, Core_Flip, Combine(
     {
         cv::Mat dst;
 
-        cv::flip(src, dst, flipCode);
-
-        TEST_CYCLE()
-        {
-            cv::flip(src, dst, flipCode);
-        }
+        TEST_CYCLE() cv::flip(src, dst, flipCode);
 
         CPU_SANITY_CHECK(dst);
     }
@@ -1661,12 +1297,7 @@ PERF_TEST_P(Sz_Type, Core_LutOneChannel, Combine(
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::LUT(d_src, lut, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::LUT(d_src, lut, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::LUT(d_src, lut,d_dst);
 
         GPU_SANITY_CHECK(d_dst);
     }
@@ -1674,12 +1305,7 @@ PERF_TEST_P(Sz_Type, Core_LutOneChannel, Combine(
     {
         cv::Mat dst;
 
-        cv::LUT(src, lut, dst);
-
-        TEST_CYCLE()
-        {
-            cv::LUT(src, lut, dst);
-        }
+        TEST_CYCLE() cv::LUT(src, lut, dst);
 
         CPU_SANITY_CHECK(dst);
     }
@@ -1706,12 +1332,7 @@ PERF_TEST_P(Sz_Type, Core_LutMultiChannel, Combine(
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::LUT(d_src, lut, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::LUT(d_src, lut, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::LUT(d_src, lut,d_dst);
 
         GPU_SANITY_CHECK(d_dst);
     }
@@ -1719,12 +1340,7 @@ PERF_TEST_P(Sz_Type, Core_LutMultiChannel, Combine(
     {
         cv::Mat dst;
 
-        cv::LUT(src, lut, dst);
-
-        TEST_CYCLE()
-        {
-            cv::LUT(src, lut, dst);
-        }
+        TEST_CYCLE() cv::LUT(src, lut, dst);
 
         CPU_SANITY_CHECK(dst);
     }
@@ -1745,14 +1361,9 @@ PERF_TEST_P(Sz, Core_MagnitudeComplex, GPU_TYPICAL_MAT_SIZES)
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::magnitude(d_src, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::magnitude(d_src, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::magnitude(d_src,d_dst);
 
-        GPU_SANITY_CHECK(d_dst);
+        GPU_SANITY_CHECK(d_dst, 1e-8);
     }
     else
     {
@@ -1761,14 +1372,9 @@ PERF_TEST_P(Sz, Core_MagnitudeComplex, GPU_TYPICAL_MAT_SIZES)
 
         cv::Mat dst;
 
-        cv::magnitude(xy[0], xy[1], dst);
+        TEST_CYCLE() cv::magnitude(xy[0], xy[1], dst);
 
-        TEST_CYCLE()
-        {
-            cv::magnitude(xy[0], xy[1], dst);
-        }
-
-        CPU_SANITY_CHECK(dst);
+        CPU_SANITY_CHECK(dst, 1e-8);
     }
 }
 
@@ -1787,18 +1393,13 @@ PERF_TEST_P(Sz, Core_MagnitudeSqrComplex, GPU_TYPICAL_MAT_SIZES)
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::magnitudeSqr(d_src, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::magnitudeSqr(d_src, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::magnitudeSqr(d_src, d_dst);
 
         GPU_SANITY_CHECK(d_dst);
     }
     else
     {
-        FAIL() << "No such CPU implementation analogy";
+        FAIL_NO_CPU();
     }
 }
 
@@ -1821,27 +1422,17 @@ PERF_TEST_P(Sz, Core_Magnitude, GPU_TYPICAL_MAT_SIZES)
         cv::gpu::GpuMat d_src2(src2);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::magnitude(d_src1, d_src2, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::magnitude(d_src1, d_src2, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::magnitude(d_src1, d_src2, d_dst);
 
-        GPU_SANITY_CHECK(d_dst);
+        GPU_SANITY_CHECK(d_dst, 1e-8);
     }
     else
     {
         cv::Mat dst;
 
-        cv::magnitude(src1, src2, dst);
+        TEST_CYCLE() cv::magnitude(src1, src2, dst);
 
-        TEST_CYCLE()
-        {
-            cv::magnitude(src1, src2, dst);
-        }
-
-        CPU_SANITY_CHECK(dst);
+        CPU_SANITY_CHECK(dst, 1e-8);
 
     }
 }
@@ -1865,18 +1456,13 @@ PERF_TEST_P(Sz, Core_MagnitudeSqr, GPU_TYPICAL_MAT_SIZES)
         cv::gpu::GpuMat d_src2(src2);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::magnitudeSqr(d_src1, d_src2, d_dst);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::magnitudeSqr(d_src1, d_src2, d_dst);
-        }
+        TEST_CYCLE() cv::gpu::magnitudeSqr(d_src1, d_src2, d_dst);
 
         GPU_SANITY_CHECK(d_dst);
     }
     else
     {
-        FAIL() << "No such CPU implementation analogy";
+        FAIL_NO_CPU();
     }
 }
 
@@ -1902,27 +1488,17 @@ PERF_TEST_P(Sz_AngleInDegrees, Core_Phase, Combine(GPU_TYPICAL_MAT_SIZES, Bool()
         cv::gpu::GpuMat d_src2(src2);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::phase(d_src1, d_src2, d_dst, angleInDegrees);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::phase(d_src1, d_src2, d_dst, angleInDegrees);
-        }
+        TEST_CYCLE() cv::gpu::phase(d_src1, d_src2, d_dst, angleInDegrees);
 
-        GPU_SANITY_CHECK(d_dst);
+        GPU_SANITY_CHECK(d_dst, 1e-8);
     }
     else
     {
         cv::Mat dst;
 
-        cv::phase(src1, src2, dst, angleInDegrees);
+        TEST_CYCLE() cv::phase(src1, src2, dst, angleInDegrees);
 
-        TEST_CYCLE()
-        {
-            cv::phase(src1, src2, dst, angleInDegrees);
-        }
-
-        CPU_SANITY_CHECK(dst);
+        CPU_SANITY_CHECK(dst, 1e-8);
     }
 }
 
@@ -1947,15 +1523,10 @@ PERF_TEST_P(Sz_AngleInDegrees, Core_CartToPolar, Combine(GPU_TYPICAL_MAT_SIZES,
         cv::gpu::GpuMat d_magnitude;
         cv::gpu::GpuMat d_angle;
 
-        cv::gpu::cartToPolar(d_src1, d_src2, d_magnitude, d_angle, angleInDegrees);
+        TEST_CYCLE() cv::gpu::cartToPolar(d_src1, d_src2, d_magnitude, d_angle, angleInDegrees);
 
-        TEST_CYCLE()
-        {
-            cv::gpu::cartToPolar(d_src1, d_src2, d_magnitude, d_angle, angleInDegrees);
-        }
-
-        GPU_SANITY_CHECK(d_magnitude);
-        GPU_SANITY_CHECK(d_angle);
+        GPU_SANITY_CHECK(d_magnitude, 1e-8);
+        GPU_SANITY_CHECK(d_angle, 1e-8);
 
     }
     else
@@ -1963,15 +1534,10 @@ PERF_TEST_P(Sz_AngleInDegrees, Core_CartToPolar, Combine(GPU_TYPICAL_MAT_SIZES,
         cv::Mat magnitude;
         cv::Mat angle;
 
-        cv::cartToPolar(src1, src2, magnitude, angle, angleInDegrees);
-
-        TEST_CYCLE()
-        {
-            cv::cartToPolar(src1, src2, magnitude, angle, angleInDegrees);
-        }
+        TEST_CYCLE() cv::cartToPolar(src1, src2, magnitude, angle, angleInDegrees);
 
-        CPU_SANITY_CHECK(magnitude);
-        CPU_SANITY_CHECK(angle);
+        CPU_SANITY_CHECK(magnitude, 1e-8);
+        CPU_SANITY_CHECK(angle, 1e-8);
     }
 }
 
@@ -1996,30 +1562,20 @@ PERF_TEST_P(Sz_AngleInDegrees, Core_PolarToCart, Combine(GPU_TYPICAL_MAT_SIZES,
         cv::gpu::GpuMat d_x;
         cv::gpu::GpuMat d_y;
 
-        cv::gpu::polarToCart(d_magnitude, d_angle, d_x, d_y, angleInDegrees);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::polarToCart(d_magnitude, d_angle, d_x, d_y, angleInDegrees);
-        }
+        TEST_CYCLE() cv::gpu::polarToCart(d_magnitude, d_angle, d_x, d_y, angleInDegrees);
 
-        GPU_SANITY_CHECK(d_x);
-        GPU_SANITY_CHECK(d_y);
+        GPU_SANITY_CHECK(d_x, 1e-8);
+        GPU_SANITY_CHECK(d_y, 1e-8);
     }
     else
     {
         cv::Mat x;
         cv::Mat y;
 
-        cv::polarToCart(magnitude, angle, x, y, angleInDegrees);
+        TEST_CYCLE() cv::polarToCart(magnitude, angle, x, y, angleInDegrees);
 
-        TEST_CYCLE()
-        {
-            cv::polarToCart(magnitude, angle, x, y, angleInDegrees);
-        }
-
-        CPU_SANITY_CHECK(x);
-        CPU_SANITY_CHECK(y);
+        CPU_SANITY_CHECK(x, 1e-8);
+        CPU_SANITY_CHECK(y, 1e-8);
     }
 }
 
@@ -2041,24 +1597,14 @@ PERF_TEST_P(Sz, Core_MeanStdDev, GPU_TYPICAL_MAT_SIZES)
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_buf;
 
-        cv::gpu::meanStdDev(d_src, mean, stddev, d_buf);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::meanStdDev(d_src, mean, stddev, d_buf);
-        }
+        TEST_CYCLE() cv::gpu::meanStdDev(d_src, mean, stddev, d_buf);
     }
     else
     {
-        cv::meanStdDev(src, mean, stddev);
-
-        TEST_CYCLE()
-        {
-            cv::meanStdDev(src, mean, stddev);
-        }
+        TEST_CYCLE() cv::meanStdDev(src, mean, stddev);
     }
 
-    GPU_SANITY_CHECK(stddev);
+    GPU_SANITY_CHECK(stddev, 1e-6);
 }
 
 //////////////////////////////////////////////////////////////////////
@@ -2085,24 +1631,14 @@ PERF_TEST_P(Sz_Depth_Norm, Core_Norm, Combine(
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_buf;
 
-        dst = cv::gpu::norm(d_src, normType, d_buf);
-
-        TEST_CYCLE()
-        {
-            dst = cv::gpu::norm(d_src, normType, d_buf);
-        }
+        TEST_CYCLE() dst = cv::gpu::norm(d_src, normType, d_buf);
     }
     else
     {
-        dst = cv::norm(src, normType);
-
-        TEST_CYCLE()
-        {
-            dst = cv::norm(src, normType);
-        }
+        TEST_CYCLE() dst = cv::norm(src, normType);
     }
 
-    SANITY_CHECK(dst);
+    SANITY_CHECK(dst, 1e-6);
 }
 
 //////////////////////////////////////////////////////////////////////
@@ -2130,25 +1666,15 @@ PERF_TEST_P(Sz_Norm, Core_NormDiff, Combine(
         cv::gpu::GpuMat d_src1(src1);
         cv::gpu::GpuMat d_src2(src2);
 
-        dst = cv::gpu::norm(d_src1, d_src2, normType);
-
-        TEST_CYCLE()
-        {
-            dst = cv::gpu::norm(d_src1, d_src2, normType);
-        }
+        TEST_CYCLE() dst = cv::gpu::norm(d_src1, d_src2, normType);
 
     }
     else
     {
-        dst = cv::norm(src1, src2, normType);
-
-        TEST_CYCLE()
-        {
-            dst = cv::norm(src1, src2, normType);
-        }
+        TEST_CYCLE() dst = cv::norm(src1, src2, normType);
     }
 
-    SANITY_CHECK(dst);
+    SANITY_CHECK(dst, 1e-6);
 }
 
 //////////////////////////////////////////////////////////////////////
@@ -2175,24 +1701,14 @@ PERF_TEST_P(Sz_Depth_Cn, Core_Sum, Combine(
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_buf;
 
-        dst = cv::gpu::sum(d_src, d_buf);
-
-        TEST_CYCLE()
-        {
-            dst = cv::gpu::sum(d_src, d_buf);
-        }
+        TEST_CYCLE() dst = cv::gpu::sum(d_src, d_buf);
     }
     else
     {
-        dst = cv::sum(src);
-
-        TEST_CYCLE()
-        {
-            dst = cv::sum(src);
-        }
+        TEST_CYCLE() dst = cv::sum(src);
     }
 
-    SANITY_CHECK(dst);
+    SANITY_CHECK(dst, 1e-6);
 }
 
 //////////////////////////////////////////////////////////////////////
@@ -2219,18 +1735,13 @@ PERF_TEST_P(Sz_Depth_Cn, Core_SumAbs, Combine(
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_buf;
 
-        dst = cv::gpu::absSum(d_src, d_buf);
+        TEST_CYCLE() dst = cv::gpu::absSum(d_src, d_buf);
 
-        TEST_CYCLE()
-        {
-            dst = cv::gpu::absSum(d_src, d_buf);
-        }
-
-        SANITY_CHECK(dst);
+        SANITY_CHECK(dst, 1e-6);
     }
     else
     {
-        FAIL() << "No such CPU implementation analogy";
+        FAIL_NO_CPU();
     }
 }
 
@@ -2258,18 +1769,13 @@ PERF_TEST_P(Sz_Depth_Cn, Core_SumSqr, Combine(
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_buf;
 
-        dst = cv::gpu::sqrSum(d_src, d_buf);
-
-        TEST_CYCLE()
-        {
-            dst = cv::gpu::sqrSum(d_src, d_buf);
-        }
+        TEST_CYCLE() dst = cv::gpu::sqrSum(d_src, d_buf);
 
-        SANITY_CHECK(dst);
+        SANITY_CHECK(dst, 1e-6);
     }
     else
     {
-        FAIL() << "No such CPU implementation analogy";
+        FAIL_NO_CPU();
     }
 }
 
@@ -2293,19 +1799,14 @@ PERF_TEST_P(Sz_Depth, Core_MinMax, Combine(
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_buf;
 
-        cv::gpu::minMax(d_src, &minVal, &maxVal, cv::gpu::GpuMat(), d_buf);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::minMax(d_src, &minVal, &maxVal, cv::gpu::GpuMat(), d_buf);
-        }
+        TEST_CYCLE() cv::gpu::minMax(d_src, &minVal, &maxVal, cv::gpu::GpuMat(), d_buf);
 
         SANITY_CHECK(minVal);
         SANITY_CHECK(maxVal);
     }
     else
     {
-        FAIL() << "No such CPU implementation analogy";
+        FAIL_NO_CPU();
     }
 }
 
@@ -2330,25 +1831,15 @@ PERF_TEST_P(Sz_Depth, Core_MinMaxLoc, Combine(
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_valbuf, d_locbuf;
 
-        cv::gpu::minMaxLoc(d_src, &minVal, &maxVal, &minLoc, &maxLoc, cv::gpu::GpuMat(), d_valbuf, d_locbuf);
-
-        TEST_CYCLE()
-        {
-            cv::gpu::minMaxLoc(d_src, &minVal, &maxVal, &minLoc, &maxLoc, cv::gpu::GpuMat(), d_valbuf, d_locbuf);
-        }
+        TEST_CYCLE() cv::gpu::minMaxLoc(d_src, &minVal, &maxVal, &minLoc, &maxLoc, cv::gpu::GpuMat(), d_valbuf, d_locbuf);
     }
     else
     {
-        cv::minMaxLoc(src, &minVal, &maxVal, &minLoc, &maxLoc);
-
-        TEST_CYCLE()
-        {
-            cv::minMaxLoc(src, &minVal, &maxVal, &minLoc, &maxLoc);
-        }
+        TEST_CYCLE() cv::minMaxLoc(src, &minVal, &maxVal, &minLoc, &maxLoc);
     }
 
-    SANITY_CHECK(minVal);
-    SANITY_CHECK(maxVal);
+    SANITY_CHECK(minVal, 1e-12);
+    SANITY_CHECK(maxVal, 1e-12);
 
     // unsupported by peft system
     //SANITY_CHECK(minLoc);
@@ -2375,21 +1866,11 @@ PERF_TEST_P(Sz_Depth, Core_CountNonZero, Combine(
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_buf;
 
-        dst = cv::gpu::countNonZero(d_src, d_buf);
-
-        TEST_CYCLE()
-        {
-            dst = cv::gpu::countNonZero(d_src, d_buf);
-        }
+        TEST_CYCLE() dst = cv::gpu::countNonZero(d_src, d_buf);
     }
     else
     {
-        dst = cv::countNonZero(src);
-
-        TEST_CYCLE()
-        {
-            dst = cv::countNonZero(src);
-        }
+        TEST_CYCLE() dst = cv::countNonZero(src);
     }
 
     SANITY_CHECK(dst);
@@ -2430,25 +1911,17 @@ PERF_TEST_P(Sz_Depth_Cn_Code_Dim, Core_Reduce, Combine(
         cv::gpu::GpuMat d_src(src);
         cv::gpu::GpuMat d_dst;
 
-        cv::gpu::reduce(d_src, d_dst, dim, reduceOp);
+        TEST_CYCLE() cv::gpu::reduce(d_src, d_dst, dim, reduceOp);
 
-        TEST_CYCLE()
-        {
-            cv::gpu::reduce(d_src, d_dst, dim, reduceOp);
-        }
-
-        GPU_SANITY_CHECK(d_dst);
+        GPU_SANITY_CHECK(d_dst, 1);
     }
     else
     {
         cv::Mat dst;
 
-        cv::reduce(src, dst, dim, reduceOp);
+        TEST_CYCLE() cv::reduce(src, dst, dim, reduceOp);
 
-        TEST_CYCLE()
-        {
-            cv::reduce(src, dst, dim, reduceOp);
-        }
+        CPU_SANITY_CHECK(dst, 1);
     }
 }