MatrixHelper.h File Reference


Detailed Description

Here we define class MatrixHelper<S>, the scalar-type templatized helper class for the more general, composite numerical type-templatized class MatrixBase<ELT>.

The helper class is not intended to appear directly in user programs; it is client-side code used by the client-side Matrix<CNT>, Vector<CNT>, etc. templates to reduce the infinite set of possible CNT templates to a finite set of scalar templates which can then have hidden implementations in the Simmatrix library. The hidden implementation class will be instantiated once each for float, double, long double and the associated complex and conjugate types, and their negators (a total of 18 types). Element size is dealt with at run time; otherwise the helper knows nothing about the structure of the elements.

The constructors for numerical types should not initialize the numerical values. We take advantage of that here -- this class assumes it can simply allocate the appropriate amount of data as an array of the underlying scalar type, with no implicit initialization. We'll fill uninitialized data with NaNs when debugging or if specifically requested; otherwise it will contain garbage initially.

Note that this is just a templatized handle class. The implementation is private, in the undefined class MatrixHelperRep<S>.

#include "SimTKcommon/Scalar.h"
#include <iostream>
#include <cassert>
#include <complex>
#include <cstddef>

Go to the source code of this file.

Namespaces

namespace  SimTK

Classes

class  MatrixStructures
 Class of enums used to communicate various attributes of matrices that affect which alogrithms are used for factoring, solving etc. More...
class  MatrixShapes
class  MatrixSparseFormats
class  MatrixStorageFormats
class  MatrixConditions
class  MatrixHelper
class  MatrixHelper::ShallowCopy
class  MatrixHelper::DeepCopy
class  MatrixHelper::TransposeView
class  MatrixHelper::DiagonalView


Generated on Thu Feb 28 01:34:34 2008 for SimTKcommon by  doxygen 1.4.7