MBDyn-1.7.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
NaivePermMatrixHandler::const_iterator Class Reference

#include <naivemh.h>

Collaboration diagram for NaivePermMatrixHandler::const_iterator:

Public Member Functions

 const_iterator (const NaivePermMatrixHandler &m)
 
 const_iterator (const NaivePermMatrixHandler &m, bool)
 
 ~const_iterator (void)
 
const
NaivePermMatrixHandler::const_iterator
operator++ (void) const
 
const
SparseMatrixHandler::SparseMatrixElement
operator-> (void) const
 
const
SparseMatrixHandler::SparseMatrixElement
operator* (void) const
 
bool operator== (const NaivePermMatrixHandler::const_iterator &op) const
 
bool operator!= (const NaivePermMatrixHandler::const_iterator &op) const
 

Protected Member Functions

void reset (bool is_end=false)
 

Private Attributes

const NaivePermMatrixHandlerm
 
integer i_row
 
SparseMatrixHandler::SparseMatrixElement elem
 

Friends

class NaivePermMatrixHandler
 

Detailed Description

Definition at line 223 of file naivemh.h.

Constructor & Destructor Documentation

NaivePermMatrixHandler::const_iterator::const_iterator ( const NaivePermMatrixHandler m)

Definition at line 739 of file naivemh.cc.

References SparseMatrixHandler::SparseMatrixElement::dCoef, elem, i_row, SparseMatrixHandler::SparseMatrixElement_base::iCol, SparseMatrixHandler::SparseMatrixElement_base::iRow, NaiveMatrixHandler::iSize, NaivePermMatrixHandler::perm, NaiveMatrixHandler::piNzr, NaiveMatrixHandler::ppdRows, and NaiveMatrixHandler::ppiRows.

740 : m(m), i_row(0), elem(0, 0, 0.)
741 {
742  while (m.piNzr[m.perm[elem.iCol]] == 0) {
743  if (++elem.iCol == m.iSize) {
744  elem.iRow = m.iSize;
745  return;
746  }
747  }
748 
749  elem.iRow = m.ppiRows[m.perm[elem.iCol]][i_row];
750  elem.dCoef = m.ppdRows[elem.iRow][m.perm[elem.iCol]];
751 }
doublereal ** ppdRows
Definition: naivemh.h:60
integer * piNzr
Definition: naivemh.h:63
integer ** ppiRows
Definition: naivemh.h:61
const std::vector< integer > & perm
Definition: naivemh.h:213
SparseMatrixHandler::SparseMatrixElement elem
Definition: naivemh.h:229
const NaivePermMatrixHandler & m
Definition: naivemh.h:227
integer iSize
Definition: naivemh.h:58
NaivePermMatrixHandler::const_iterator::const_iterator ( const NaivePermMatrixHandler m,
bool   
)

Definition at line 753 of file naivemh.cc.

References NO_OP.

754 : m(m), i_row(0), elem(m.iSize, m.iSize, 0.)
755 {
756  NO_OP;
757 }
#define NO_OP
Definition: myassert.h:74
SparseMatrixHandler::SparseMatrixElement elem
Definition: naivemh.h:229
const NaivePermMatrixHandler & m
Definition: naivemh.h:227
integer iSize
Definition: naivemh.h:58
NaivePermMatrixHandler::const_iterator::~const_iterator ( void  )

Definition at line 759 of file naivemh.cc.

References NO_OP.

760 {
761  NO_OP;
762 }
#define NO_OP
Definition: myassert.h:74

Member Function Documentation

Definition at line 802 of file naivemh.cc.

References elem.

803 {
804  return elem != op.elem;
805 }
SparseMatrixHandler::SparseMatrixElement elem
Definition: naivemh.h:229
const SparseMatrixHandler::SparseMatrixElement & NaivePermMatrixHandler::const_iterator::operator* ( void  ) const

Definition at line 790 of file naivemh.cc.

791 {
792  return elem;
793 }
SparseMatrixHandler::SparseMatrixElement elem
Definition: naivemh.h:229
const NaivePermMatrixHandler::const_iterator & NaivePermMatrixHandler::const_iterator::operator++ ( void  ) const

Definition at line 765 of file naivemh.cc.

766 {
767  i_row++;
768  while (i_row == m.piNzr[m.perm[elem.iCol]]) {
769  if (++elem.iCol == m.iSize) {
770  elem.iRow = m.iSize;
771  return *this;
772  }
773 
774  i_row = 0;
775  }
776 
779 
780  return *this;
781 }
doublereal ** ppdRows
Definition: naivemh.h:60
integer * piNzr
Definition: naivemh.h:63
integer ** ppiRows
Definition: naivemh.h:61
const std::vector< integer > & perm
Definition: naivemh.h:213
SparseMatrixHandler::SparseMatrixElement elem
Definition: naivemh.h:229
const NaivePermMatrixHandler & m
Definition: naivemh.h:227
integer iSize
Definition: naivemh.h:58
const SparseMatrixHandler::SparseMatrixElement * NaivePermMatrixHandler::const_iterator::operator-> ( void  ) const

Definition at line 784 of file naivemh.cc.

785 {
786  return &elem;
787 }
SparseMatrixHandler::SparseMatrixElement elem
Definition: naivemh.h:229
bool NaivePermMatrixHandler::const_iterator::operator== ( const NaivePermMatrixHandler::const_iterator op) const

Definition at line 796 of file naivemh.cc.

References elem.

797 {
798  return elem == op.elem;
799 }
SparseMatrixHandler::SparseMatrixElement elem
Definition: naivemh.h:229
void NaivePermMatrixHandler::const_iterator::reset ( bool  is_end = false)
protected

Friends And Related Function Documentation

friend class NaivePermMatrixHandler
friend

Definition at line 224 of file naivemh.h.

Member Data Documentation

SparseMatrixHandler::SparseMatrixElement NaivePermMatrixHandler::const_iterator::elem
mutableprivate

Definition at line 229 of file naivemh.h.

Referenced by const_iterator(), operator!=(), operator==(), and reset().

integer NaivePermMatrixHandler::const_iterator::i_row
mutableprivate

Definition at line 228 of file naivemh.h.

Referenced by const_iterator(), and reset().

const NaivePermMatrixHandler& NaivePermMatrixHandler::const_iterator::m
private

Definition at line 227 of file naivemh.h.

Referenced by reset().


The documentation for this class was generated from the following files: