Simbody  3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Row.h File Reference

This file declares class Row<NCOLS, ELEMENT_TYPE, STRIDE>. More...

Go to the source code of this file.

Classes

class  SimTK::Row< N, ELT, STRIDE >
 This is a fixed-length row vector designed for no-overhead inline computation. More...
 
struct  SimTK::Row< N, ELT, STRIDE >::EltResult< P >
 
struct  SimTK::Row< N, ELT, STRIDE >::Result< P >
 
struct  SimTK::Row< N, ELT, STRIDE >::Substitute< P >
 

Namespaces

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

Functions

template<class E1 , int S1, class E2 , int S2>
void SimTK::Impl::conformingAdd (const Row< 1, E1, S1 > &r1, const Row< 1, E2, S2 > &r2, Row< 1, typename CNT< E1 >::template Result< E2 >::Add > &result)
 
template<int N, class E1 , int S1, class E2 , int S2>
void SimTK::Impl::conformingAdd (const Row< N, E1, S1 > &r1, const Row< N, E2, S2 > &r2, Row< N, typename CNT< E1 >::template Result< E2 >::Add > &result)
 
template<class E1 , int S1, class E2 , int S2>
void SimTK::Impl::conformingSubtract (const Row< 1, E1, S1 > &r1, const Row< 1, E2, S2 > &r2, Row< 1, typename CNT< E1 >::template Result< E2 >::Sub > &result)
 
template<int N, class E1 , int S1, class E2 , int S2>
void SimTK::Impl::conformingSubtract (const Row< N, E1, S1 > &r1, const Row< N, E2, S2 > &r2, Row< N, typename CNT< E1 >::template Result< E2 >::Sub > &result)
 
template<class E1 , int S1, class E2 , int S2>
void SimTK::Impl::elementwiseMultiply (const Row< 1, E1, S1 > &r1, const Row< 1, E2, S2 > &r2, Row< 1, typename CNT< E1 >::template Result< E2 >::Mul > &result)
 
template<int N, class E1 , int S1, class E2 , int S2>
void SimTK::Impl::elementwiseMultiply (const Row< N, E1, S1 > &r1, const Row< N, E2, S2 > &r2, Row< N, typename CNT< E1 >::template Result< E2 >::Mul > &result)
 
template<class E1 , int S1, class E2 , int S2>
void SimTK::Impl::elementwiseDivide (const Row< 1, E1, S1 > &r1, const Row< 1, E2, S2 > &r2, Row< 1, typename CNT< E1 >::template Result< E2 >::Dvd > &result)
 
template<int N, class E1 , int S1, class E2 , int S2>
void SimTK::Impl::elementwiseDivide (const Row< N, E1, S1 > &r1, const Row< N, E2, S2 > &r2, Row< N, typename CNT< E1 >::template Result< E2 >::Dvd > &result)
 
template<class E1 , int S1, class E2 , int S2>
void SimTK::Impl::copy (Row< 1, E1, S1 > &r1, const Row< 1, E2, S2 > &r2)
 
template<int N, class E1 , int S1, class E2 , int S2>
void SimTK::Impl::copy (Row< N, E1, S1 > &r1, const Row< N, E2, S2 > &r2)
 
template<int N, class E1 , int S1, class E2 , int S2>
Row< N, E1, S1 >::template
Result< Row< N, E2, S2 >
>::Add 
SimTK::operator+ (const Row< N, E1, S1 > &l, const Row< N, E2, S2 > &r)
 
template<int N, class E1 , int S1, class E2 , int S2>
Row< N, E1, S1 >::template
Result< Row< N, E2, S2 >
>::Sub 
SimTK::operator- (const Row< N, E1, S1 > &l, const Row< N, E2, S2 > &r)
 
template<int N, class E1 , int S1, class E2 , int S2>
bool SimTK::operator== (const Row< N, E1, S1 > &l, const Row< N, E2, S2 > &r)
 bool = v1[i] == v2[i], for all elements i More...
 
template<int N, class E1 , int S1, class E2 , int S2>
bool SimTK::operator!= (const Row< N, E1, S1 > &l, const Row< N, E2, S2 > &r)
 bool = v1[i] != v2[i], for any element i More...
 
template<int N, class E1 , int S1, class E2 , int S2>
bool SimTK::operator< (const Row< N, E1, S1 > &l, const Row< N, E2, S2 > &r)
 bool = v1[i] < v2[i], for all elements i More...
 
template<int N, class E1 , int S1, class E2 >
bool SimTK::operator< (const Row< N, E1, S1 > &v, const E2 &e)
 bool = v[i] < e, for all elements v[i] and element e More...
 
template<int N, class E1 , int S1, class E2 , int S2>
bool SimTK::operator> (const Row< N, E1, S1 > &l, const Row< N, E2, S2 > &r)
 bool = v1[i] > v2[i], for all elements i More...
 
template<int N, class E1 , int S1, class E2 >
bool SimTK::operator> (const Row< N, E1, S1 > &v, const E2 &e)
 bool = v[i] > e, for all elements v[i] and element e More...
 
template<int N, class E1 , int S1, class E2 , int S2>
bool SimTK::operator<= (const Row< N, E1, S1 > &l, const Row< N, E2, S2 > &r)
 bool = v1[i] <= v2[i], for all elements i. More...
 
template<int N, class E1 , int S1, class E2 >
bool SimTK::operator<= (const Row< N, E1, S1 > &v, const E2 &e)
 bool = v[i] <= e, for all elements v[i] and element e. More...
 
template<int N, class E1 , int S1, class E2 , int S2>
bool SimTK::operator>= (const Row< N, E1, S1 > &l, const Row< N, E2, S2 > &r)
 bool = v1[i] >= v2[i], for all elements i This is not the same as !(v1<v2). More...
 
template<int N, class E1 , int S1, class E2 >
bool SimTK::operator>= (const Row< N, E1, S1 > &v, const E2 &e)
 bool = v[i] >= e, for all elements v[i] and element e. More...
 
template<int N, class E , int S>
Row< N, E, S >::template
Result< float >::Mul 
SimTK::operator* (const Row< N, E, S > &l, const float &r)
 
template<int N, class E , int S>
Row< N, E, S >::template
Result< float >::Mul 
SimTK::operator* (const float &l, const Row< N, E, S > &r)
 
template<int N, class E , int S>
Row< N, E, S >::template
Result< double >::Mul 
SimTK::operator* (const Row< N, E, S > &l, const double &r)
 
template<int N, class E , int S>
Row< N, E, S >::template
Result< double >::Mul 
SimTK::operator* (const double &l, const Row< N, E, S > &r)
 
template<int N, class E , int S>
Row< N, E, S >::template
Result< long double >::Mul 
SimTK::operator* (const Row< N, E, S > &l, const long double &r)
 
template<int N, class E , int S>
Row< N, E, S >::template
Result< long double >::Mul 
SimTK::operator* (const long double &l, const Row< N, E, S > &r)
 
template<int N, class E , int S>
Row< N, E, S >::template
Result< typename CNT< E >
::Precision >::Mul 
SimTK::operator* (const Row< N, E, S > &l, int r)
 
template<int N, class E , int S>
Row< N, E, S >::template
Result< typename CNT< E >
::Precision >::Mul 
SimTK::operator* (int l, const Row< N, E, S > &r)
 
template<int N, class E , int S, class R >
Row< N, E, S >::template
Result< std::complex< R >
>::Mul 
SimTK::operator* (const Row< N, E, S > &l, const std::complex< R > &r)
 
template<int N, class E , int S, class R >
Row< N, E, S >::template
Result< std::complex< R >
>::Mul 
SimTK::operator* (const std::complex< R > &l, const Row< N, E, S > &r)
 
template<int N, class E , int S, class R >
Row< N, E, S >::template
Result< std::complex< R >
>::Mul 
SimTK::operator* (const Row< N, E, S > &l, const conjugate< R > &r)
 
template<int N, class E , int S, class R >
Row< N, E, S >::template
Result< std::complex< R >
>::Mul 
SimTK::operator* (const conjugate< R > &l, const Row< N, E, S > &r)
 
template<int N, class E , int S, class R >
Row< N, E, S >::template
Result< typename negator< R >
::StdNumber >::Mul 
SimTK::operator* (const Row< N, E, S > &l, const negator< R > &r)
 
template<int N, class E , int S, class R >
Row< N, E, S >::template
Result< typename negator< R >
::StdNumber >::Mul 
SimTK::operator* (const negator< R > &l, const Row< N, E, S > &r)
 
template<int N, class E , int S>
Row< N, E, S >::template
Result< float >::Dvd 
SimTK::operator/ (const Row< N, E, S > &l, const float &r)
 
template<int N, class E , int S>
CNT< float >::template Result
< Row< N, E, S > >::Dvd 
SimTK::operator/ (const float &l, const Row< N, E, S > &r)
 
template<int N, class E , int S>
Row< N, E, S >::template
Result< double >::Dvd 
SimTK::operator/ (const Row< N, E, S > &l, const double &r)
 
template<int N, class E , int S>
CNT< double >::template Result
< Row< N, E, S > >::Dvd 
SimTK::operator/ (const double &l, const Row< N, E, S > &r)
 
template<int N, class E , int S>
Row< N, E, S >::template
Result< long double >::Dvd 
SimTK::operator/ (const Row< N, E, S > &l, const long double &r)
 
template<int N, class E , int S>
CNT< long double >::template
Result< Row< N, E, S > >::Dvd 
SimTK::operator/ (const long double &l, const Row< N, E, S > &r)
 
template<int N, class E , int S>
Row< N, E, S >::template
Result< typename CNT< E >
::Precision >::Dvd 
SimTK::operator/ (const Row< N, E, S > &l, int r)
 
template<int N, class E , int S>
CNT< typename CNT< E >
::Precision >::template Result
< Row< N, E, S > >::Dvd 
SimTK::operator/ (int l, const Row< N, E, S > &r)
 
template<int N, class E , int S, class R >
Row< N, E, S >::template
Result< std::complex< R >
>::Dvd 
SimTK::operator/ (const Row< N, E, S > &l, const std::complex< R > &r)
 
template<int N, class E , int S, class R >
CNT< std::complex< R >
>::template Result< Row< N, E,
S > >::Dvd 
SimTK::operator/ (const std::complex< R > &l, const Row< N, E, S > &r)
 
template<int N, class E , int S, class R >
Row< N, E, S >::template
Result< std::complex< R >
>::Dvd 
SimTK::operator/ (const Row< N, E, S > &l, const conjugate< R > &r)
 
template<int N, class E , int S, class R >
CNT< std::complex< R >
>::template Result< Row< N, E,
S > >::Dvd 
SimTK::operator/ (const conjugate< R > &l, const Row< N, E, S > &r)
 
template<int N, class E , int S, class R >
Row< N, E, S >::template
Result< typename negator< R >
::StdNumber >::Dvd 
SimTK::operator/ (const Row< N, E, S > &l, const negator< R > &r)
 
template<int N, class E , int S, class R >
CNT< R >::template Result< Row
< N, E, S > >::Dvd 
SimTK::operator/ (const negator< R > &l, const Row< N, E, S > &r)
 
template<int N, class E , int S>
Row< N, E, S >::template
Result< float >::Add 
SimTK::operator+ (const Row< N, E, S > &l, const float &r)
 
template<int N, class E , int S>
Row< N, E, S >::template
Result< float >::Add 
SimTK::operator+ (const float &l, const Row< N, E, S > &r)
 
template<int N, class E , int S>
Row< N, E, S >::template
Result< double >::Add 
SimTK::operator+ (const Row< N, E, S > &l, const double &r)
 
template<int N, class E , int S>
Row< N, E, S >::template
Result< double >::Add 
SimTK::operator+ (const double &l, const Row< N, E, S > &r)
 
template<int N, class E , int S>
Row< N, E, S >::template
Result< long double >::Add 
SimTK::operator+ (const Row< N, E, S > &l, const long double &r)
 
template<int N, class E , int S>
Row< N, E, S >::template
Result< long double >::Add 
SimTK::operator+ (const long double &l, const Row< N, E, S > &r)
 
template<int N, class E , int S>
Row< N, E, S >::template
Result< typename CNT< E >
::Precision >::Add 
SimTK::operator+ (const Row< N, E, S > &l, int r)
 
template<int N, class E , int S>
Row< N, E, S >::template
Result< typename CNT< E >
::Precision >::Add 
SimTK::operator+ (int l, const Row< N, E, S > &r)
 
template<int N, class E , int S, class R >
Row< N, E, S >::template
Result< std::complex< R >
>::Add 
SimTK::operator+ (const Row< N, E, S > &l, const std::complex< R > &r)
 
template<int N, class E , int S, class R >
Row< N, E, S >::template
Result< std::complex< R >
>::Add 
SimTK::operator+ (const std::complex< R > &l, const Row< N, E, S > &r)
 
template<int N, class E , int S, class R >
Row< N, E, S >::template
Result< std::complex< R >
>::Add 
SimTK::operator+ (const Row< N, E, S > &l, const conjugate< R > &r)
 
template<int N, class E , int S, class R >
Row< N, E, S >::template
Result< std::complex< R >
>::Add 
SimTK::operator+ (const conjugate< R > &l, const Row< N, E, S > &r)
 
template<int N, class E , int S, class R >
Row< N, E, S >::template
Result< typename negator< R >
::StdNumber >::Add 
SimTK::operator+ (const Row< N, E, S > &l, const negator< R > &r)
 
template<int N, class E , int S, class R >
Row< N, E, S >::template
Result< typename negator< R >
::StdNumber >::Add 
SimTK::operator+ (const negator< R > &l, const Row< N, E, S > &r)
 
template<int N, class E , int S>
Row< N, E, S >::template
Result< float >::Sub 
SimTK::operator- (const Row< N, E, S > &l, const float &r)
 
template<int N, class E , int S>
CNT< float >::template Result
< Row< N, E, S > >::Sub 
SimTK::operator- (const float &l, const Row< N, E, S > &r)
 
template<int N, class E , int S>
Row< N, E, S >::template
Result< double >::Sub 
SimTK::operator- (const Row< N, E, S > &l, const double &r)
 
template<int N, class E , int S>
CNT< double >::template Result
< Row< N, E, S > >::Sub 
SimTK::operator- (const double &l, const Row< N, E, S > &r)
 
template<int N, class E , int S>
Row< N, E, S >::template
Result< long double >::Sub 
SimTK::operator- (const Row< N, E, S > &l, const long double &r)
 
template<int N, class E , int S>
CNT< long double >::template
Result< Row< N, E, S > >::Sub 
SimTK::operator- (const long double &l, const Row< N, E, S > &r)
 
template<int N, class E , int S>
Row< N, E, S >::template
Result< typename CNT< E >
::Precision >::Sub 
SimTK::operator- (const Row< N, E, S > &l, int r)
 
template<int N, class E , int S>
CNT< typename CNT< E >
::Precision >::template Result
< Row< N, E, S > >::Sub 
SimTK::operator- (int l, const Row< N, E, S > &r)
 
template<int N, class E , int S, class R >
Row< N, E, S >::template
Result< std::complex< R >
>::Sub 
SimTK::operator- (const Row< N, E, S > &l, const std::complex< R > &r)
 
template<int N, class E , int S, class R >
CNT< std::complex< R >
>::template Result< Row< N, E,
S > >::Sub 
SimTK::operator- (const std::complex< R > &l, const Row< N, E, S > &r)
 
template<int N, class E , int S, class R >
Row< N, E, S >::template
Result< std::complex< R >
>::Sub 
SimTK::operator- (const Row< N, E, S > &l, const conjugate< R > &r)
 
template<int N, class E , int S, class R >
CNT< std::complex< R >
>::template Result< Row< N, E,
S > >::Sub 
SimTK::operator- (const conjugate< R > &l, const Row< N, E, S > &r)
 
template<int N, class E , int S, class R >
Row< N, E, S >::template
Result< typename negator< R >
::StdNumber >::Sub 
SimTK::operator- (const Row< N, E, S > &l, const negator< R > &r)
 
template<int N, class E , int S, class R >
CNT< R >::template Result< Row
< N, E, S > >::Sub 
SimTK::operator- (const negator< R > &l, const Row< N, E, S > &r)
 
template<int N, class E , int S, class CHAR , class TRAITS >
std::basic_ostream< CHAR,
TRAITS > & 
SimTK::operator<< (std::basic_ostream< CHAR, TRAITS > &o, const Row< N, E, S > &v)
 
template<int N, class E , int S, class CHAR , class TRAITS >
std::basic_istream< CHAR,
TRAITS > & 
SimTK::operator>> (std::basic_istream< CHAR, TRAITS > &is, Row< N, E, S > &v)
 Read a Row from a stream as M elements separated by white space or by commas, optionally enclosed in () or [] (but no leading "~"). More...
 

Detailed Description

This file declares class Row<NCOLS, ELEMENT_TYPE, STRIDE>.