Commit 8db53c17 authored by Roman Donchenko's avatar Roman Donchenko Committed by OpenCV Buildbot

Merge pull request #1883 from philippefoubert:branch_matx_inv

parents 0dfa188c 22ad4873
...@@ -153,8 +153,8 @@ public: ...@@ -153,8 +153,8 @@ public:
//! transpose the matrix //! transpose the matrix
Matx<_Tp, n, m> t() const; Matx<_Tp, n, m> t() const;
//! invert matrix the matrix //! invert the matrix
Matx<_Tp, n, m> inv(int method=DECOMP_LU) const; Matx<_Tp, n, m> inv(int method=DECOMP_LU, bool *p_is_ok = NULL) const;
//! solve linear system //! solve linear system
template<int l> Matx<_Tp, n, l> solve(const Matx<_Tp, m, l>& rhs, int flags=DECOMP_LU) const; template<int l> Matx<_Tp, n, l> solve(const Matx<_Tp, m, l>& rhs, int flags=DECOMP_LU) const;
......
...@@ -186,7 +186,7 @@ Matx<_Tp,m,n> Matx<_Tp,m,n>::randn(_Tp a, _Tp b) ...@@ -186,7 +186,7 @@ Matx<_Tp,m,n> Matx<_Tp,m,n>::randn(_Tp a, _Tp b)
} }
template<typename _Tp, int m, int n> inline template<typename _Tp, int m, int n> inline
Matx<_Tp, n, m> Matx<_Tp, m, n>::inv(int method) const Matx<_Tp, n, m> Matx<_Tp, m, n>::inv(int method, bool *p_is_ok /*= NULL*/) const
{ {
Matx<_Tp, n, m> b; Matx<_Tp, n, m> b;
bool ok; bool ok;
...@@ -197,6 +197,7 @@ Matx<_Tp, n, m> Matx<_Tp, m, n>::inv(int method) const ...@@ -197,6 +197,7 @@ Matx<_Tp, n, m> Matx<_Tp, m, n>::inv(int method) const
Mat A(*this, false), B(b, false); Mat A(*this, false), B(b, false);
ok = (invert(A, B, method) != 0); ok = (invert(A, B, method) != 0);
} }
if( NULL != p_is_ok ) { *p_is_ok = ok; }
return ok ? b : Matx<_Tp, n, m>::zeros(); return ok ? b : Matx<_Tp, n, m>::zeros();
} }
......
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