List of all members | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Private Attributes
utl::SMatrix< n, m, T > Class Template Reference

Static (small and dense) matrix class. More...

#include "utl/SMatrix.h"

Public Types

typedef T Type
 

Public Member Functions

template<typename Matrix >
void Assign (const Matrix &a)
 
template<unsigned int i, unsigned int j>
T & Get ()
 
template<unsigned int i, unsigned int j>
const T & Get () const
 
template<unsigned int nn, unsigned int mm, typename U >
bool operator!= (const SMatrix< nn, mm, U > &a) const
 
template<typename U >
SMatrixoperator*= (const U &fact)
 
template<typename U >
SMatrixoperator+= (const SMatrix< n, m, U > &mat)
 
template<typename U >
SMatrixoperator-= (const SMatrix< n, m, U > &mat)
 
template<typename U >
SMatrixoperator/= (const U &div)
 
ListMatrixAssignmentProxy
< SMatrix, m
operator= (const T &e)
 
template<typename Matrix >
SMatrixoperator= (const Matrix &a)
 
template<unsigned int nn, unsigned int mm, typename U >
bool operator== (const SMatrix< nn, mm, U > &a) const
 
T * operator[] (const unsigned int i)
 
const T * operator[] (const unsigned int i) const
 
 SMatrix ()
 
 SMatrix (const T &init)
 
template<class Matrix >
 SMatrix (const Matrix &a)
 

Static Public Member Functions

static unsigned int GetNColumns ()
 
static unsigned int GetNRows ()
 
static unsigned int GetSize ()
 

Public Attributes

a = init
 
 void
 

Static Public Attributes

static const unsigned int NColumns = m
 
static const unsigned int NRows = n
 
static const unsigned int Size = n * m
 

Private Attributes

fMatrix [n][m]
 

Detailed Description

template<unsigned int n, unsigned int m, typename T = double>
class utl::SMatrix< n, m, T >

Static (small and dense) matrix class.

Power of unrolled loops.

Author
Darko Veberic
Date
11 Jun 2008

Definition at line 23 of file SMatrix.h.

Member Typedef Documentation

template<unsigned int n, unsigned int m, typename T = double>
typedef T utl::SMatrix< n, m, T >::Type

Definition at line 25 of file SMatrix.h.

Constructor & Destructor Documentation

template<unsigned int n, unsigned int m, typename T = double>
utl::SMatrix< n, m, T >::SMatrix ( )
inline

Definition at line 37 of file SMatrix.h.

template<unsigned int n, unsigned int m, typename T = double>
utl::SMatrix< n, m, T >::SMatrix ( const T &  init)
inlineexplicit

Definition at line 39 of file SMatrix.h.

template<unsigned int n, unsigned int m, typename T = double>
template<class Matrix >
utl::SMatrix< n, m, T >::SMatrix ( const Matrix &  a)
inlineexplicit

Definition at line 42 of file SMatrix.h.

References utl::SMatrix< n, m, T >::Assign().

Member Function Documentation

template<unsigned int n, unsigned int m, typename T = double>
template<typename Matrix >
void utl::SMatrix< n, m, T >::Assign ( const Matrix &  a)
inline
template<unsigned int n, unsigned int m, typename T = double>
template<unsigned int i, unsigned int j>
T& utl::SMatrix< n, m, T >::Get ( )
inline

Definition at line 77 of file SMatrix.h.

References utl::SMatrix< n, m, T >::fMatrix.

Referenced by TestSMatrixSVector::TestSMatrixCtor().

template<unsigned int n, unsigned int m, typename T = double>
template<unsigned int i, unsigned int j>
const T& utl::SMatrix< n, m, T >::Get ( ) const
inline

Definition at line 80 of file SMatrix.h.

References utl::SMatrix< n, m, T >::fMatrix.

template<unsigned int n, unsigned int m, typename T = double>
static unsigned int utl::SMatrix< n, m, T >::GetNColumns ( )
inlinestatic
template<unsigned int n, unsigned int m, typename T = double>
static unsigned int utl::SMatrix< n, m, T >::GetNRows ( )
inlinestatic
template<unsigned int n, unsigned int m, typename T = double>
static unsigned int utl::SMatrix< n, m, T >::GetSize ( )
inlinestatic

Definition at line 35 of file SMatrix.h.

References utl::SMatrix< n, m, T >::Size.

template<unsigned int n, unsigned int m, typename T = double>
template<unsigned int nn, unsigned int mm, typename U >
bool utl::SMatrix< n, m, T >::operator!= ( const SMatrix< nn, mm, U > &  a) const
inline

Definition at line 143 of file SMatrix.h.

References utl::SMatrix< n, m, T >::operator==().

template<unsigned int n, unsigned int m, typename T = double>
template<typename U >
SMatrix& utl::SMatrix< n, m, T >::operator*= ( const U fact)
inline

Definition at line 84 of file SMatrix.h.

References utl::SMatrix< n, m, T >::fMatrix, and utl::SMatrix< n, m, T >::Size.

template<unsigned int n, unsigned int m, typename T = double>
template<typename U >
SMatrix& utl::SMatrix< n, m, T >::operator+= ( const SMatrix< n, m, U > &  mat)
inline
template<unsigned int n, unsigned int m, typename T = double>
template<typename U >
SMatrix& utl::SMatrix< n, m, T >::operator-= ( const SMatrix< n, m, U > &  mat)
inline
template<unsigned int n, unsigned int m, typename T = double>
template<typename U >
SMatrix& utl::SMatrix< n, m, T >::operator/= ( const U div)
inline

Definition at line 95 of file SMatrix.h.

References utl::SMatrix< n, m, T >::fMatrix, and utl::SMatrix< n, m, T >::Size.

template<unsigned int n, unsigned int m, typename T = double>
ListMatrixAssignmentProxy<SMatrix, m> utl::SMatrix< n, m, T >::operator= ( const T &  e)
inline

Definition at line 54 of file SMatrix.h.

References utl::SMatrix< n, m, T >::fMatrix.

template<unsigned int n, unsigned int m, typename T = double>
template<typename Matrix >
SMatrix& utl::SMatrix< n, m, T >::operator= ( const Matrix &  a)
inline

Definition at line 61 of file SMatrix.h.

References utl::SMatrix< n, m, T >::Assign().

template<unsigned int n, unsigned int m, typename T = double>
template<unsigned int nn, unsigned int mm, typename U >
bool utl::SMatrix< n, m, T >::operator== ( const SMatrix< nn, mm, U > &  a) const
inline

Definition at line 130 of file SMatrix.h.

References utl::SMatrix< n, m, T >::fMatrix, utl::m, and utl::mm.

Referenced by utl::SMatrix< n, m, T >::operator!=().

template<unsigned int n, unsigned int m, typename T = double>
T* utl::SMatrix< n, m, T >::operator[] ( const unsigned int  i)
inline

Definition at line 72 of file SMatrix.h.

References utl::SMatrix< n, m, T >::fMatrix.

template<unsigned int n, unsigned int m, typename T = double>
const T* utl::SMatrix< n, m, T >::operator[] ( const unsigned int  i) const
inline

Definition at line 74 of file SMatrix.h.

References utl::SMatrix< n, m, T >::fMatrix.

Member Data Documentation

template<unsigned int n, unsigned int m, typename T = double>
* utl::SMatrix< n, m, T >::a = init

Definition at line 67 of file SMatrix.h.

template<unsigned int n, unsigned int m, typename T = double>
T utl::SMatrix< n, m, T >::fMatrix[n][m]
private
template<unsigned int n, unsigned int m, typename T = double>
const unsigned int utl::SMatrix< n, m, T >::NColumns = m
static

Definition at line 28 of file SMatrix.h.

template<unsigned int n, unsigned int m, typename T = double>
const unsigned int utl::SMatrix< n, m, T >::NRows = n
static

Definition at line 27 of file SMatrix.h.

template<unsigned int n, unsigned int m, typename T = double>
const unsigned int utl::SMatrix< n, m, T >::Size = n * m
static
template<unsigned int n, unsigned int m, typename T = double>
utl::SMatrix< n, m, T >::void
Initial value:
{
T* a = &fMatrix[0][0]

Definition at line 65 of file SMatrix.h.


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

, generated on Tue Sep 26 2023.