The right signs give the right results

This commit is contained in:
hoangviet1985 2015-11-10 16:18:07 -05:00
parent 57829d81ea
commit 6441620f45

View File

@ -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;