You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hama.apache.org by ed...@apache.org on 2008/11/18 10:01:38 UTC
svn commit: r718523 - in /incubator/hama/trunk: CHANGES.txt
src/java/org/apache/hama/SubMatrix.java
src/java/org/apache/hama/algebra/BlockCyclicMultiplyReduce.java
src/test/org/apache/hama/TestDenseMatrix.java
Author: edwardyoon
Date: Tue Nov 18 01:01:37 2008
New Revision: 718523
URL: http://svn.apache.org/viewvc?rev=718523&view=rev
Log:
SubMatrix should be able to get row, column size
Modified:
incubator/hama/trunk/CHANGES.txt
incubator/hama/trunk/src/java/org/apache/hama/SubMatrix.java
incubator/hama/trunk/src/java/org/apache/hama/algebra/BlockCyclicMultiplyReduce.java
incubator/hama/trunk/src/test/org/apache/hama/TestDenseMatrix.java
Modified: incubator/hama/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/CHANGES.txt?rev=718523&r1=718522&r2=718523&view=diff
==============================================================================
--- incubator/hama/trunk/CHANGES.txt (original)
+++ incubator/hama/trunk/CHANGES.txt Tue Nov 18 01:01:37 2008
@@ -78,6 +78,7 @@
BUG FIXES
+ HAMA-106: SubMatrix should be able to get row, column size (edwardyoon)
HAMA-98: change '~=' operation to use `echo $f | grep 'examples$'`
(samuel via edwardyoon)
HAMA-64: Bytes and Double convert (edwardyoon)
Modified: incubator/hama/trunk/src/java/org/apache/hama/SubMatrix.java
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/src/java/org/apache/hama/SubMatrix.java?rev=718523&r1=718522&r2=718523&view=diff
==============================================================================
--- incubator/hama/trunk/src/java/org/apache/hama/SubMatrix.java (original)
+++ incubator/hama/trunk/src/java/org/apache/hama/SubMatrix.java Tue Nov 18 01:01:37 2008
@@ -37,7 +37,7 @@
* @param j the size of columns
*/
public SubMatrix(int i, int j) {
- matrix = new double[i][j];
+ this.matrix = new double[i][j];
}
/**
@@ -79,9 +79,9 @@
* @return c
*/
public SubMatrix add(SubMatrix b) {
- double[][] C = new double[size()][size()];
- for (int i = 0; i < size(); i++) {
- for (int j = 0; j < size(); j++) {
+ double[][] C = new double[getRows()][getColumns()];
+ for (int i = 0; i < this.getRows(); i++) {
+ for (int j = 0; j < this.getColumns(); j++) {
C[i][j] += this.get(i, j) + b.get(i, j);
}
}
@@ -96,10 +96,10 @@
* @return c
*/
public SubMatrix mult(SubMatrix b) {
- double[][] C = new double[size()][size()];
- for (int i = 0; i < size(); i++) {
- for (int j = 0; j < size(); j++) {
- for (int k = 0; k < size(); k++) {
+ double[][] C = new double[getRows()][getColumns()];
+ for (int i = 0; i < this.getRows(); i++) {
+ for (int j = 0; j < b.getColumns(); j++) {
+ for (int k = 0; k < this.getColumns(); k++) {
C[i][k] += this.get(i, j) * b.get(j, k);
}
}
@@ -108,15 +108,14 @@
return new SubMatrix(C);
}
- /**
- * TODO: SubMatrix should be able to get row, column size
- *
- * @return the length
- */
- public int size() {
- return matrix.length;
+ public int getRows() {
+ return this.matrix.length;
}
-
+
+ public int getColumns() {
+ return this.matrix[0].length;
+ }
+
public void close() {
matrix = null;
}
Modified: incubator/hama/trunk/src/java/org/apache/hama/algebra/BlockCyclicMultiplyReduce.java
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/src/java/org/apache/hama/algebra/BlockCyclicMultiplyReduce.java?rev=718523&r1=718522&r2=718523&view=diff
==============================================================================
--- incubator/hama/trunk/src/java/org/apache/hama/algebra/BlockCyclicMultiplyReduce.java (original)
+++ incubator/hama/trunk/src/java/org/apache/hama/algebra/BlockCyclicMultiplyReduce.java Tue Nov 18 01:01:37 2008
@@ -62,13 +62,12 @@
int column = e.getKey();
SubMatrix mat = e.getValue();
- int startRow = row * mat.size();
- int startColumn = column * mat.size();
+ int startRow = row * mat.getRows();
+ int startColumn = column * mat.getColumns();
- // TODO: sub matrix can be not a regular sqaure
- for (int i = 0; i < mat.size(); i++) {
+ for (int i = 0; i < mat.getRows(); i++) {
VectorUpdate update = new VectorUpdate(i + startRow);
- for (int j = 0; j < mat.size(); j++) {
+ for (int j = 0; j < mat.getColumns(); j++) {
update.put(j + startColumn, mat.get(i, j));
}
output.collect(key, update);
Modified: incubator/hama/trunk/src/test/org/apache/hama/TestDenseMatrix.java
URL: http://svn.apache.org/viewvc/incubator/hama/trunk/src/test/org/apache/hama/TestDenseMatrix.java?rev=718523&r1=718522&r2=718523&view=diff
==============================================================================
--- incubator/hama/trunk/src/test/org/apache/hama/TestDenseMatrix.java (original)
+++ incubator/hama/trunk/src/test/org/apache/hama/TestDenseMatrix.java Tue Nov 18 01:01:37 2008
@@ -124,8 +124,8 @@
public void testSubMatrix() throws IOException {
SubMatrix a = m1.subMatrix(2, 4, 2, 4);
- for (int i = 0; i < a.size(); i++) {
- for (int j = 0; j < a.size(); j++) {
+ for (int i = 0; i < a.getRows(); i++) {
+ for (int j = 0; j < a.getColumns(); j++) {
assertEquals(a.get(i, j), m1.get(i + 2, j + 2));
}
}