1 #ifndef BALL_LINALG_DIAGONALITERATOR_H
2 #define BALL_LINALG_DIAGONALITERATOR_H
4 #ifndef BALL_LINALG_MATRIX_IH
5 # include <BALL/MATHS/LINALG/matrix.ih>
8 #ifndef BALL_LINALG_VECTOR_IH
9 # include <BALL/MATHS/vector.ih>
12 #ifndef BALL_CONCEPT_RANDOMACCESSITERATOR_H
19 template <
class valuetype,
class mtraits>
23 template <
class valuetype,
class mtraits=StandardTraits>
46 friend class Matrix<valuetype, mtraits>;
61 :
bound_(const_cast<
Matrix<valuetype, mtraits>*>(&matrix)),
205 for (
uint j = 0; j < vector_size; j++)
236 for (
uint j = 0; j < vector_size; j++)
295 void dump(std::ostream& s)
const
471 position = j +
bound_->m_*i;
475 position = i +
bound_->n_*j;
483 for (
uint j = 0; j < vector_size; j++)
485 vector_[j]=(*bound_)[position+i];
497 vector_[j++]=(*bound_)[position+i];
521 position = j +
bound_->m_*i;
525 position = i +
bound_->n_*j;
533 for (
uint j = 0; j < vector_size; j++)
535 vector_[j]=(*bound_)[position+i];
547 vector_[j++]=(*bound_)[position+i];