Simbody  3.7
Vec.h File Reference

Declaration of class Vec<NROWS, ELEMENT_TYPE, STRIDE>. More...

Go to the source code of this file.

Classes

class  SimTK::Vec< M, ELT, STRIDE >
 This is a fixed-length column vector designed for no-overhead inline computation. More...
 
struct  SimTK::Vec< M, ELT, STRIDE >::EltResult< P >
 
struct  SimTK::Vec< M, ELT, STRIDE >::Result< P >
 
struct  SimTK::Vec< M, ELT, STRIDE >::Substitute< P >
 Shape-preserving element substitution (always packed). More...
 

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, class E1 , int S1, class E2 , int S2>
Vec< M, E1, S1 >::template Result< Vec< M, E2, S2 > >::Add SimTK::operator+ (const Vec< M, E1, S1 > &l, const Vec< M, E2, S2 > &r)
 
template<int M, class E1 , int S1, class E2 , int S2>
Vec< M, E1, S1 >::template Result< Vec< M, E2, S2 > >::Sub SimTK::operator- (const Vec< M, E1, S1 > &l, const Vec< M, E2, S2 > &r)
 
template<int M, class E1 , int S1, class E2 , int S2>
bool SimTK::operator== (const Vec< M, E1, S1 > &l, const Vec< M, E2, S2 > &r)
 bool = v1[i] == v2[i], for all elements i More...
 
template<int M, class E1 , int S1, class E2 , int S2>
bool SimTK::operator!= (const Vec< M, E1, S1 > &l, const Vec< M, E2, S2 > &r)
 bool = v1[i] != v2[i], for any element i More...
 
template<int M, class E1 , int S1, class E2 >
bool SimTK::operator== (const Vec< M, E1, S1 > &v, const E2 &e)
 bool = v[i] == e, for all elements v[i] and element e More...
 
template<int M, class E1 , int S1, class E2 >
bool SimTK::operator!= (const Vec< M, E1, S1 > &v, const E2 &e)
 bool = v[i] != e, for any element v[i] and element e More...
 
template<int M, class E1 , int S1, class E2 , int S2>
bool SimTK::operator< (const Vec< M, E1, S1 > &l, const Vec< M, E2, S2 > &r)
 bool = v1[i] < v2[i], for all elements i More...
 
template<int M, class E1 , int S1, class E2 >
bool SimTK::operator< (const Vec< M, E1, S1 > &v, const E2 &e)
 bool = v[i] < e, for all elements v[i] and element e More...
 
template<int M, class E1 , int S1, class E2 , int S2>
bool SimTK::operator> (const Vec< M, E1, S1 > &l, const Vec< M, E2, S2 > &r)
 bool = v1[i] > v2[i], for all elements i More...
 
template<int M, class E1 , int S1, class E2 >
bool SimTK::operator> (const Vec< M, E1, S1 > &v, const E2 &e)
 bool = v[i] > e, for all elements v[i] and element e More...
 
template<int M, class E1 , int S1, class E2 , int S2>
bool SimTK::operator<= (const Vec< M, E1, S1 > &l, const Vec< M, E2, S2 > &r)
 bool = v1[i] <= v2[i], for all elements i. More...
 
template<int M, class E1 , int S1, class E2 >
bool SimTK::operator<= (const Vec< M, E1, S1 > &v, const E2 &e)
 bool = v[i] <= e, for all elements v[i] and element e. More...
 
template<int M, class E1 , int S1, class E2 , int S2>
bool SimTK::operator>= (const Vec< M, E1, S1 > &l, const Vec< M, E2, S2 > &r)
 bool = v1[i] >= v2[i], for all elements i This is not the same as !(v1<v2). More...
 
template<int M, class E1 , int S1, class E2 >
bool SimTK::operator>= (const Vec< M, E1, S1 > &v, const E2 &e)
 bool = v[i] >= e, for all elements v[i] and element e. More...
 
template<int M, class E , int S>
Vec< M, E, S >::template Result< float >::Mul SimTK::operator* (const Vec< M, E, S > &l, const float &r)
 
template<int M, class E , int S>
Vec< M, E, S >::template Result< float >::Mul SimTK::operator* (const float &l, const Vec< M, E, S > &r)
 
template<int M, class E , int S>
Vec< M, E, S >::template Result< double >::Mul SimTK::operator* (const Vec< M, E, S > &l, const double &r)
 
template<int M, class E , int S>
Vec< M, E, S >::template Result< double >::Mul SimTK::operator* (const double &l, const Vec< M, E, S > &r)
 
template<int M, class E , int S>
Vec< M, E, S >::template Result< typename CNT< E >::Precision >::Mul SimTK::operator* (const Vec< M, E, S > &l, int r)
 
template<int M, class E , int S>
Vec< M, E, S >::template Result< typename CNT< E >::Precision >::Mul SimTK::operator* (int l, const Vec< M, E, S > &r)
 
template<int M, class E , int S, class R >
Vec< M, E, S >::template Result< std::complex< R > >::Mul SimTK::operator* (const Vec< M, E, S > &l, const std::complex< R > &r)
 
template<int M, class E , int S, class R >
Vec< M, E, S >::template Result< std::complex< R > >::Mul SimTK::operator* (const std::complex< R > &l, const Vec< M, E, S > &r)
 
template<int M, class E , int S, class R >
Vec< M, E, S >::template Result< std::complex< R > >::Mul SimTK::operator* (const Vec< M, E, S > &l, const conjugate< R > &r)
 
template<int M, class E , int S, class R >
Vec< M, E, S >::template Result< std::complex< R > >::Mul SimTK::operator* (const conjugate< R > &l, const Vec< M, E, S > &r)
 
template<int M, class E , int S, class R >
Vec< M, E, S >::template Result< typename negator< R >::StdNumber >::Mul SimTK::operator* (const Vec< M, E, S > &l, const negator< R > &r)
 
template<int M, class E , int S, class R >
Vec< M, E, S >::template Result< typename negator< R >::StdNumber >::Mul SimTK::operator* (const negator< R > &l, const Vec< M, E, S > &r)
 
template<int M, class E , int S>
Vec< M, E, S >::template Result< float >::Dvd SimTK::operator/ (const Vec< M, E, S > &l, const float &r)
 
template<int M, class E , int S>
CNT< float >::template Result< Vec< M, E, S > >::Dvd SimTK::operator/ (const float &l, const Vec< M, E, S > &r)
 
template<int M, class E , int S>
Vec< M, E, S >::template Result< double >::Dvd SimTK::operator/ (const Vec< M, E, S > &l, const double &r)
 
template<int M, class E , int S>
CNT< double >::template Result< Vec< M, E, S > >::Dvd SimTK::operator/ (const double &l, const Vec< M, E, S > &r)
 
template<int M, class E , int S>
Vec< M, E, S >::template Result< typename CNT< E >::Precision >::Dvd SimTK::operator/ (const Vec< M, E, S > &l, int r)
 
template<int M, class E , int S>
CNT< typename CNT< E >::Precision >::template Result< Vec< M, E, S > >::Dvd SimTK::operator/ (int l, const Vec< M, E, S > &r)
 
template<int M, class E , int S, class R >
Vec< M, E, S >::template Result< std::complex< R > >::Dvd SimTK::operator/ (const Vec< M, E, S > &l, const std::complex< R > &r)
 
template<int M, class E , int S, class R >
CNT< std::complex< R > >::template Result< Vec< M, E, S > >::Dvd SimTK::operator/ (const std::complex< R > &l, const Vec< M, E, S > &r)
 
template<int M, class E , int S, class R >
Vec< M, E, S >::template Result< std::complex< R > >::Dvd SimTK::operator/ (const Vec< M, E, S > &l, const conjugate< R > &r)
 
template<int M, class E , int S, class R >
CNT< std::complex< R > >::template Result< Vec< M, E, S > >::Dvd SimTK::operator/ (const conjugate< R > &l, const Vec< M, E, S > &r)
 
template<int M, class E , int S, class R >
Vec< M, E, S >::template Result< typename negator< R >::StdNumber >::Dvd SimTK::operator/ (const Vec< M, E, S > &l, const negator< R > &r)
 
template<int M, class E , int S, class R >
CNT< R >::template Result< Vec< M, E, S > >::Dvd SimTK::operator/ (const negator< R > &l, const Vec< M, E, S > &r)
 
template<int M, class E , int S>
Vec< M, E, S >::template Result< float >::Add SimTK::operator+ (const Vec< M, E, S > &l, const float &r)
 
template<int M, class E , int S>
Vec< M, E, S >::template Result< float >::Add SimTK::operator+ (const float &l, const Vec< M, E, S > &r)
 
template<int M, class E , int S>
Vec< M, E, S >::template Result< double >::Add SimTK::operator+ (const Vec< M, E, S > &l, const double &r)
 
template<int M, class E , int S>
Vec< M, E, S >::template Result< double >::Add SimTK::operator+ (const double &l, const Vec< M, E, S > &r)
 
template<int M, class E , int S>
Vec< M, E, S >::template Result< typename CNT< E >::Precision >::Add SimTK::operator+ (const Vec< M, E, S > &l, int r)
 
template<int M, class E , int S>
Vec< M, E, S >::template Result< typename CNT< E >::Precision >::Add SimTK::operator+ (int l, const Vec< M, E, S > &r)
 
template<int M, class E , int S, class R >
Vec< M, E, S >::template Result< std::complex< R > >::Add SimTK::operator+ (const Vec< M, E, S > &l, const std::complex< R > &r)
 
template<int M, class E , int S, class R >
Vec< M, E, S >::template Result< std::complex< R > >::Add SimTK::operator+ (const std::complex< R > &l, const Vec< M, E, S > &r)
 
template<int M, class E , int S, class R >
Vec< M, E, S >::template Result< std::complex< R > >::Add SimTK::operator+ (const Vec< M, E, S > &l, const conjugate< R > &r)
 
template<int M, class E , int S, class R >
Vec< M, E, S >::template Result< std::complex< R > >::Add SimTK::operator+ (const conjugate< R > &l, const Vec< M, E, S > &r)
 
template<int M, class E , int S, class R >
Vec< M, E, S >::template Result< typename negator< R >::StdNumber >::Add SimTK::operator+ (const Vec< M, E, S > &l, const negator< R > &r)
 
template<int M, class E , int S, class R >
Vec< M, E, S >::template Result< typename negator< R >::StdNumber >::Add SimTK::operator+ (const negator< R > &l, const Vec< M, E, S > &r)
 
template<int M, class E , int S>
Vec< M, E, S >::template Result< float >::Sub SimTK::operator- (const Vec< M, E, S > &l, const float &r)
 
template<int M, class E , int S>
CNT< float >::template Result< Vec< M, E, S > >::Sub SimTK::operator- (const float &l, const Vec< M, E, S > &r)
 
template<int M, class E , int S>
Vec< M, E, S >::template Result< double >::Sub SimTK::operator- (const Vec< M, E, S > &l, const double &r)
 
template<int M, class E , int S>
CNT< double >::template Result< Vec< M, E, S > >::Sub SimTK::operator- (const double &l, const Vec< M, E, S > &r)
 
template<int M, class E , int S>
Vec< M, E, S >::template Result< typename CNT< E >::Precision >::Sub SimTK::operator- (const Vec< M, E, S > &l, int r)
 
template<int M, class E , int S>
CNT< typename CNT< E >::Precision >::template Result< Vec< M, E, S > >::Sub SimTK::operator- (int l, const Vec< M, E, S > &r)
 
template<int M, class E , int S, class R >
Vec< M, E, S >::template Result< std::complex< R > >::Sub SimTK::operator- (const Vec< M, E, S > &l, const std::complex< R > &r)
 
template<int M, class E , int S, class R >
CNT< std::complex< R > >::template Result< Vec< M, E, S > >::Sub SimTK::operator- (const std::complex< R > &l, const Vec< M, E, S > &r)
 
template<int M, class E , int S, class R >
Vec< M, E, S >::template Result< std::complex< R > >::Sub SimTK::operator- (const Vec< M, E, S > &l, const conjugate< R > &r)
 
template<int M, class E , int S, class R >
CNT< std::complex< R > >::template Result< Vec< M, E, S > >::Sub SimTK::operator- (const conjugate< R > &l, const Vec< M, E, S > &r)
 
template<int M, class E , int S, class R >
Vec< M, E, S >::template Result< typename negator< R >::StdNumber >::Sub SimTK::operator- (const Vec< M, E, S > &l, const negator< R > &r)
 
template<int M, class E , int S, class R >
CNT< R >::template Result< Vec< M, E, S > >::Sub SimTK::operator- (const negator< R > &l, const Vec< M, E, S > &r)
 
template<int M, class E , int S, class CHAR , class TRAITS >
std::basic_ostream< CHAR, TRAITS > & SimTK::operator<< (std::basic_ostream< CHAR, TRAITS > &o, const Vec< M, E, S > &v)
 
template<int M, class E , int S, class CHAR , class TRAITS >
std::basic_istream< CHAR, TRAITS > & SimTK::operator>> (std::basic_istream< CHAR, TRAITS > &is, Vec< M, E, S > &v)
 Read a Vec from a stream as M elements separated by white space or by commas, optionally enclosed in () [] ~() or ~[]. More...
 

Detailed Description

Declaration of class Vec<NROWS, ELEMENT_TYPE, STRIDE>.