inline UMatrix2D<T>& UMatrix2D<T>::operator = (UMatrix2D<T>& M) { #ifdef _SAFE_ACCESS_ CheckLocker cl1(GetLocker()); CheckLocker cl2(M.GetLocker()); #endif //_SAFE_ACCESS_ nX = M.GetX(); nY = M.GetY(); if(mt == MXT_MEM) { if(Ptr != NULL) #ifdef __ICC _mm_free(Ptr); #else free(Ptr); #endif //__ICC #ifdef __ICC Ptr = (T*)(_mm_malloc(sizeof(T)*nX*nY,_ALIGN)); #else Ptr = (T*)(malloc(sizeof(T)*nX*nY)); #endif memcpy(Ptr,M.GetMatrixPtr(),sizeof(T)*nX*nY); } else { Ptr = M.GetMatrixPtr(); } ms = M.GetMatrixState(); return *this; }