Commit f461d0cb authored by Viet Dinh's avatar Viet Dinh

fix compile errors

some functions were not found in namespace std
parent 09b01931
...@@ -2546,14 +2546,14 @@ double cv::solvePoly( InputArray _coeffs0, OutputArray _roots0, int maxIters ) ...@@ -2546,14 +2546,14 @@ double cv::solvePoly( InputArray _coeffs0, OutputArray _roots0, int maxIters )
if( num_same_root % 2 != 0){ if( num_same_root % 2 != 0){
Mat cube_coefs(4, 1, CV_32FC1); Mat cube_coefs(4, 1, CV_32FC1);
Mat cube_roots(3, 1, CV_32FC2); Mat cube_roots(3, 1, CV_32FC2);
cube_coefs.at<float>(3) = -(std::powf(old_num_re, 3)); cube_coefs.at<float>(3) = -(std::pow(old_num_re, 3));
cube_coefs.at<float>(2) = -(15*std::powf(old_num_re, 2) + 27*std::powf(old_num_im, 2)); cube_coefs.at<float>(2) = -(15*std::pow(old_num_re, 2) + 27*std::pow(old_num_im, 2));
cube_coefs.at<float>(1) = -48*old_num_re; cube_coefs.at<float>(1) = -48*old_num_re;
cube_coefs.at<float>(0) = 64; cube_coefs.at<float>(0) = 64;
cv::solveCubic(cube_coefs, cube_roots); cv::solveCubic(cube_coefs, cube_roots);
num.re = std::cbrt(cube_roots.at<float>(0)); num.re = cv::cubeRoot(cube_roots.at<float>(0));
num.im = std::sqrtf(std::powf(num.re, 2) / 3 - old_num_re / (3*num.re)); num.im = std::sqrt(std::pow(num.re, 2) / 3 - old_num_re / (3*num.re));
} }
} }
......
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