Ejemplo n.º 1
0
/**
* Adds one matrix to another.
* Addition is defined by taking the maximum dimension value of each position
* in the summand matrices.
*
* @param im the matrix to add
*/
void IntersectionMatrix::add(IntersectionMatrix *im) {
	for(int i=0;i<3;i++) {
		for(int j=0;j<3;j++) {
			setAtLeast(i,j,im->get(i,j));
		}
	}
}
Ejemplo n.º 2
0
/*public*/
void
IntersectionMatrix::add(IntersectionMatrix* other)
{
	for(int i = 0; i < firstDim; i++) {
		for(int j = 0; j < secondDim; j++) {
			setAtLeast(i, j, other->get(i, j));
		}
	}
}
Ejemplo n.º 3
0
/*public*/
void
IntersectionMatrix::setAtLeastIfValid(int row, int col, int minimumDimensionValue)
{
	assert( row >= 0 && row < firstDim );
	assert( col >= 0 && col < secondDim );
	
	if (row >= 0 && col >= 0)
	{
		setAtLeast(row, col, minimumDimensionValue);
	}
}
Ejemplo n.º 4
0
void IntersectionMatrix::setAtLeast(string minimumDimensionSymbols) {
	unsigned int limit;
	if ((unsigned int)minimumDimensionSymbols.length()<=9)
		limit=(unsigned int)minimumDimensionSymbols.length();
	else limit=9;

	for (unsigned int i = 0; i < limit; i++) {
		int row = i / 3;
		int col = i % 3;
		setAtLeast(row, col, Dimension::toDimensionValue(minimumDimensionSymbols[i]));
	}
}
Ejemplo n.º 5
0
/*public*/
void
IntersectionMatrix::setAtLeast(string minimumDimensionSymbols)
{
	size_t limit = minimumDimensionSymbols.length();

	for (size_t i = 0; i < limit; i++)
	{
		int row = i / firstDim;
		int col = i % secondDim;
		setAtLeast(row, col, Dimension::toDimensionValue(minimumDimensionSymbols[i]));
	}
}
Ejemplo n.º 6
0
void IntersectionMatrix::setAtLeastIfValid(int row, int column, int minimumDimensionValue) {
	if (row >= 0 && column >= 0) {
		setAtLeast(row, column, minimumDimensionValue);
	}
}