fixed several GCC warnings; fixed crash in kmeans test (because of cv::swap(Mat&a, Mat&b)) (ticket #616)
This commit is contained in:
parent
b5f366fb70
commit
ced8192174
@ -2776,12 +2776,9 @@ public:
|
|||||||
MatCommaInitializer_(Mat_<_Tp>* _m);
|
MatCommaInitializer_(Mat_<_Tp>* _m);
|
||||||
//! the operator that takes the next value and put it to the matrix
|
//! the operator that takes the next value and put it to the matrix
|
||||||
template<typename T2> MatCommaInitializer_<_Tp>& operator , (T2 v);
|
template<typename T2> MatCommaInitializer_<_Tp>& operator , (T2 v);
|
||||||
//! the conversion operator
|
|
||||||
//operator Mat_<_Tp>() const;
|
|
||||||
//! another form of conversion operator
|
//! another form of conversion operator
|
||||||
Mat_<_Tp> operator *() const;
|
Mat_<_Tp> operator *() const;
|
||||||
operator Mat_<_Tp>() const;
|
operator Mat_<_Tp>() const;
|
||||||
virtual void assignTo(Mat& m, int type=-1) const;
|
|
||||||
protected:
|
protected:
|
||||||
MatIterator_<_Tp> it;
|
MatIterator_<_Tp> it;
|
||||||
};
|
};
|
||||||
|
@ -1938,12 +1938,6 @@ template<typename _Tp> inline MatCommaInitializer_<_Tp>::operator Mat_<_Tp>() co
|
|||||||
return Mat_<_Tp>(*this->it.m);
|
return Mat_<_Tp>(*this->it.m);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename _Tp> inline void
|
|
||||||
MatCommaInitializer_<_Tp>::assignTo(Mat& m, int type) const
|
|
||||||
{
|
|
||||||
Mat_<_Tp>(*this).assignTo(m, type);
|
|
||||||
}
|
|
||||||
|
|
||||||
template<typename _Tp, typename T2> static inline MatCommaInitializer_<_Tp>
|
template<typename _Tp, typename T2> static inline MatCommaInitializer_<_Tp>
|
||||||
operator << (const Mat_<_Tp>& m, T2 val)
|
operator << (const Mat_<_Tp>& m, T2 val)
|
||||||
{
|
{
|
||||||
|
@ -50,11 +50,26 @@ namespace cv {
|
|||||||
|
|
||||||
void swap( Mat& a, Mat& b )
|
void swap( Mat& a, Mat& b )
|
||||||
{
|
{
|
||||||
int *ap = (int*)&a, *bp = (int*)&b;
|
/*int *ap = (int*)&a, *bp = (int*)&b;
|
||||||
size_t i, n = sizeof(Mat)/sizeof(ap[0]);
|
size_t i, n = sizeof(Mat)/sizeof(ap[0]);
|
||||||
|
|
||||||
for( i = 0; i < n; i++ )
|
for( i = 0; i < n; i++ )
|
||||||
std::swap(ap[i], bp[i]);
|
std::swap(ap[i], bp[i]);*/
|
||||||
|
std::swap(a.flags, b.flags);
|
||||||
|
std::swap(a.dims, b.dims);
|
||||||
|
std::swap(a.rows, b.rows);
|
||||||
|
std::swap(a.cols, b.cols);
|
||||||
|
std::swap(a.data, b.data);
|
||||||
|
std::swap(a.refcount, b.refcount);
|
||||||
|
std::swap(a.datastart, b.datastart);
|
||||||
|
std::swap(a.dataend, b.dataend);
|
||||||
|
std::swap(a.datalimit, b.datalimit);
|
||||||
|
std::swap(a.allocator, b.allocator);
|
||||||
|
|
||||||
|
std::swap(a.size.p, b.size.p);
|
||||||
|
std::swap(a.step.p, b.step.p);
|
||||||
|
std::swap(a.step.buf[0], b.step.buf[0]);
|
||||||
|
std::swap(a.step.buf[1], b.step.buf[1]);
|
||||||
|
|
||||||
if( a.step.p == b.step.buf )
|
if( a.step.p == b.step.buf )
|
||||||
{
|
{
|
||||||
|
@ -2325,7 +2325,7 @@ public:
|
|||||||
|
|
||||||
virtual void train();
|
virtual void train();
|
||||||
|
|
||||||
virtual bool supportMask() { matcher->supportMask(); }
|
virtual bool supportMask() { return matcher->supportMask(); }
|
||||||
|
|
||||||
virtual void read( const FileNode& fn );
|
virtual void read( const FileNode& fn );
|
||||||
virtual void write( FileStorage& fs ) const;
|
virtual void write( FileStorage& fs ) const;
|
||||||
|
@ -45,7 +45,7 @@ CvTS test_system("ml");
|
|||||||
|
|
||||||
const char* blacklist[] =
|
const char* blacklist[] =
|
||||||
{
|
{
|
||||||
"kmeans", //ticket 616
|
//"kmeans", //ticket 616
|
||||||
"artrees", //ticket 460
|
"artrees", //ticket 460
|
||||||
"aboost", //ticket 474
|
"aboost", //ticket 474
|
||||||
0
|
0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user