Xmipp  v3.23.11-Nereus
Public Member Functions | List of all members
cif::SymmetricMatrix Class Reference
Inheritance diagram for cif::SymmetricMatrix:
Inheritance graph
[legend]
Collaboration diagram for cif::SymmetricMatrix:
Collaboration graph
[legend]

Public Member Functions

 SymmetricMatrix (uint32_t n, double v=0)
 
 SymmetricMatrix ()=default
 
 SymmetricMatrix (SymmetricMatrix &&m)=default
 
 SymmetricMatrix (const SymmetricMatrix &m)=default
 
SymmetricMatrixoperator= (SymmetricMatrix &&m)=default
 
SymmetricMatrixoperator= (const SymmetricMatrix &m)=default
 
uint32_t dim_m () const
 
uint32_t dim_n () const
 
double operator() (uint32_t i, uint32_t j) const
 
double & operator() (uint32_t i, uint32_t j)
 
- Public Member Functions inherited from cif::MatrixExpression< SymmetricMatrix >
uint32_t dim_m () const
 
uint32_t dim_n () const
 
double & operator() (uint32_t i, uint32_t j)
 
double operator() (uint32_t i, uint32_t j) const
 

Detailed Description

Definition at line 115 of file point.cpp.

Constructor & Destructor Documentation

◆ SymmetricMatrix() [1/4]

cif::SymmetricMatrix::SymmetricMatrix ( uint32_t  n,
double  v = 0 
)
inline

Definition at line 118 of file point.cpp.

119  : m_n(n)
120  , m_data((m_n * (m_n + 1)) / 2)
121  {
122  std::fill(m_data.begin(), m_data.end(), v);
123  }
int * n

◆ SymmetricMatrix() [2/4]

cif::SymmetricMatrix::SymmetricMatrix ( )
default

◆ SymmetricMatrix() [3/4]

cif::SymmetricMatrix::SymmetricMatrix ( SymmetricMatrix &&  m)
default

◆ SymmetricMatrix() [4/4]

cif::SymmetricMatrix::SymmetricMatrix ( const SymmetricMatrix m)
default

Member Function Documentation

◆ dim_m()

uint32_t cif::SymmetricMatrix::dim_m ( ) const
inline

Definition at line 131 of file point.cpp.

131 { return m_n; }

◆ dim_n()

uint32_t cif::SymmetricMatrix::dim_n ( ) const
inline

Definition at line 132 of file point.cpp.

132 { return m_n; }

◆ operator()() [1/2]

double cif::SymmetricMatrix::operator() ( uint32_t  i,
uint32_t  j 
) const
inline

Definition at line 134 of file point.cpp.

135  {
136  return i < j
137  ? m_data[(j * (j + 1)) / 2 + i]
138  : m_data[(i * (i + 1)) / 2 + j];
139  }
#define i
#define j

◆ operator()() [2/2]

double& cif::SymmetricMatrix::operator() ( uint32_t  i,
uint32_t  j 
)
inline

Definition at line 141 of file point.cpp.

142  {
143  if (i > j)
144  std::swap(i, j);
145  assert(j < m_n);
146  return m_data[(j * (j + 1)) / 2 + i];
147  }
#define i
#define j

◆ operator=() [1/2]

SymmetricMatrix& cif::SymmetricMatrix::operator= ( SymmetricMatrix &&  m)
default

◆ operator=() [2/2]

SymmetricMatrix& cif::SymmetricMatrix::operator= ( const SymmetricMatrix m)
default

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