20 #ifndef SELDON_FILE_SUBMATRIX_BASE_INLINE_CXX
23 #include "SubMatrix_Base.hxx"
41 template <
class T,
class Prop,
class M,
class Allocator>
44 Matrix_Base<T, Allocator>(row_list.GetLength(), column_list.GetLength()),
45 matrix_(&A), row_list_(row_list), column_list_(column_list)
56 template <
class T,
class Prop,
class M,
class Allocator>
74 template <
class T,
class Prop,
class M,
class Allocator>
75 inline typename SubMatrix_Base<T, Prop, M, Allocator>::access_type
78 return (*this->matrix_)(this->row_list_(i), this->column_list_(j));
89 template <
class T,
class Prop,
class M,
class Allocator>
90 inline typename SubMatrix_Base<T, Prop, M, Allocator>::const_access_type
93 return (*this->matrix_)(this->row_list_(i), this->column_list_(j));
104 template <
class T,
class Prop,
class M,
class Allocator>
105 inline typename SubMatrix_Base<T, Prop, M, Allocator>::entry_type&
108 return this->matrix_->Val(this->row_list_(i), this->column_list_(j));
119 template <
class T,
class Prop,
class M,
class Allocator>
120 inline const typename SubMatrix_Base<T, Prop, M, Allocator>::entry_type&
123 return this->matrix_->Val(this->row_list_(i), this->column_list_(j));
136 template <
class T,
class Prop,
class M,
class Allocator>
139 return row_list_.GetLength();
147 template <
class T,
class Prop,
class M,
class Allocator>
150 return column_list_.GetLength();
159 template <
class T,
class Prop,
class M,
class Allocator>
163 if (status.NoTrans())
164 return row_list_.GetLength();
166 return column_list_.GetLength();
175 template <
class T,
class Prop,
class M,
class Allocator>
179 if (status.NoTrans())
180 return column_list_.GetLength();
182 return row_list_.GetLength();
191 template <
class T,
class Prop,
class M,
class Allocator>
194 for (
int i = 0; i < this->GetM(); i++)
196 for (
int j = 0; j < this->GetN(); j++)
197 cout << (*
this)(i, j) <<
"\t";
206 #define SELDON_FILE_SUBMATRIX_BASE_INLINE_CXX