PLaSK library
Loading...
Searching...
No Matches
plask::optical::modal::MatrixDiagonal< T > Class Template Reference

General simple diagonal matrix template. More...

#include <solvers/optical/modal/matrices.hpp>

Collaboration diagram for plask::optical::modal::MatrixDiagonal< T >:
[legend]

Public Types

typedefDataType
 

Public Member Functions

 MatrixDiagonal ()
 
 MatrixDiagonal (size_t n)
 
 MatrixDiagonal (size_t n, T val)
 
 MatrixDiagonal (const MatrixDiagonal< T > &M)
 
MatrixDiagonal< T > & operator= (const MatrixDiagonal< T > &M)
 
 ~MatrixDiagonal ()
 
void reset ()
 
void reset (size_t n)
 
void reset (size_t n, T val)
 
const T * data () const
 
T * data ()
 
const T & operator[] (size_t n) const
 
T & operator[] (size_t n)
 
const T & operator() (size_t m, size_t n) const
 
T & operator() (size_t m, size_t n)
 
size_t size () const
 
MatrixDiagonal< T > copy () const
 
MatrixDiagonal< T > & operator*= (T a)
 
MatrixDiagonal< T > & operator/= (T a)
 
bool isnan () const
 Check if the matrix contains any NaN.
 
bool empty () const
 Check if the matrix has any data.
 
T * begin () const
 
T * end () const
 

Protected Member Functions

void dec_ref ()
 
void inc_ref ()
 

Protected Attributes

size_t siz
 
T * data_
 
std::atomic< int > * gc
 

Detailed Description

template<typename T>
class plask::optical::modal::MatrixDiagonal< T >

General simple diagonal matrix template.

Definition at line 203 of file matrices.hpp.

Member Typedef Documentation

◆ DataType

Definition at line 225 of file matrices.hpp.

Constructor & Destructor Documentation

◆ MatrixDiagonal() [1/4]

template<typename T >
plask::optical::modal::MatrixDiagonal< T >::MatrixDiagonal ( )
inline

Definition at line 227 of file matrices.hpp.

◆ MatrixDiagonal() [2/4]

template<typename T >
plask::optical::modal::MatrixDiagonal< T >::MatrixDiagonal ( size_t  n)
inline

Definition at line 229 of file matrices.hpp.

◆ MatrixDiagonal() [3/4]

template<typename T >
plask::optical::modal::MatrixDiagonal< T >::MatrixDiagonal ( size_t  n,
val 
)
inline

Definition at line 233 of file matrices.hpp.

◆ MatrixDiagonal() [4/4]

template<typename T >
plask::optical::modal::MatrixDiagonal< T >::MatrixDiagonal ( const MatrixDiagonal< T > &  M)
inline

Definition at line 238 of file matrices.hpp.

◆ ~MatrixDiagonal()

Definition at line 249 of file matrices.hpp.

Member Function Documentation

◆ begin()

template<typename T >
T * plask::optical::modal::MatrixDiagonal< T >::begin ( ) const
inline

Definition at line 324 of file matrices.hpp.

◆ copy()

template<typename T >
MatrixDiagonal< T > plask::optical::modal::MatrixDiagonal< T >::copy ( ) const
inline

Definition at line 303 of file matrices.hpp.

◆ data() [1/2]

template<typename T >
T * plask::optical::modal::MatrixDiagonal< T >::data ( )
inline

Definition at line 278 of file matrices.hpp.

◆ data() [2/2]

template<typename T >
const T * plask::optical::modal::MatrixDiagonal< T >::data ( ) const
inline

Definition at line 277 of file matrices.hpp.

◆ dec_ref()

template<typename T >
void plask::optical::modal::MatrixDiagonal< T >::dec_ref ( )
inlineprotected

Definition at line 210 of file matrices.hpp.

◆ empty()

template<typename T >
bool plask::optical::modal::MatrixDiagonal< T >::empty ( ) const
inline

Check if the matrix has any data.

Definition at line 320 of file matrices.hpp.

◆ end()

template<typename T >
T * plask::optical::modal::MatrixDiagonal< T >::end ( ) const
inline

Definition at line 328 of file matrices.hpp.

◆ inc_ref()

template<typename T >
void plask::optical::modal::MatrixDiagonal< T >::inc_ref ( )
inlineprotected

Definition at line 219 of file matrices.hpp.

◆ isnan()

template<typename T >
bool plask::optical::modal::MatrixDiagonal< T >::isnan ( ) const
inline

Check if the matrix contains any NaN.

Definition at line 313 of file matrices.hpp.

◆ operator()() [1/2]

template<typename T >
T & plask::optical::modal::MatrixDiagonal< T >::operator() ( size_t  m,
size_t  n 
)
inline

Definition at line 294 of file matrices.hpp.

◆ operator()() [2/2]

template<typename T >
const T & plask::optical::modal::MatrixDiagonal< T >::operator() ( size_t  m,
size_t  n 
) const
inline

Definition at line 289 of file matrices.hpp.

◆ operator*=()

template<typename T >
MatrixDiagonal< T > & plask::optical::modal::MatrixDiagonal< T >::operator*= ( a)
inline

Definition at line 309 of file matrices.hpp.

◆ operator/=()

template<typename T >
MatrixDiagonal< T > & plask::optical::modal::MatrixDiagonal< T >::operator/= ( a)
inline

Definition at line 310 of file matrices.hpp.

◆ operator=()

Definition at line 242 of file matrices.hpp.

◆ operator[]() [1/2]

template<typename T >
T & plask::optical::modal::MatrixDiagonal< T >::operator[] ( size_t  n)
inline

Definition at line 284 of file matrices.hpp.

◆ operator[]() [2/2]

template<typename T >
const T & plask::optical::modal::MatrixDiagonal< T >::operator[] ( size_t  n) const
inline

Definition at line 280 of file matrices.hpp.

◆ reset() [1/3]

template<typename T >
void plask::optical::modal::MatrixDiagonal< T >::reset ( )
inline

Definition at line 253 of file matrices.hpp.

◆ reset() [2/3]

template<typename T >
void plask::optical::modal::MatrixDiagonal< T >::reset ( size_t  n)
inline

Definition at line 260 of file matrices.hpp.

◆ reset() [3/3]

template<typename T >
void plask::optical::modal::MatrixDiagonal< T >::reset ( size_t  n,
val 
)
inline

Definition at line 268 of file matrices.hpp.

◆ size()

template<typename T >
size_t plask::optical::modal::MatrixDiagonal< T >::size ( ) const
inline

Definition at line 301 of file matrices.hpp.

Member Data Documentation

◆ data_

template<typename T >
T* plask::optical::modal::MatrixDiagonal< T >::data_
protected

Definition at line 207 of file matrices.hpp.

◆ gc

template<typename T >
std::atomic<int>* plask::optical::modal::MatrixDiagonal< T >::gc
protected

Definition at line 208 of file matrices.hpp.

◆ siz

template<typename T >
size_t plask::optical::modal::MatrixDiagonal< T >::siz
protected

Definition at line 205 of file matrices.hpp.


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