/** * print method for debugging */ public void printMe() { for (int i = 0; i < this.row; i++) { for (int j = 0; j < this.col; j++) { MatrixElement e = this.matrix[i, j]; if (this.coveredRows[e.getMyRow()]) { Console.Out.Write("|"); } if (this.coveredCols[e.getMyCol()]) { Console.Out.Write("|"); } if (e.getValue() < Double.MaxValue) { double temp = ((int)(e.getValue() * 1000.0)) / 1000.0; Console.Out.Write(temp); } else { Console.Out.Write("inf"); } if (e.isPrimed()) { Console.Out.Write("'"); } if (e.isStarred()) { Console.Out.Write("*"); } if (this.coveredRows[e.getMyRow()]) { Console.Out.Write("|"); } if (this.coveredCols[e.getMyCol()]) { Console.Out.Write("|"); } Console.Out.Write("\t"); } Console.Out.WriteLine(); } Console.Out.Write("\n"); }
/** * @return a int[][] with the indices representing the mappings */ public int[,] getStarredIndices(int dim) { int[,] indices = new int[dim, 2]; int counter = 0; for (int i = 0; i < this.row; i++) { for (int j = 0; j < this.col; j++) { MatrixElement e = this.matrix[i, j]; if (e.isStarred()) { indices[counter, 0] = i; indices[counter, 1] = j; counter++; } } } return(indices); }