This class collects masks of each characteristic type for representing sets of accceptable characteristics. More...
#include <MatrixCharacteristics.h>
Public Types | |
typedef unsigned int | SizeMask |
Public Member Functions | |
Mask () | |
bool | isResizable () const |
bool | isFullyResizable () const |
bool | isNumRowsLocked () const |
bool | isNumColsLocked () const |
unsigned int | getNumRowsMask () const |
unsigned int | getNumColsMask () const |
unsigned int | getLowerBandwidthMask () const |
unsigned int | getUpperBandwidthMask () const |
int | getDefaultNumRows () const |
int | getDefaultNumCols () const |
bool | isLowerBandwidthLocked () const |
bool | isUpperBandwidthLocked () const |
int | getDefaultLowerBandwidth () const |
int | getDefaultUpperBandwidth () const |
Mask & | setToUncommitted () |
Set all bits to one ("Uncommitted"). | |
bool | isUncommitted () const |
Return if all fields are set to "Uncommitted" (all bits are one). | |
bool | isSatisfiedBy (const MatrixCharacter &actual) const |
Check whether an actual matrix character satisfies this matrix commitment. | |
bool | isSizeOK (int m, int n) const |
Check whether an actual size satisfies the size commitment. | |
bool | isBandwidthOK (int lower, int upper) const |
Check whether an actual bandwidth satisfies the bandwidth commitment. | |
Public Attributes | |
SizeMask | nr |
number of rows | |
SizeMask | nc |
number of columns | |
SizeMask | lband |
lower bandwidth, if banded | |
SizeMask | uband |
upper bandwidth, if banded | |
MatrixStructure::Mask | structure |
MatrixStorage::Mask | storage |
MatrixOutline::Mask | outline |
MatrixCondition::Mask | condition |
Static Public Attributes | |
static const SizeMask | SizeUncommitted = 0xffffffffU |
Friends | |
class | MatrixCommitment |
This class collects masks of each characteristic type for representing sets of accceptable characteristics.
typedef unsigned int SizeMask |
Mask | ( | ) | [inline] |
References Mask::setToUncommitted().
int getDefaultLowerBandwidth | ( | ) | const [inline] |
References Mask::isLowerBandwidthLocked(), and Mask::lband.
int getDefaultNumCols | ( | ) | const [inline] |
References Mask::isNumColsLocked(), and Mask::nc.
int getDefaultNumRows | ( | ) | const [inline] |
References Mask::isNumRowsLocked(), and Mask::nr.
int getDefaultUpperBandwidth | ( | ) | const [inline] |
References Mask::isUpperBandwidthLocked(), and Mask::uband.
unsigned int getLowerBandwidthMask | ( | ) | const [inline] |
References Mask::lband.
unsigned int getNumColsMask | ( | ) | const [inline] |
References Mask::nc.
unsigned int getNumRowsMask | ( | ) | const [inline] |
References Mask::nr.
unsigned int getUpperBandwidthMask | ( | ) | const [inline] |
References Mask::uband.
bool isBandwidthOK | ( | int | lower, | |
int | upper | |||
) | const [inline] |
Check whether an actual bandwidth satisfies the bandwidth commitment.
(If the matrix isn't banded any bandwidth will be OK.)
References Mask::lband, and Mask::uband.
Referenced by Mask::isSatisfiedBy().
bool isFullyResizable | ( | ) | const [inline] |
References Mask::nc, Mask::nr, and Mask::SizeUncommitted.
bool isLowerBandwidthLocked | ( | ) | const [inline] |
References Mask::lband, and Mask::SizeUncommitted.
Referenced by Mask::getDefaultLowerBandwidth().
bool isNumColsLocked | ( | ) | const [inline] |
References Mask::nc, and Mask::SizeUncommitted.
Referenced by Mask::getDefaultNumCols().
bool isNumRowsLocked | ( | ) | const [inline] |
References Mask::nr, and Mask::SizeUncommitted.
Referenced by Mask::getDefaultNumRows().
bool isResizable | ( | ) | const [inline] |
References Mask::nc, Mask::nr, and Mask::SizeUncommitted.
bool isSatisfiedBy | ( | const MatrixCharacter & | actual | ) | const [inline] |
Check whether an actual matrix character satisfies this matrix commitment.
References Mask::condition, MatrixCharacter::getCondition(), MatrixCharacter::getOutline(), MatrixCharacter::getStorage(), MatrixCharacter::getStructure(), Mask::isBandwidthOK(), Mask::isSatisfiedBy(), Mask::isSizeOK(), MatrixCharacter::lband, MatrixCharacter::nc, MatrixCharacter::nr, Mask::outline, Mask::storage, Mask::structure, and MatrixCharacter::uband.
bool isSizeOK | ( | int | m, | |
int | n | |||
) | const [inline] |
Check whether an actual size satisfies the size commitment.
References Mask::nc, and Mask::nr.
Referenced by Mask::isSatisfiedBy().
bool isUncommitted | ( | ) | const [inline] |
Return if all fields are set to "Uncommitted" (all bits are one).
References Mask::condition, Mask::isUncommitted(), Mask::lband, Mask::nc, Mask::nr, Mask::outline, Mask::SizeUncommitted, Mask::storage, Mask::structure, and Mask::uband.
bool isUpperBandwidthLocked | ( | ) | const [inline] |
References Mask::SizeUncommitted, and Mask::uband.
Referenced by Mask::getDefaultUpperBandwidth().
Mask& setToUncommitted | ( | ) | [inline] |
Set all bits to one ("Uncommitted").
References Mask::condition, Mask::lband, Mask::nc, Mask::nr, Mask::outline, Mask::setToUncommitted(), Mask::SizeUncommitted, Mask::storage, Mask::structure, and Mask::uband.
Referenced by Mask::Mask().
friend class MatrixCommitment [friend] |
Referenced by Mask::isSatisfiedBy(), Mask::isUncommitted(), and Mask::setToUncommitted().
lower bandwidth, if banded
Referenced by Mask::getDefaultLowerBandwidth(), Mask::getLowerBandwidthMask(), Mask::isBandwidthOK(), Mask::isLowerBandwidthLocked(), Mask::isUncommitted(), and Mask::setToUncommitted().
number of columns
Referenced by Mask::getDefaultNumCols(), Mask::getNumColsMask(), Mask::isFullyResizable(), Mask::isNumColsLocked(), Mask::isResizable(), Mask::isSizeOK(), Mask::isUncommitted(), and Mask::setToUncommitted().
number of rows
Referenced by Mask::getDefaultNumRows(), Mask::getNumRowsMask(), Mask::isFullyResizable(), Mask::isNumRowsLocked(), Mask::isResizable(), Mask::isSizeOK(), Mask::isUncommitted(), and Mask::setToUncommitted().
Referenced by Mask::isSatisfiedBy(), Mask::isUncommitted(), and Mask::setToUncommitted().
const SizeMask SizeUncommitted = 0xffffffffU [static] |
Referenced by Mask::isSatisfiedBy(), Mask::isUncommitted(), and Mask::setToUncommitted().
Referenced by Mask::isSatisfiedBy(), Mask::isUncommitted(), and Mask::setToUncommitted().
upper bandwidth, if banded
Referenced by Mask::getDefaultUpperBandwidth(), Mask::getUpperBandwidthMask(), Mask::isBandwidthOK(), Mask::isUncommitted(), Mask::isUpperBandwidthLocked(), and Mask::setToUncommitted().