Simbody  3.5
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>.