aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorJoseph E. Gonzalez <joseph.e.gonzalez@gmail.com>2013-10-31 18:01:34 -0700
committerJoseph E. Gonzalez <joseph.e.gonzalez@gmail.com>2013-10-31 18:01:34 -0700
commitd74ad4ebc910e62f2598b7a7323fdc678fa179ca (patch)
tree6ccd41cf0e638e01b03805e3a36e52b023671aba /core
parentaeb773fa47e354396b200c65e51f92af9f340b46 (diff)
downloadspark-d74ad4ebc910e62f2598b7a7323fdc678fa179ca.tar.gz
spark-d74ad4ebc910e62f2598b7a7323fdc678fa179ca.tar.bz2
spark-d74ad4ebc910e62f2598b7a7323fdc678fa179ca.zip
Adding ability to access local BitSet and to safely get a value at a given position
Diffstat (limited to 'core')
-rw-r--r--core/src/main/scala/org/apache/spark/util/hash/OpenHashSet.scala9
1 files changed, 9 insertions, 0 deletions
diff --git a/core/src/main/scala/org/apache/spark/util/hash/OpenHashSet.scala b/core/src/main/scala/org/apache/spark/util/hash/OpenHashSet.scala
index 7aa3f6220c..d083ab26ac 100644
--- a/core/src/main/scala/org/apache/spark/util/hash/OpenHashSet.scala
+++ b/core/src/main/scala/org/apache/spark/util/hash/OpenHashSet.scala
@@ -81,6 +81,8 @@ class OpenHashSet[@specialized(Long, Int) T: ClassManifest](
protected var _data = classManifest[T].newArray(_capacity)
protected var _bitset = new BitSet(_capacity)
+ def getBitSet = _bitset
+
/** Number of elements in the set. */
def size: Int = _size
@@ -147,6 +149,13 @@ class OpenHashSet[@specialized(Long, Int) T: ClassManifest](
/** Return the value at the specified position. */
def getValue(pos: Int): T = _data(pos)
+ /** Return the value at the specified position. */
+ def getValueSafe(pos: Int): T = {
+ assert(_bitset.get(pos))
+ _data(pos)
+ }
+
+
/**
* Return the next position with an element stored, starting from the given position inclusively.
*/