|
| MatrixCommitment () |
|
| MatrixCommitment (const MatrixStructure &str) |
| This is an implicit conversion from a MatrixStructure specification to a MatrixCommitment with storage, outline, and condition uncommitted. More...
|
|
MatrixCommitment & | commitSize (int m, int n) |
|
MatrixCommitment & | commitNumRows (int m) |
|
MatrixCommitment & | commitNumCols (int n) |
|
MatrixCommitment & | commitBandwidth (int lb, int ub) |
|
MatrixCommitment & | commitLowerBandwidth (int lb) |
|
MatrixCommitment & | commitUpperBandwidth (int ub) |
|
MatrixCommitment & | commitStructure (const MatrixStructure &s) |
|
MatrixCommitment & | commitStorage (const MatrixStorage &s) |
|
MatrixCommitment & | commitOutline (const MatrixOutline &o) |
|
MatrixCommitment & | commitCondition (const MatrixCondition &c) |
|
MatrixCharacter | calcDefaultCharacter (int minNumRows, int minNumCols) const |
| For any handle commitment, we can calculate a "best character" for an allocation that satisfies the commitment, optionally with an initial allocation size. More...
|
|
const MatrixStructure & | getStructureCommitment () const |
| These report the commitment as it was specified. More...
|
|
const MatrixStorage & | getStorageCommitment () const |
|
const MatrixOutline & | getOutlineCommitment () const |
|
const MatrixCondition & | getConditionCommitment () const |
|
const MatrixStructure::Mask & | getStructureMask () const |
| These report the masks of acceptable values generated from the commitment. More...
|
|
const MatrixStorage::Mask & | getStorageMask () const |
|
const MatrixOutline::Mask & | getOutlineMask () const |
|
const MatrixCondition::Mask & | getConditionMask () const |
|
MatrixCharacter::Mask::SizeMask | getNumRowsMask () const |
|
MatrixCharacter::Mask::SizeMask | getNumColsMask () const |
|
MatrixCharacter::Mask::SizeMask | getLowerBandwidthMask () const |
|
MatrixCharacter::Mask::SizeMask | getUpperBandwidthMask () const |
|
int | getDefaultNumRows () const |
|
int | getDefaultNumCols () const |
|
bool | isSizeOK (int m, int n) const |
|
bool | isSizeOK (const std::pair< int, int > &mn) const |
|
bool | isBandwidthOK (int lower, int upper) const |
|
bool | isSatisfiedBy (const MatrixCharacter &actual) const |
|
bool | isStructureOK (const MatrixStructure &s) const |
|
bool | isStorageOK (const MatrixStorage &s) const |
|
bool | isOutlineOK (const MatrixOutline &o) const |
|
bool | isConditionOK (const MatrixCondition &c) const |
|
bool | isResizeable () const |
|
bool | isFullyResizeable () const |
|
bool | isNumRowsLocked () const |
|
bool | isNumColsLocked () const |
|
bool | isStructureCommitted () const |
|
bool | isStorageCommitted () const |
|
bool | isOutlineCommitted () const |
|
bool | isConditionCommitted () const |
|
void | clear () |
| Set commitment s to "none" and masks to "uncommitted" for all characteristics. More...
|
|
A MatrixCommitment provides a set of acceptable matrix characteristics.
Since we define the characteristics each with its own bit, a commitment is implemented as a set of masks with bits set corresponding to the acceptable characteristics.
MatrixCharacter SimTK::MatrixCommitment::calcDefaultCharacter |
( |
int |
minNumRows, |
|
|
int |
minNumCols |
|
) |
| const |
For any handle commitment, we can calculate a "best character" for an allocation that satisfies the commitment, optionally with an initial allocation size.
Typically it is the least-restrictive actual character that satisfies the commitment. For example, if the commitment is Triangular we'll allocate a full triangular matrix, not a banded one, or a symmetric one, or for that matter an identity matrix, all of which would satisfy the commitment. The supplied sizes are used as minima – if the commitment requires a larger minimum size you'll get that. For example, if you specify 0x0 but you're committed to a Column outline, you'll get 0x1.