You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by sr...@apache.org on 2010/04/07 14:08:35 UTC
svn commit: r931513 - in
/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model:
BooleanItemPreferenceArray.java BooleanUserPreferenceArray.java
GenericItemPreferenceArray.java GenericUserPreferenceArray.java
Author: srowen
Date: Wed Apr 7 12:08:35 2010
New Revision: 931513
URL: http://svn.apache.org/viewvc?rev=931513&view=rev
Log:
MAHOUT-367 allow a zero-length pref array
Modified:
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/BooleanItemPreferenceArray.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/BooleanUserPreferenceArray.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/GenericItemPreferenceArray.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/GenericUserPreferenceArray.java
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/BooleanItemPreferenceArray.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/BooleanItemPreferenceArray.java?rev=931513&r1=931512&r2=931513&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/BooleanItemPreferenceArray.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/BooleanItemPreferenceArray.java Wed Apr 7 12:08:35 2010
@@ -41,19 +41,20 @@ public final class BooleanItemPreference
private long id;
public BooleanItemPreferenceArray(int size) {
- if (size < 1) {
- throw new IllegalArgumentException("size is less than 1");
- }
this.IDs = new long[size];
+ this.id = Long.MIN_VALUE; // as a sort of 'unspecified' value
}
public BooleanItemPreferenceArray(List<Preference> prefs, boolean forOneUser) {
this(prefs.size());
- for (int i = 0; i < prefs.size(); i++) {
+ int size = prefs.size();
+ for (int i = 0; i < size; i++) {
Preference pref = prefs.get(i);
IDs[i] = forOneUser ? pref.getItemID() : pref.getUserID();
}
- id = forOneUser ? prefs.get(0).getUserID() : prefs.get(0).getItemID();
+ if (size > 0) {
+ id = forOneUser ? prefs.get(0).getUserID() : prefs.get(0).getItemID();
+ }
}
/**
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/BooleanUserPreferenceArray.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/BooleanUserPreferenceArray.java?rev=931513&r1=931512&r2=931513&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/BooleanUserPreferenceArray.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/BooleanUserPreferenceArray.java Wed Apr 7 12:08:35 2010
@@ -41,19 +41,20 @@ public final class BooleanUserPreference
private long id;
public BooleanUserPreferenceArray(int size) {
- if (size < 1) {
- throw new IllegalArgumentException("size is less than 1");
- }
this.IDs = new long[size];
+ this.id = Long.MIN_VALUE; // as a sort of 'unspecified' value
}
public BooleanUserPreferenceArray(List<Preference> prefs) {
this(prefs.size());
- for (int i = 0; i < prefs.size(); i++) {
+ int size = prefs.size();
+ for (int i = 0; i < size; i++) {
Preference pref = prefs.get(i);
IDs[i] = pref.getItemID();
}
- id = prefs.get(0).getUserID();
+ if (size > 0) {
+ id = prefs.get(0).getUserID();
+ }
}
/**
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/GenericItemPreferenceArray.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/GenericItemPreferenceArray.java?rev=931513&r1=931512&r2=931513&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/GenericItemPreferenceArray.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/GenericItemPreferenceArray.java Wed Apr 7 12:08:35 2010
@@ -45,21 +45,22 @@ public final class GenericItemPreference
private final float[] values;
public GenericItemPreferenceArray(int size) {
- if (size < 1) {
- throw new IllegalArgumentException("size is less than 1");
- }
this.IDs = new long[size];
values = new float[size];
+ this.id = Long.MIN_VALUE; // as a sort of 'unspecified' value
}
public GenericItemPreferenceArray(List<Preference> prefs) {
this(prefs.size());
- for (int i = 0; i < prefs.size(); i++) {
+ int size = prefs.size();
+ for (int i = 0; i < size; i++) {
Preference pref = prefs.get(i);
IDs[i] = pref.getUserID();
values[i] = pref.getValue();
}
- id = prefs.get(0).getItemID();
+ if (size > 0) {
+ id = prefs.get(0).getItemID();
+ }
}
/**
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/GenericUserPreferenceArray.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/GenericUserPreferenceArray.java?rev=931513&r1=931512&r2=931513&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/GenericUserPreferenceArray.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/model/GenericUserPreferenceArray.java Wed Apr 7 12:08:35 2010
@@ -46,21 +46,22 @@ public final class GenericUserPreference
private final float[] values;
public GenericUserPreferenceArray(int size) {
- if (size < 1) {
- throw new IllegalArgumentException("size is less than 1");
- }
this.IDs = new long[size];
values = new float[size];
+ this.id = Long.MIN_VALUE; // as a sort of 'unspecified' value
}
public GenericUserPreferenceArray(List<Preference> prefs) {
this(prefs.size());
- for (int i = 0; i < prefs.size(); i++) {
+ int size = prefs.size();
+ for (int i = 0; i < size; i++) {
Preference pref = prefs.get(i);
IDs[i] = pref.getItemID();
values[i] = pref.getValue();
}
- id = prefs.get(0).getUserID();
+ if (size > 0) {
+ id = prefs.get(0).getUserID();
+ }
}
/**