Реферат: Разработка библиотечных средств
(*this)(i+M,j+N)=A(i,j);
return *this;
}
template <class VARTYPE> // извлечение
Matrix<VARTYPE> Matrix<VARTYPE>::extract(dim LM, dim LN, dim M, dim N)
{
if (M+LM>m || N+LN>n) ERROR_MATRIX(7);
Matrix<VARTYPE> A(LM,LN);
for(int i=0, j; i<LM; i++)
for(j=0; j<LN; j++)
A(i,j)=(*this)(i+M,j+N);
return A;
}
template <class VARTYPE>
VARTYPE& Matrix<VARTYPE>::operator() (dim M, dim N) const
{ return *(matr+n*M+N); }
template <class VARTYPE>
Matrix<VARTYPE> operator+(const Matrix<VARTYPE> &A, const Matrix<VARTYPE>&B)
{
Matrix<VARTYPE> C=A;
for(int i=0,j; i<A.m; i++)
for(j=0; j<A.n; j++)
C(i,j)+=B(i,j);
return C;
}
template <class VARTYPE>
Matrix<VARTYPE> operator-(const Matrix<VARTYPE> &A, const Matrix<VARTYPE> &B)
{
Matrix<VARTYPE> C=A;