summaryrefslogtreecommitdiff
path: root/elki/src/main/java/de/lmu/ifi/dbs/elki/database/ids/integer/TroveHashSetModifiableDBIDs.java
diff options
context:
space:
mode:
authorErich Schubert <erich@debian.org>2016-02-13 17:05:40 +0100
committerAndrej Shadura <andrewsh@debian.org>2019-03-09 22:30:47 +0000
commitdefdc6d2d24cb1cefca77aa63ca6c436a8f3672c (patch)
treea017235849736e0a0ea8a2b28de23f46dc47b082 /elki/src/main/java/de/lmu/ifi/dbs/elki/database/ids/integer/TroveHashSetModifiableDBIDs.java
parentaee1a6e43bd1a264226de31eadf10003c46d47c6 (diff)
parent0a055548ae9f9d5c639bb29ca32e0fd88de37c1d (diff)
Import Debian changes 0.7.1-1
elki (0.7.1-1) unstable; urgency=low * New upstream release (mostly bug fixes) * Drop patches included upstream * Build-dep on default-jdk instead of openjdk7-jdk (Closes: #814163)
Diffstat (limited to 'elki/src/main/java/de/lmu/ifi/dbs/elki/database/ids/integer/TroveHashSetModifiableDBIDs.java')
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/database/ids/integer/TroveHashSetModifiableDBIDs.java9
1 files changed, 5 insertions, 4 deletions
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/database/ids/integer/TroveHashSetModifiableDBIDs.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/database/ids/integer/TroveHashSetModifiableDBIDs.java
index 2fc54afd..912a501b 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/database/ids/integer/TroveHashSetModifiableDBIDs.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/database/ids/integer/TroveHashSetModifiableDBIDs.java
@@ -40,6 +40,7 @@ import de.lmu.ifi.dbs.elki.utilities.datastructures.iterator.Iter;
* Implementation using GNU Trove Int Hash Sets.
*
* @author Erich Schubert
+ * @since 0.4.0
*
* @apiviz.has Itr
*/
@@ -158,7 +159,7 @@ class TroveHashSetModifiableDBIDs implements HashSetModifiableDBIDs, IntegerDBID
}
@Override
- public void pop(DBIDVar outvar) {
+ public DBIDVar pop(DBIDVar outvar) {
if(store.size() == 0) {
throw new ArrayIndexOutOfBoundsException("Cannot pop() from an empty array.");
}
@@ -167,9 +168,8 @@ class TroveHashSetModifiableDBIDs implements HashSetModifiableDBIDs, IntegerDBID
while(i-- > 0 && (states[i] != TPrimitiveHash.FULL)) {
; // Not occupied. Continue
}
- if(i < 0) {
- outvar.unset();
- return;
+ if(i < 0) { // Should never happen because size > 0
+ throw new ArrayIndexOutOfBoundsException("Cannot pop() from an empty array.");
}
final int val = store._set[i];
if(outvar instanceof IntegerDBIDVar) {
@@ -180,6 +180,7 @@ class TroveHashSetModifiableDBIDs implements HashSetModifiableDBIDs, IntegerDBID
}
// Unfortunately, not visible: store.removeAt(i);
store.remove(val);
+ return outvar;
}
/**