The right signs give the right results

pull/5650/head
hoangviet1985 9 years ago
parent 57829d81ea
commit 6441620f45
  1. 8
      modules/core/src/mathfuncs.cpp

@ -2440,13 +2440,13 @@ int cv::solveCubic( InputArray _coeffs, OutputArray _roots )
{
if(R >= 0)
{
x0 = pow(R/4, 1./3) - a1/3;
x1 = -pow(2*R, 1./3) - a1/3;
x0 = -2*pow(R, 1./3) - a1/3;
x1 = pow(R, 1./3) - a1/3;
}
else
{
x0 = -pow(-R/4, 1./3) - a1/3;
x1 = pow(-2*R, 1./3) - a1/3;
x0 = 2*pow(-R, 1./3) - a1/3;
x1 = -pow(-R, 1./3) - a1/3;
}
x2 = 0;
n = x0 == x1 ? 1 : 2;

Loading…
Cancel
Save