Documentation
Tools for embedded systems
Loading...
Searching...
No Matches
qlibs::mat< Rows, Cols > Class Template Reference

Matrix object. More...

#include <mat.hpp>

Public Member Functions

 mat ()
 
 mat (const matSpecial type, const real_t value=1.0_re)
 
template<typename... Args>
 mat (Args... args)
 
real_toperator() (size_t row, size_t col)
 
real_toperator() (size_t index)
 
const real_toperator() (size_t index) const
 
 mat (const mat< Rows, Cols > &other)
 
mat< Rows, Cols > operator+ (const mat< Rows, Cols > &other) const
 
mat< Rows, Cols > operator- (const mat< Rows, Cols > &other) const
 
template<size_t N>
mat< Rows, N > operator* (const mat< Cols, N > &other) const
 
mat< Rows, Cols > operator* (const real_t &scalar) const
 
mat< Rows, Cols > operator/ (const real_t &scalar) const
 
mat< Rows, Cols > operator+ (const real_t &scalar) const
 
mat< Rows, Cols > & operator++ ()
 
mat< Rows, Cols > operator++ (int)
 
mat< Rows, Cols > operator- (const real_t &scalar) const
 
mat< Rows, Cols > & operator-- ()
 
mat< Rows, Cols > operator-- (int)
 
mat< Rows, Cols > & operator+= (const mat< Rows, Cols > &other)
 
mat< Rows, Cols > & operator-= (const mat< Rows, Cols > &other)
 
template<size_t N>
mat< Rows, N > & operator*= (const mat< Cols, N > &other)
 
mat< Rows, Cols > & operator*= (const real_t &scalar)
 
mat< Rows, Cols > & operator/= (const real_t &scalar)
 
mat< Rows, Cols > & operator+= (const real_t &scalar)
 
mat< Rows, Cols > & operator-= (const real_t &scalar)
 
mat< Rows, Cols > & operator= (const mat< Rows, Cols > &other)
 
mat< Rows, Cols > operator- () const
 
void display () const
 
mat< Cols, Rows > operator! () const
 
real_toperator[] (size_t index)
 
const real_toperator[] (size_t index) const
 
mat< Rows, Rows > inv () const
 
real_t normInf () const
 

Detailed Description

template<size_t Rows, size_t Cols>
class qlibs::mat< Rows, Cols >

Matrix object.

Constructor & Destructor Documentation

◆ mat() [1/4]

template<size_t Rows, size_t Cols>
qlibs::mat< Rows, Cols >::mat ( )
inline

◆ mat() [2/4]

template<size_t Rows, size_t Cols>
qlibs::mat< Rows, Cols >::mat ( const matSpecial type,
const real_t value = 1.0_re )
inline

◆ mat() [3/4]

template<size_t Rows, size_t Cols>
template<typename... Args>
qlibs::mat< Rows, Cols >::mat ( Args... args)
inline

◆ mat() [4/4]

template<size_t Rows, size_t Cols>
qlibs::mat< Rows, Cols >::mat ( const mat< Rows, Cols > & other)
inline

Member Function Documentation

◆ display()

template<size_t Rows, size_t Cols>
void qlibs::mat< Rows, Cols >::display ( ) const
inline

◆ inv()

template<size_t Rows, size_t Cols>
mat< Rows, Rows > qlibs::mat< Rows, Cols >::inv ( ) const
inline

◆ normInf()

template<size_t Rows, size_t Cols>
real_t qlibs::mat< Rows, Cols >::normInf ( ) const
inline

◆ operator!()

template<size_t Rows, size_t Cols>
mat< Cols, Rows > qlibs::mat< Rows, Cols >::operator! ( ) const
inline

◆ operator()() [1/3]

template<size_t Rows, size_t Cols>
real_t & qlibs::mat< Rows, Cols >::operator() ( size_t index)
inline

◆ operator()() [2/3]

template<size_t Rows, size_t Cols>
const real_t & qlibs::mat< Rows, Cols >::operator() ( size_t index) const
inline

◆ operator()() [3/3]

template<size_t Rows, size_t Cols>
real_t & qlibs::mat< Rows, Cols >::operator() ( size_t row,
size_t col )
inline

◆ operator*() [1/2]

template<size_t Rows, size_t Cols>
template<size_t N>
mat< Rows, N > qlibs::mat< Rows, Cols >::operator* ( const mat< Cols, N > & other) const
inline

◆ operator*() [2/2]

template<size_t Rows, size_t Cols>
mat< Rows, Cols > qlibs::mat< Rows, Cols >::operator* ( const real_t & scalar) const
inline

◆ operator*=() [1/2]

template<size_t Rows, size_t Cols>
template<size_t N>
mat< Rows, N > & qlibs::mat< Rows, Cols >::operator*= ( const mat< Cols, N > & other)
inline

◆ operator*=() [2/2]

template<size_t Rows, size_t Cols>
mat< Rows, Cols > & qlibs::mat< Rows, Cols >::operator*= ( const real_t & scalar)
inline

◆ operator+() [1/2]

template<size_t Rows, size_t Cols>
mat< Rows, Cols > qlibs::mat< Rows, Cols >::operator+ ( const mat< Rows, Cols > & other) const
inline

◆ operator+() [2/2]

template<size_t Rows, size_t Cols>
mat< Rows, Cols > qlibs::mat< Rows, Cols >::operator+ ( const real_t & scalar) const
inline

◆ operator++() [1/2]

template<size_t Rows, size_t Cols>
mat< Rows, Cols > & qlibs::mat< Rows, Cols >::operator++ ( )
inline

◆ operator++() [2/2]

template<size_t Rows, size_t Cols>
mat< Rows, Cols > qlibs::mat< Rows, Cols >::operator++ ( int )
inline

◆ operator+=() [1/2]

template<size_t Rows, size_t Cols>
mat< Rows, Cols > & qlibs::mat< Rows, Cols >::operator+= ( const mat< Rows, Cols > & other)
inline

◆ operator+=() [2/2]

template<size_t Rows, size_t Cols>
mat< Rows, Cols > & qlibs::mat< Rows, Cols >::operator+= ( const real_t & scalar)
inline

◆ operator-() [1/3]

template<size_t Rows, size_t Cols>
mat< Rows, Cols > qlibs::mat< Rows, Cols >::operator- ( ) const
inline

◆ operator-() [2/3]

template<size_t Rows, size_t Cols>
mat< Rows, Cols > qlibs::mat< Rows, Cols >::operator- ( const mat< Rows, Cols > & other) const
inline

◆ operator-() [3/3]

template<size_t Rows, size_t Cols>
mat< Rows, Cols > qlibs::mat< Rows, Cols >::operator- ( const real_t & scalar) const
inline

◆ operator--() [1/2]

template<size_t Rows, size_t Cols>
mat< Rows, Cols > & qlibs::mat< Rows, Cols >::operator-- ( )
inline

◆ operator--() [2/2]

template<size_t Rows, size_t Cols>
mat< Rows, Cols > qlibs::mat< Rows, Cols >::operator-- ( int )
inline

◆ operator-=() [1/2]

template<size_t Rows, size_t Cols>
mat< Rows, Cols > & qlibs::mat< Rows, Cols >::operator-= ( const mat< Rows, Cols > & other)
inline

◆ operator-=() [2/2]

template<size_t Rows, size_t Cols>
mat< Rows, Cols > & qlibs::mat< Rows, Cols >::operator-= ( const real_t & scalar)
inline

◆ operator/()

template<size_t Rows, size_t Cols>
mat< Rows, Cols > qlibs::mat< Rows, Cols >::operator/ ( const real_t & scalar) const
inline

◆ operator/=()

template<size_t Rows, size_t Cols>
mat< Rows, Cols > & qlibs::mat< Rows, Cols >::operator/= ( const real_t & scalar)
inline

◆ operator=()

template<size_t Rows, size_t Cols>
mat< Rows, Cols > & qlibs::mat< Rows, Cols >::operator= ( const mat< Rows, Cols > & other)
inline

◆ operator[]() [1/2]

template<size_t Rows, size_t Cols>
real_t * qlibs::mat< Rows, Cols >::operator[] ( size_t index)
inline

◆ operator[]() [2/2]

template<size_t Rows, size_t Cols>
const real_t * qlibs::mat< Rows, Cols >::operator[] ( size_t index) const
inline