Commit 7bceef71 authored by Alexander Alekhin's avatar Alexander Alekhin

test: fix mulSpectrums error tolerance

parent 26fbaada
...@@ -787,9 +787,7 @@ public: ...@@ -787,9 +787,7 @@ public:
protected: protected:
void run_func(); void run_func();
void prepare_to_validation( int test_case_idx ); void prepare_to_validation( int test_case_idx );
#if defined(__aarch64__) && defined(NDEBUG)
double get_success_error_level( int test_case_idx, int i, int j ); double get_success_error_level( int test_case_idx, int i, int j );
#endif
}; };
...@@ -797,31 +795,19 @@ CxCore_MulSpectrumsTest::CxCore_MulSpectrumsTest() : CxCore_DXTBaseTest( true, t ...@@ -797,31 +795,19 @@ CxCore_MulSpectrumsTest::CxCore_MulSpectrumsTest() : CxCore_DXTBaseTest( true, t
{ {
} }
#if defined(__aarch64__) && defined(NDEBUG)
double CxCore_MulSpectrumsTest::get_success_error_level( int test_case_idx, int i, int j ) double CxCore_MulSpectrumsTest::get_success_error_level( int test_case_idx, int i, int j )
{ {
(void)test_case_idx;
CV_Assert(i == OUTPUT);
CV_Assert(j == 0);
int elem_depth = CV_MAT_DEPTH(cvGetElemType(test_array[i][j])); int elem_depth = CV_MAT_DEPTH(cvGetElemType(test_array[i][j]));
if( elem_depth <= CV_32F ) CV_Assert(elem_depth == CV_32F || elem_depth == CV_64F);
{
return ArrayTest::get_success_error_level( test_case_idx, i, j ); element_wise_relative_error = false;
} double maxInputValue = 1000; // ArrayTest::get_minmax_bounds
switch( test_case_idx ) double err = 8 * maxInputValue; // result = A*B + C*D
{ return (elem_depth == CV_32F ? FLT_EPSILON : DBL_EPSILON) * err;
// Usual threshold is too strict for these test cases due to the difference of fmsub and fsub
case 399:
case 420:
return DBL_EPSILON * 20000;
case 65:
case 161:
case 287:
case 351:
case 458:
return DBL_EPSILON * 10000;
default:
return ArrayTest::get_success_error_level( test_case_idx, i, j );
}
} }
#endif
void CxCore_MulSpectrumsTest::run_func() void CxCore_MulSpectrumsTest::run_func()
{ {
......
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