Author: srowen
Date: Thu Sep 15 18:16:21 2011
New Revision: 1171203
URL: http://svn.apache.org/viewvc?rev=1171203&view=rev
Log:
Fix bug in transposed vector view -- mixed up rows / cols?
Modified:
mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractMatrix.java
Modified:
mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractMatrix.java
URL:
http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractMatrix.java?rev=1171203&r1=1171202&r2=1171203&view=diff
==============================================================================
--- mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractMatrix.java
(original)
+++ mahout/trunk/math/src/main/java/org/apache/mahout/math/AbstractMatrix.java
Thu Sep 15 18:16:21 2011
@@ -32,12 +32,11 @@ import java.util.Map;
public abstract class AbstractMatrix implements Matrix {
protected Map<String, Integer> columnLabelBindings;
-
protected Map<String, Integer> rowLabelBindings;
+ protected int rows;
+ protected int columns;
- protected int rows, columns;
-
- public AbstractMatrix(int rows, int columns) {
+ protected AbstractMatrix(int rows, int columns) {
this.rows = rows;
this.columns = columns;
}
@@ -678,16 +677,20 @@ public abstract class AbstractMatrix imp
@Override
public double getQuick(int index) {
- Vector v = rowToColumn ? matrix.viewRow(index) : matrix.viewRow(index);
- return v == null ? 0 : v.getQuick(transposeOffset);
+ Vector v = rowToColumn ? matrix.viewColumn(index) :
matrix.viewRow(index);
+ return v == null ? 0.0 : v.getQuick(transposeOffset);
}
@Override
public void setQuick(int index, double value) {
- Vector v = rowToColumn ? matrix.viewRow(index) : matrix.viewRow(index);
+ Vector v = rowToColumn ? matrix.viewColumn(index) :
matrix.viewRow(index);
if (v == null) {
v = newVector(numCols);
- matrix.assignRow(index, v);
+ if (rowToColumn) {
+ matrix.assignColumn(index, v);
+ } else {
+ matrix.assignRow(index, v);
+ }
}
v.setQuick(transposeOffset, value);
}