Changed / for Matx to Matx::div, for symmetry with Matx::mul.

This commit is contained in:
Roman Donchenko 2013-07-16 12:25:26 +04:00
parent 3443fd85cd
commit 924fc070f0
2 changed files with 10 additions and 7 deletions

View File

@ -163,6 +163,9 @@ public:
//! multiply two matrices element-wise //! multiply two matrices element-wise
Matx<_Tp, m, n> mul(const Matx<_Tp, m, n>& a) const; Matx<_Tp, m, n> mul(const Matx<_Tp, m, n>& a) const;
//! divide two matrices element-wise
Matx<_Tp, m, n> div(const Matx<_Tp, m, n>& a) const;
//! element access //! element access
const _Tp& operator ()(int i, int j) const; const _Tp& operator ()(int i, int j) const;
_Tp& operator ()(int i, int j); _Tp& operator ()(int i, int j);
@ -782,6 +785,12 @@ Matx<_Tp, m, n> Matx<_Tp, m, n>::mul(const Matx<_Tp, m, n>& a) const
return Matx<_Tp, m, n>(*this, a, Matx_MulOp()); return Matx<_Tp, m, n>(*this, a, Matx_MulOp());
} }
template<typename _Tp, int m, int n> inline
Matx<_Tp, m, n> Matx<_Tp, m, n>::div(const Matx<_Tp, m, n>& a) const
{
return Matx<_Tp, m, n>(*this, a, Matx_DivOp());
}
template<typename _Tp, int m, int n> inline template<typename _Tp, int m, int n> inline
Matx<_Tp, n, m> Matx<_Tp, m, n>::t() const Matx<_Tp, n, m> Matx<_Tp, m, n>::t() const
{ {
@ -1171,12 +1180,6 @@ Vec<_Tp, m> operator * (const Matx<_Tp, m, n>& a, const Vec<_Tp, n>& b)
return (const Vec<_Tp, m>&)(c); return (const Vec<_Tp, m>&)(c);
} }
template<typename _Tp, int m, int n> static inline
Matx<_Tp, m, n> operator / (const Matx<_Tp, m, n>& a, const Matx<_Tp, m, n>& b)
{
return Matx<_Tp, m, n>(a, b, Matx_DivOp());
}
template<typename _Tp, int m, int n> static inline template<typename _Tp, int m, int n> static inline
bool operator == (const Matx<_Tp, m, n>& a, const Matx<_Tp, m, n>& b) bool operator == (const Matx<_Tp, m, n>& a, const Matx<_Tp, m, n>& b)
{ {

View File

@ -899,7 +899,7 @@ bool CV_OperationsTest::TestMatxElementwiseDivison()
Matx22f mat(2, 4, 6, 8); Matx22f mat(2, 4, 6, 8);
Matx22f mat2(2, 2, 2, 2); Matx22f mat2(2, 2, 2, 2);
Matx22f res = mat / mat2; Matx22f res = mat.div(mat2);
if(res(0, 0) != 1.0) throw test_excep(); if(res(0, 0) != 1.0) throw test_excep();
if(res(0, 1) != 2.0) throw test_excep(); if(res(0, 1) != 2.0) throw test_excep();