fixes for getSubset() (#1979)

This commit is contained in:
Ben Fry
2013-07-18 15:27:48 -07:00
parent 48d654153f
commit 65b05aed71
3 changed files with 28 additions and 19 deletions
+22 -9
View File
@@ -577,17 +577,18 @@ public class FloatList implements Iterable<Float> {
// }
public void subset(int start) {
subset(start, count - start);
}
// public void subset(int start) {
// subset(start, count - start);
// }
public void subset(int start, int num) {
for (int i = 0; i < num; i++) {
data[i] = data[i+start];
}
count = num;
}
// public void subset(int start, int num) {
// for (int i = 0; i < num; i++) {
// data[i] = data[i+start];
// }
// count = num;
// }
/**
* @webref floatlist:method
@@ -707,6 +708,18 @@ public class FloatList implements Iterable<Float> {
}
public FloatList getSubset(int start) {
return getSubset(start, count - start);
}
public FloatList getSubset(int start, int num) {
float[] subset = new float[num];
System.arraycopy(data, start, subset, 0, num);
return new FloatList(subset);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
+3 -5
View File
@@ -704,11 +704,9 @@ public class IntList implements Iterable<Integer> {
public IntList getSubset(int start, int num) {
IntList outgoing = new IntList(num);
for (int i = 0; i < num; i++) {
System.arraycopy(data, start, outgoing.data, 0, num);
}
return outgoing;
int[] subset = new int[num];
System.arraycopy(data, start, subset, 0, num);
return new IntList(subset);
}
+3 -5
View File
@@ -648,11 +648,9 @@ public class StringList implements Iterable<String> {
public StringList getSubset(int start, int num) {
StringList outgoing = new StringList(num);
for (int i = 0; i < num; i++) {
System.arraycopy(data, start, outgoing.data, 0, num);
}
return outgoing;
String[] subset = new String[num];
System.arraycopy(data, start, subset, 0, num);
return new StringList(subset);
}