Row Class Template Reference

#include <Row.h>

List of all members.


Detailed Description

template<int N, class ELT, int STRIDE>
class SimTK::Row< N, ELT, STRIDE >

Generic Row.


Public Types

typedef Row< N, E, STRIDE > T
typedef Row< N, ENeg, STRIDE > TNeg
typedef Row< N, EWithoutNegator,
STRIDE > 
TWithoutNegator
typedef Row< N, EReal, STRIDE
*CNT< E >::RealStrideFactor > 
TReal
typedef Row< N, EImag, STRIDE
*CNT< E >::RealStrideFactor > 
TImag
typedef Row< N, EComplex,
STRIDE > 
TComplex
typedef Vec< N, EHerm, STRIDE > THerm
typedef Vec< N, E, STRIDE > TPosTrans
typedef E TElement
typedef Row TRow
typedef E TCol
typedef Row< N, EAbs, 1 > TAbs
typedef Row< N, EStandard, 1 > TStandard
typedef Vec< N, EInvert, 1 > TInvert
typedef Row< N, ENormalize, 1 > TNormalize
typedef SymMat< N, ESqHermT > TSqHermT
typedef EScalarSq TSqTHerm
typedef EScalar Scalar
typedef ENumber Number
typedef EStdNumber StdNumber
typedef EPrecision Precision
typedef EScalarSq ScalarSq
 NRows = 1
 NCols = N
 RowSpacing = 1
 ColSpacing = STRIDE
 NPackedElements = N
 NActualElements = N * STRIDE
 NActualScalars = CNT<E>::NActualScalars * NActualElements
 ImagOffset = NTraits<ENumber>::ImagOffset
 RealStrideFactor = 1
 ArgDepth
 IsScalar = 0
 IsNumber = 0
 IsStdNumber = 0
 IsPrecision = 0
 SignInterpretation = CNT<E>::SignInterpretation
enum  {
  NRows = 1, NCols = N, RowSpacing = 1, ColSpacing = STRIDE,
  NPackedElements = N, NActualElements = N * STRIDE, NActualScalars = CNT<E>::NActualScalars * NActualElements, ImagOffset = NTraits<ENumber>::ImagOffset,
  RealStrideFactor = 1, ArgDepth, IsScalar = 0, IsNumber = 0,
  IsStdNumber = 0, IsPrecision = 0, SignInterpretation = CNT<E>::SignInterpretation
}

Public Member Functions

int size () const
int nrow () const
int ncol () const
ScalarSq scalarNormSqr () const
TAbs abs () const
TStandard standardize () const
EStandard sum () const
 Row ()
 Row (const Row &src)
Rowoperator= (const Row &src)
template<int SS>
 Row (const Row< N, E, SS > &src)
template<int SS>
 Row (const Row< N, ENeg, SS > &src)
template<class EE, int SS>
 Row (const Row< N, EE, SS > &vv)
 Row (const ELT &e)
 Row (const E &e0, const E &e1)
 Row (const E &e0, const E &e1, const E &e2)
 Row (const E &e0, const E &e1, const E &e2, const E &e3)
 Row (const E &e0, const E &e1, const E &e2, const E &e3, const E &e4)
 Row (const E &e0, const E &e1, const E &e2, const E &e3, const E &e4, const E &e5)
template<class EE>
 Row (const EE *p)
template<class EE>
Rowoperator= (const EE *p)
template<class EE, int SS>
Rowoperator= (const Row< N, EE, SS > &vv)
template<class EE, int SS>
Rowoperator+= (const Row< N, EE, SS > &r)
template<class EE, int SS>
Rowoperator+= (const Row< N, negator< EE >, SS > &r)
template<class EE, int SS>
Rowoperator-= (const Row< N, EE, SS > &r)
template<class EE, int SS>
Rowoperator-= (const Row< N, negator< EE >, SS > &r)
template<class EE, int SS>
Row< N, typename CNT< E
>::template Result< EE
>::Add > 
conformingAdd (const Row< N, EE, SS > &r) const
template<class EE, int SS>
Row< N, typename CNT< E
>::template Result< EE
>::Sub > 
conformingSubtract (const Row< N, EE, SS > &r) const
template<class EE, int SS>
CNT< E >::template Result<
EE >::Mul 
conformingMultiply (const Vec< N, EE, SS > &r) const
template<int MatNCol, class EE, int CS, int RS>
Row< MatNCol, typename CNT<
E >::template Result< EE
>::Mul > 
conformingMultiply (const Mat< N, MatNCol, EE, CS, RS > &m) const
const E & operator[] (int i) const
E & operator[] (int i)
const E & operator() (int i) const
E & operator() (int i)
ScalarSq normSqr () const
ScalarSq norm () const
TNormalize normalize () const
TInvert invert () const
const Rowoperator+ () const
const TNegoperator- () const
TNegoperator- ()
const THermoperator~ () const
THermoperator~ ()
const TNegnegate () const
TNegupdNegate ()
const THermtranspose () const
THermupdTranspose ()
const TPosTranspositionalTranspose () const
TPosTransupdPositionalTranspose ()
const TRealreal () const
TRealreal ()
const TImagimag () const
TImagimag ()
const TWithoutNegatorcastAwayNegatorIfAny () const
TWithoutNegatorupdCastAwayNegatorIfAny ()
template<class EE>
Row< N, typename CNT< E
>::template Result< EE
>::Mul > 
scalarMultiply (const EE &e) const
template<class EE>
Row< N, typename CNT< EE
>::template Result< E >::Mul > 
scalarMultiplyFromLeft (const EE &e) const
template<class EE>
Row< N, typename CNT< E
>::template Result< EE
>::Dvd > 
scalarDivide (const EE &e) const
template<class EE>
Row< N, typename CNT< EE
>::template Result< E >::Dvd > 
scalarDivideFromLeft (const EE &e) const
template<class EE>
Row< N, typename CNT< E
>::template Result< EE
>::Add > 
scalarAdd (const EE &e) const
template<class EE>
Row< N, typename CNT< E
>::template Result< EE
>::Sub > 
scalarSubtract (const EE &e) const
template<class EE>
Row< N, typename CNT< EE
>::template Result< E >::Sub > 
scalarSubtractFromLeft (const EE &e) const
template<class EE>
Rowoperator= (const EE &e)
template<class EE>
Rowoperator+= (const EE &e)
template<class EE>
Rowoperator-= (const EE &e)
template<class EE>
Rowoperator *= (const EE &e)
template<class EE>
Rowoperator/= (const EE &e)
template<class EE>
RowscalarEq (const EE &ee)
template<class EE>
RowscalarPlusEq (const EE &ee)
template<class EE>
RowscalarMinusEq (const EE &ee)
template<class EE>
RowscalarInverseMinusEq (const EE &ee)
template<class EE>
RowscalarTimesEq (const EE &ee)
template<class EE>
RowscalarDivideEq (const EE &ee)
template<class EE>
RowscalarInverseDivideEq (const EE &ee)
void setToNaN ()
template<int NN>
const Row< NN, ELT, STRIDE > & getSubRow (int j) const
template<int NN>
Row< NN, ELT, STRIDE > & updSubRow (int j)
Row< N-1, ELT, 1 > drop1 (int p) const
template<class EE>
Row< N+1, ELT, 1 > append1 (const EE &v) const
template<class EE>
Row< N+1, ELT, 1 > insert1 (int p, const EE &v) const

Static Public Member Functions

static const RowgetAs (const ELT *p)
static RowupdAs (ELT *p)
template<int NN>
static const RowgetSubRow (const Row< NN, ELT, STRIDE > &r, int j)
template<int NN>
static RowupdSubRow (Row< NN, ELT, STRIDE > &r, int j)
static Row< N, ELT, 1 > getNaN ()

Classes

struct  EltResult
struct  Result
struct  Substitute


Member Typedef Documentation

typedef ENumber Number

typedef EPrecision Precision

typedef EScalar Scalar

typedef EScalarSq ScalarSq

typedef EStdNumber StdNumber

typedef Row<N,E,STRIDE> T

typedef Row<N,EAbs,1> TAbs

typedef E TCol

typedef Row<N,EComplex,STRIDE> TComplex

typedef E TElement

typedef Vec<N,EHerm,STRIDE> THerm

typedef Row<N,EImag,STRIDE*CNT<E>::RealStrideFactor> TImag

typedef Vec<N,EInvert,1> TInvert

typedef Row<N,ENeg,STRIDE> TNeg

typedef Row<N,ENormalize,1> TNormalize

typedef Vec<N,E,STRIDE> TPosTrans

typedef Row<N,EReal,STRIDE*CNT<E>::RealStrideFactor> TReal

typedef Row TRow

typedef SymMat<N,ESqHermT> TSqHermT

typedef EScalarSq TSqTHerm

typedef Row<N,EStandard,1> TStandard

typedef Row<N,EWithoutNegator,STRIDE> TWithoutNegator


Member Enumeration Documentation

anonymous enum

Enumerator:
NRows 
NCols 
RowSpacing 
ColSpacing 
NPackedElements 
NActualElements 
NActualScalars 
ImagOffset 
RealStrideFactor 
ArgDepth 
IsScalar 
IsNumber 
IsStdNumber 
IsPrecision 
SignInterpretation 


Constructor & Destructor Documentation

Row (  )  [inline]

Row ( const Row< N, ELT, STRIDE > &  src  )  [inline]

Row ( const Row< N, E, SS > &  src  )  [inline]

Row ( const Row< N, ENeg, SS > &  src  )  [inline]

Row ( const Row< N, EE, SS > &  vv  )  [inline, explicit]

Row ( const ELT &  e  )  [inline, explicit]

Row ( const E &  e0,
const E &  e1 
) [inline]

Row ( const E &  e0,
const E &  e1,
const E &  e2 
) [inline]

Row ( const E &  e0,
const E &  e1,
const E &  e2,
const E &  e3 
) [inline]

Row ( const E &  e0,
const E &  e1,
const E &  e2,
const E &  e3,
const E &  e4 
) [inline]

Row ( const E &  e0,
const E &  e1,
const E &  e2,
const E &  e3,
const E &  e4,
const E &  e5 
) [inline]

Row ( const EE *  p  )  [inline, explicit]


Member Function Documentation

TAbs abs (  )  const [inline]

Reimplemented in UnitRow.

Row<N+1,ELT,1> append1 ( const EE &  v  )  const [inline]

const TWithoutNegator& castAwayNegatorIfAny (  )  const [inline]

Row<N,typename CNT<E>::template Result<EE>::Add> conformingAdd ( const Row< N, EE, SS > &  r  )  const [inline]

Row<MatNCol,typename CNT<E>::template Result<EE>::Mul> conformingMultiply ( const Mat< N, MatNCol, EE, CS, RS > &  m  )  const [inline]

CNT<E>::template Result<EE>::Mul conformingMultiply ( const Vec< N, EE, SS > &  r  )  const [inline]

Row<N,typename CNT<E>::template Result<EE>::Sub> conformingSubtract ( const Row< N, EE, SS > &  r  )  const [inline]

Row<N-1,ELT,1> drop1 ( int  p  )  const [inline]

static const Row& getAs ( const ELT *  p  )  [inline, static]

static Row<N,ELT,1> getNaN (  )  [inline, static]

static const Row& getSubRow ( const Row< NN, ELT, STRIDE > &  r,
int  j 
) [inline, static]

const Row<NN,ELT,STRIDE>& getSubRow ( int  j  )  const [inline]

TImag& imag (  )  [inline]

const TImag& imag (  )  const [inline]

Row<N+1,ELT,1> insert1 ( int  p,
const EE &  v 
) const [inline]

TInvert invert (  )  const [inline]

int ncol (  )  const [inline]

const TNeg& negate (  )  const [inline]

Reimplemented in UnitRow.

ScalarSq norm (  )  const [inline]

TNormalize normalize (  )  const [inline]

ScalarSq normSqr (  )  const [inline]

int nrow (  )  const [inline]

Row& operator *= ( const EE &  e  )  [inline]

E& operator() ( int  i  )  [inline]

const E& operator() ( int  i  )  const [inline]

Reimplemented in UnitRow.

const Row& operator+ (  )  const [inline]

Row& operator+= ( const EE &  e  )  [inline]

Row& operator+= ( const Row< N, negator< EE >, SS > &  r  )  [inline]

Row& operator+= ( const Row< N, EE, SS > &  r  )  [inline]

TNeg& operator- (  )  [inline]

const TNeg& operator- (  )  const [inline]

Reimplemented in UnitRow.

Row& operator-= ( const EE &  e  )  [inline]

Row& operator-= ( const Row< N, negator< EE >, SS > &  r  )  [inline]

Row& operator-= ( const Row< N, EE, SS > &  r  )  [inline]

Row& operator/= ( const EE &  e  )  [inline]

Row& operator= ( const EE &  e  )  [inline]

Row& operator= ( const Row< N, EE, SS > &  vv  )  [inline]

Row& operator= ( const EE *  p  )  [inline]

Row& operator= ( const Row< N, ELT, STRIDE > &  src  )  [inline]

E& operator[] ( int  i  )  [inline]

const E& operator[] ( int  i  )  const [inline]

Reimplemented in UnitRow.

THerm& operator~ (  )  [inline]

Reimplemented in UnitRow.

const THerm& operator~ (  )  const [inline]

Reimplemented in UnitRow.

const TPosTrans& positionalTranspose (  )  const [inline]

TReal& real (  )  [inline]

const TReal& real (  )  const [inline]

Row<N, typename CNT<E>::template Result<EE>::Add> scalarAdd ( const EE &  e  )  const [inline]

Row<N, typename CNT<E>::template Result<EE>::Dvd> scalarDivide ( const EE &  e  )  const [inline]

Row& scalarDivideEq ( const EE &  ee  )  [inline]

Row<N, typename CNT<EE>::template Result<E>::Dvd> scalarDivideFromLeft ( const EE &  e  )  const [inline]

Row& scalarEq ( const EE &  ee  )  [inline]

Row& scalarInverseDivideEq ( const EE &  ee  )  [inline]

Row& scalarInverseMinusEq ( const EE &  ee  )  [inline]

Row& scalarMinusEq ( const EE &  ee  )  [inline]

Row<N, typename CNT<E>::template Result<EE>::Mul> scalarMultiply ( const EE &  e  )  const [inline]

Row<N, typename CNT<EE>::template Result<E>::Mul> scalarMultiplyFromLeft ( const EE &  e  )  const [inline]

ScalarSq scalarNormSqr (  )  const [inline]

Row& scalarPlusEq ( const EE &  ee  )  [inline]

Row<N, typename CNT<E>::template Result<EE>::Sub> scalarSubtract ( const EE &  e  )  const [inline]

Row<N, typename CNT<EE>::template Result<E>::Sub> scalarSubtractFromLeft ( const EE &  e  )  const [inline]

Row& scalarTimesEq ( const EE &  ee  )  [inline]

void setToNaN (  )  [inline]

int size (  )  const [inline]

TStandard standardize (  )  const [inline]

EStandard sum (  )  const [inline]

const THerm& transpose (  )  const [inline]

static Row& updAs ( ELT *  p  )  [inline, static]

TWithoutNegator& updCastAwayNegatorIfAny (  )  [inline]

TNeg& updNegate (  )  [inline]

TPosTrans& updPositionalTranspose (  )  [inline]

static Row& updSubRow ( Row< NN, ELT, STRIDE > &  r,
int  j 
) [inline, static]

Row<NN,ELT,STRIDE>& updSubRow ( int  j  )  [inline]

THerm& updTranspose (  )  [inline]


The documentation for this class was generated from the following file:
Generated on Thu Feb 28 01:34:37 2008 for SimTKcommon by  doxygen 1.4.7