Simbody  3.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Mat.h File Reference

This file declares class Mat<NROWS, NCOLS, ELEMENT_TYPE, COL_SPACING, ROW_SPACING>. More...

Go to the source code of this file.

Classes

class  SimTK::Mat< M, N, ELT, CS, RS >
 This class represents a small matrix whose size is known at compile time, containing elements of any Composite Numerical Type (CNT) and engineered to have no runtime overhead whatsoever. More...
 
struct  SimTK::Mat< M, N, ELT, CS, RS >::EltResult< P >
 
struct  SimTK::Mat< M, N, ELT, CS, RS >::Result< P >
 
struct  SimTK::Mat< M, N, ELT, CS, RS >::Substitute< P >
 
struct  SimTK::Mat< M, N, ELT, CS, RS >::SubMat< MM, NN >
 

Namespaces

 SimTK
 This is the top-level SimTK namespace into which all SimTK names are placed to avoid collision with other symbols.
 

Functions

template<int M, int N, class EL , int CSL, int RSL, class ER , int CSR, int RSR>
Mat< M, N, EL, CSL, RSL >
::template Result< Mat< M, N,
ER, CSR, RSR > >::Add 
SimTK::operator+ (const Mat< M, N, EL, CSL, RSL > &l, const Mat< M, N, ER, CSR, RSR > &r)
 
template<int M, int N, class EL , int CSL, int RSL, class ER , int CSR, int RSR>
Mat< M, N, EL, CSL, RSL >
::template Result< Mat< M, N,
ER, CSR, RSR > >::Sub 
SimTK::operator- (const Mat< M, N, EL, CSL, RSL > &l, const Mat< M, N, ER, CSR, RSR > &r)
 
template<int M, int N, class EL , int CSL, int RSL, int P, class ER , int CSR, int RSR>
Mat< M, N, EL, CSL, RSL >
::template Result< Mat< N, P,
ER, CSR, RSR > >::Mul 
SimTK::operator* (const Mat< M, N, EL, CSL, RSL > &l, const Mat< N, P, ER, CSR, RSR > &r)
 
template<int M, int N, class EL , int CSL, int RSL, int MM, int NN, class ER , int CSR, int RSR>
Mat< M, N, EL, CSL, RSL >
::template Result< Mat< MM, NN,
ER, CSR, RSR > >::MulNon 
SimTK::operator* (const Mat< M, N, EL, CSL, RSL > &l, const Mat< MM, NN, ER, CSR, RSR > &r)
 
template<int M, int N, class EL , int CSL, int RSL, class ER , int CSR, int RSR>
bool SimTK::operator== (const Mat< M, N, EL, CSL, RSL > &l, const Mat< M, N, ER, CSR, RSR > &r)
 
template<int M, int N, class EL , int CSL, int RSL, class ER , int CSR, int RSR>
bool SimTK::operator!= (const Mat< M, N, EL, CSL, RSL > &l, const Mat< M, N, ER, CSR, RSR > &r)
 
template<int M, int N, class E , int CS, int RS>
Mat< M, N, E, CS, RS >
::template Result< float >
::Mul 
SimTK::operator* (const Mat< M, N, E, CS, RS > &l, const float &r)
 
template<int M, int N, class E , int CS, int RS>
Mat< M, N, E, CS, RS >
::template Result< float >
::Mul 
SimTK::operator* (const float &l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS>
Mat< M, N, E, CS, RS >
::template Result< double >
::Mul 
SimTK::operator* (const Mat< M, N, E, CS, RS > &l, const double &r)
 
template<int M, int N, class E , int CS, int RS>
Mat< M, N, E, CS, RS >
::template Result< double >
::Mul 
SimTK::operator* (const double &l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS>
Mat< M, N, E, CS, RS >
::template Result< long double >
::Mul 
SimTK::operator* (const Mat< M, N, E, CS, RS > &l, const long double &r)
 
template<int M, int N, class E , int CS, int RS>
Mat< M, N, E, CS, RS >
::template Result< long double >
::Mul 
SimTK::operator* (const long double &l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS>
Mat< M, N, E, CS, RS >
::template Result< typename
CNT< E >::Precision >::Mul 
SimTK::operator* (const Mat< M, N, E, CS, RS > &l, int r)
 
template<int M, int N, class E , int CS, int RS>
Mat< M, N, E, CS, RS >
::template Result< typename
CNT< E >::Precision >::Mul 
SimTK::operator* (int l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS, class R >
Mat< M, N, E, CS, RS >
::template Result
< std::complex< R > >::Mul 
SimTK::operator* (const Mat< M, N, E, CS, RS > &l, const std::complex< R > &r)
 
template<int M, int N, class E , int CS, int RS, class R >
Mat< M, N, E, CS, RS >
::template Result
< std::complex< R > >::Mul 
SimTK::operator* (const std::complex< R > &l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS, class R >
Mat< M, N, E, CS, RS >
::template Result
< std::complex< R > >::Mul 
SimTK::operator* (const Mat< M, N, E, CS, RS > &l, const conjugate< R > &r)
 
template<int M, int N, class E , int CS, int RS, class R >
Mat< M, N, E, CS, RS >
::template Result
< std::complex< R > >::Mul 
SimTK::operator* (const conjugate< R > &l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS, class R >
Mat< M, N, E, CS, RS >
::template Result< typename
negator< R >::StdNumber >::Mul 
SimTK::operator* (const Mat< M, N, E, CS, RS > &l, const negator< R > &r)
 
template<int M, int N, class E , int CS, int RS, class R >
Mat< M, N, E, CS, RS >
::template Result< typename
negator< R >::StdNumber >::Mul 
SimTK::operator* (const negator< R > &l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS>
Mat< M, N, E, CS, RS >
::template Result< float >
::Dvd 
SimTK::operator/ (const Mat< M, N, E, CS, RS > &l, const float &r)
 
template<int M, int N, class E , int CS, int RS>
CNT< float >::template Result
< Mat< M, N, E, CS, RS >
>::Dvd 
SimTK::operator/ (const float &l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS>
Mat< M, N, E, CS, RS >
::template Result< double >
::Dvd 
SimTK::operator/ (const Mat< M, N, E, CS, RS > &l, const double &r)
 
template<int M, int N, class E , int CS, int RS>
CNT< double >::template Result
< Mat< M, N, E, CS, RS >
>::Dvd 
SimTK::operator/ (const double &l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS>
Mat< M, N, E, CS, RS >
::template Result< long double >
::Dvd 
SimTK::operator/ (const Mat< M, N, E, CS, RS > &l, const long double &r)
 
template<int M, int N, class E , int CS, int RS>
CNT< long double >::template
Result< Mat< M, N, E, CS, RS >
>::Dvd 
SimTK::operator/ (const long double &l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS>
Mat< M, N, E, CS, RS >
::template Result< typename
CNT< E >::Precision >::Dvd 
SimTK::operator/ (const Mat< M, N, E, CS, RS > &l, int r)
 
template<int M, int N, class E , int CS, int RS>
CNT< typename CNT< E >
::Precision >::template Result
< Mat< M, N, E, CS, RS >
>::Dvd 
SimTK::operator/ (int l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS, class R >
Mat< M, N, E, CS, RS >
::template Result
< std::complex< R > >::Dvd 
SimTK::operator/ (const Mat< M, N, E, CS, RS > &l, const std::complex< R > &r)
 
template<int M, int N, class E , int CS, int RS, class R >
CNT< std::complex< R >
>::template Result< Mat< M, N,
E, CS, RS > >::Dvd 
SimTK::operator/ (const std::complex< R > &l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS, class R >
Mat< M, N, E, CS, RS >
::template Result
< std::complex< R > >::Dvd 
SimTK::operator/ (const Mat< M, N, E, CS, RS > &l, const conjugate< R > &r)
 
template<int M, int N, class E , int CS, int RS, class R >
CNT< std::complex< R >
>::template Result< Mat< M, N,
E, CS, RS > >::Dvd 
SimTK::operator/ (const conjugate< R > &l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS, class R >
Mat< M, N, E, CS, RS >
::template Result< typename
negator< R >::StdNumber >::Dvd 
SimTK::operator/ (const Mat< M, N, E, CS, RS > &l, const negator< R > &r)
 
template<int M, int N, class E , int CS, int RS, class R >
CNT< R >::template Result< Mat
< M, N, E, CS, RS > >::Dvd 
SimTK::operator/ (const negator< R > &l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS>
Mat< M, N, E, CS, RS >
::template Result< float >
::Add 
SimTK::operator+ (const Mat< M, N, E, CS, RS > &l, const float &r)
 
template<int M, int N, class E , int CS, int RS>
Mat< M, N, E, CS, RS >
::template Result< float >
::Add 
SimTK::operator+ (const float &l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS>
Mat< M, N, E, CS, RS >
::template Result< double >
::Add 
SimTK::operator+ (const Mat< M, N, E, CS, RS > &l, const double &r)
 
template<int M, int N, class E , int CS, int RS>
Mat< M, N, E, CS, RS >
::template Result< double >
::Add 
SimTK::operator+ (const double &l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS>
Mat< M, N, E, CS, RS >
::template Result< long double >
::Add 
SimTK::operator+ (const Mat< M, N, E, CS, RS > &l, const long double &r)
 
template<int M, int N, class E , int CS, int RS>
Mat< M, N, E, CS, RS >
::template Result< long double >
::Add 
SimTK::operator+ (const long double &l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS>
Mat< M, N, E, CS, RS >
::template Result< typename
CNT< E >::Precision >::Add 
SimTK::operator+ (const Mat< M, N, E, CS, RS > &l, int r)
 
template<int M, int N, class E , int CS, int RS>
Mat< M, N, E, CS, RS >
::template Result< typename
CNT< E >::Precision >::Add 
SimTK::operator+ (int l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS, class R >
Mat< M, N, E, CS, RS >
::template Result
< std::complex< R > >::Add 
SimTK::operator+ (const Mat< M, N, E, CS, RS > &l, const std::complex< R > &r)
 
template<int M, int N, class E , int CS, int RS, class R >
Mat< M, N, E, CS, RS >
::template Result
< std::complex< R > >::Add 
SimTK::operator+ (const std::complex< R > &l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS, class R >
Mat< M, N, E, CS, RS >
::template Result
< std::complex< R > >::Add 
SimTK::operator+ (const Mat< M, N, E, CS, RS > &l, const conjugate< R > &r)
 
template<int M, int N, class E , int CS, int RS, class R >
Mat< M, N, E, CS, RS >
::template Result
< std::complex< R > >::Add 
SimTK::operator+ (const conjugate< R > &l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS, class R >
Mat< M, N, E, CS, RS >
::template Result< typename
negator< R >::StdNumber >::Add 
SimTK::operator+ (const Mat< M, N, E, CS, RS > &l, const negator< R > &r)
 
template<int M, int N, class E , int CS, int RS, class R >
Mat< M, N, E, CS, RS >
::template Result< typename
negator< R >::StdNumber >::Add 
SimTK::operator+ (const negator< R > &l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS>
Mat< M, N, E, CS, RS >
::template Result< float >
::Sub 
SimTK::operator- (const Mat< M, N, E, CS, RS > &l, const float &r)
 
template<int M, int N, class E , int CS, int RS>
CNT< float >::template Result
< Mat< M, N, E, CS, RS >
>::Sub 
SimTK::operator- (const float &l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS>
Mat< M, N, E, CS, RS >
::template Result< double >
::Sub 
SimTK::operator- (const Mat< M, N, E, CS, RS > &l, const double &r)
 
template<int M, int N, class E , int CS, int RS>
CNT< double >::template Result
< Mat< M, N, E, CS, RS >
>::Sub 
SimTK::operator- (const double &l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS>
Mat< M, N, E, CS, RS >
::template Result< long double >
::Sub 
SimTK::operator- (const Mat< M, N, E, CS, RS > &l, const long double &r)
 
template<int M, int N, class E , int CS, int RS>
CNT< long double >::template
Result< Mat< M, N, E, CS, RS >
>::Sub 
SimTK::operator- (const long double &l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS>
Mat< M, N, E, CS, RS >
::template Result< typename
CNT< E >::Precision >::Sub 
SimTK::operator- (const Mat< M, N, E, CS, RS > &l, int r)
 
template<int M, int N, class E , int CS, int RS>
CNT< typename CNT< E >
::Precision >::template Result
< Mat< M, N, E, CS, RS >
>::Sub 
SimTK::operator- (int l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS, class R >
Mat< M, N, E, CS, RS >
::template Result
< std::complex< R > >::Sub 
SimTK::operator- (const Mat< M, N, E, CS, RS > &l, const std::complex< R > &r)
 
template<int M, int N, class E , int CS, int RS, class R >
CNT< std::complex< R >
>::template Result< Mat< M, N,
E, CS, RS > >::Sub 
SimTK::operator- (const std::complex< R > &l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS, class R >
Mat< M, N, E, CS, RS >
::template Result
< std::complex< R > >::Sub 
SimTK::operator- (const Mat< M, N, E, CS, RS > &l, const conjugate< R > &r)
 
template<int M, int N, class E , int CS, int RS, class R >
CNT< std::complex< R >
>::template Result< Mat< M, N,
E, CS, RS > >::Sub 
SimTK::operator- (const conjugate< R > &l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS, class R >
Mat< M, N, E, CS, RS >
::template Result< typename
negator< R >::StdNumber >::Sub 
SimTK::operator- (const Mat< M, N, E, CS, RS > &l, const negator< R > &r)
 
template<int M, int N, class E , int CS, int RS, class R >
CNT< R >::template Result< Mat
< M, N, E, CS, RS > >::Sub 
SimTK::operator- (const negator< R > &l, const Mat< M, N, E, CS, RS > &r)
 
template<int M, int N, class E , int CS, int RS, class CHAR , class TRAITS >
std::basic_ostream< CHAR,
TRAITS > & 
SimTK::operator<< (std::basic_ostream< CHAR, TRAITS > &o, const Mat< M, N, E, CS, RS > &m)
 
template<int M, int N, class E , int CS, int RS, class CHAR , class TRAITS >
std::basic_istream< CHAR,
TRAITS > & 
SimTK::operator>> (std::basic_istream< CHAR, TRAITS > &is, Mat< M, N, E, CS, RS > &m)
 

Detailed Description

This file declares class Mat<NROWS, NCOLS, ELEMENT_TYPE, COL_SPACING, ROW_SPACING>.