File tree Expand file tree Collapse file tree 1 file changed +6
-0
lines changed Expand file tree Collapse file tree 1 file changed +6
-0
lines changed Original file line number Diff line number Diff line change @@ -45,7 +45,13 @@ void solveQuartic(const double *factors, double *realRoots) {
45
45
complex <double > sqrt_2m = sqrt (static_cast <complex <double > >(-2 * p4 / 3 + t));
46
46
double B_4A = -a3 / (4 * a4);
47
47
double complex1 = 4 * p4 / 3 + t;
48
+ #if defined(__clang__) && defined(__arm__) && __clang_major__ == 3 && __clang_minor__ <= 7 && !defined(__ANDROID__)
49
+ // details: https://github.com/opencv/opencv/issues/11056
50
+ complex <double > complex2 = 2 * q4;
51
+ complex2 = complex <double >(complex2.real () / sqrt_2m.real (), 0 );
52
+ #else
48
53
complex <double > complex2 = 2 * q4 / sqrt_2m;
54
+ #endif
49
55
double sqrt_2m_rh = sqrt_2m.real () / 2 ;
50
56
double sqrt1 = sqrt (-(complex1 + complex2)).real () / 2 ;
51
57
realRoots[0 ] = B_4A + sqrt_2m_rh + sqrt1;
You can’t perform that action at this time.
0 commit comments