Matrix "storage" refers to the physical layout of data in the computer’s memory.
More...
#include <MatrixCharacteristics.h>
List of all members.
Classes |
struct | Mask |
| Use this class to represent sets of acceptable values for each of the storage attributes (packing, position, order, diagonal). More...
|
Public Types |
enum | Packing {
NoPacking = 0x0000,
Full = 0x0001,
TriInFull = 0x0002,
TriPacked = 0x0004,
Banded = 0x0008,
Vector = 0x0010,
Scalar = 0x0020,
Permutation = 0x0040
} |
enum | Placement { NoPlacement = 0x0000,
Lower = 0x0001,
Upper = 0x0002
} |
enum | Order { NoOrder = 0x0000,
ColumnOrder = 0x0001,
RowOrder = 0x0002
} |
enum | Diagonal { NoDiag = 0x0000,
StoredDiag = 0x0001,
AssumedDiag = 0x0002
} |
typedef unsigned short | PackingMask |
typedef unsigned short | PlacementMask |
typedef unsigned short | OrderMask |
typedef unsigned short | DiagonalMask |
Public Member Functions |
std::string | name () const |
Mask | mask () const |
| Calculate the commitment mask associated with specifying "this" set of storage attributes as a commitment.
|
| MatrixStorage () |
| Default constructor leaves all fields unspecified.
|
| MatrixStorage (Packing pk, Placement pl=NoPlacement, Order o=NoOrder, Diagonal d=NoDiag) |
| This constructor is also an implicit conversion from the Packing enum to a MatrixStorage object which does not contain any specification for placement, order, or storage of diagonal elements.
|
| MatrixStorage (Packing pk, Order o) |
| This constructor is for the common case of just packing and order, with no particular placement and a stored diagonal.
|
MatrixStorage & | setMissingAttributes () |
| Assuming this is an actual matrix description, set any unspecified attributes to appropriate defaults to match the specified packing.
|
MatrixStorage & | setToNone () |
| Restore this object to its default-constructed state of "none".
|
MatrixStorage & | setPacking (Packing p) |
MatrixStorage & | setPlacement (Placement p) |
MatrixStorage & | setOrder (Order o) |
MatrixStorage & | setDiagonal (Diagonal d) |
Packing | getPacking () const |
Placement | getPlacement () const |
Order | getOrder () const |
Diagonal | getDiagonal () const |
Static Public Member Functions |
static const char * | name (Packing) |
static const char * | name (Placement) |
static const char * | name (Order) |
static const char * | name (Diagonal) |
static MatrixStorage | calcDefaultStorage (const MatrixStructure &, const MatrixOutline &) |
Static Public Attributes |
static const PackingMask | AllPacking = 0x007fU |
static const PackingMask | UncommittedPacking = 0xffffU |
static const PlacementMask | AllPlacement = 0x0003U |
static const PlacementMask | UncommittedPlacement = 0xffffU |
static const OrderMask | AllOrder = 0x03U |
static const OrderMask | UncommittedOrder = 0xffU |
static const DiagonalMask | AllDiagonal = 0x0003U |
static const DiagonalMask | UncommittedDiagonal = 0xffffU |
Detailed Description
Matrix "storage" refers to the physical layout of data in the computer’s memory.
Whenever possible we attempt to store data in a format that enables use of special high performance methods, such as those available in the SimTK LAPACK/BLAS implementation.
Member Typedef Documentation
Member Enumeration Documentation
- Enumerator:
NoDiag |
|
StoredDiag |
|
AssumedDiag |
|
- Enumerator:
NoOrder |
|
ColumnOrder |
|
RowOrder |
|
- Enumerator:
NoPacking |
|
Full |
|
TriInFull |
|
TriPacked |
|
Banded |
|
Vector |
|
Scalar |
|
Permutation |
|
Constructor & Destructor Documentation
Default constructor leaves all fields unspecified.
This constructor is also an implicit conversion from the Packing enum to a MatrixStorage object which does not contain any specification for placement, order, or storage of diagonal elements.
This constructor is for the common case of just packing and order, with no particular placement and a stored diagonal.
Member Function Documentation
Order getOrder |
( |
|
) |
const [inline] |
Packing getPacking |
( |
|
) |
const [inline] |
Mask mask |
( |
|
) |
const [inline] |
std::string name |
( |
|
) |
const [inline] |
static const char* name |
( |
Diagonal |
|
) |
[static] |
static const char* name |
( |
Order |
|
) |
[static] |
static const char* name |
( |
Placement |
|
) |
[static] |
static const char* name |
( |
Packing |
|
) |
[static] |
Assuming this is an actual matrix description, set any unspecified attributes to appropriate defaults to match the specified packing.
Restore this object to its default-constructed state of "none".
Member Data Documentation
The documentation for this class was generated from the following file: