| 1689 | |
| 1690 | |
| 1691 | CV_IMPL int |
| 1692 | cvSolve( const CvArr* Aarr, const CvArr* barr, CvArr* xarr, int method ) |
| 1693 | { |
| 1694 | cv::Mat A = cv::cvarrToMat(Aarr), b = cv::cvarrToMat(barr), x = cv::cvarrToMat(xarr); |
| 1695 | |
| 1696 | CV_Assert( A.type() == x.type() && A.cols == x.rows && x.cols == b.cols ); |
| 1697 | bool is_normal = (method & CV_NORMAL) != 0; |
| 1698 | method &= ~CV_NORMAL; |
| 1699 | return cv::solve( A, b, x, (method == CV_CHOLESKY ? cv::DECOMP_CHOLESKY : |
| 1700 | method == CV_SVD ? cv::DECOMP_SVD : |
| 1701 | method == CV_SVD_SYM ? cv::DECOMP_EIG : |
| 1702 | A.rows > A.cols ? cv::DECOMP_QR : cv::DECOMP_LU) + (is_normal ? cv::DECOMP_NORMAL : 0) ); |
| 1703 | } |
| 1704 | |
| 1705 | |
| 1706 | CV_IMPL void |
no test coverage detected