summaryrefslogtreecommitdiff
path: root/src/library
diff options
context:
space:
mode:
authormichelou <michelou@epfl.ch>2007-03-08 14:58:02 +0000
committermichelou <michelou@epfl.ch>2007-03-08 14:58:02 +0000
commit8514f85695a5ec0fd179d4304b071e249fa4ab3b (patch)
tree16e75f84faddb36d51ecb6374f9a076d2b18c984 /src/library
parent60d600e1a14d3cc9c099a9c3a69d0f3b94c3544d (diff)
downloadscala-8514f85695a5ec0fd179d4304b071e249fa4ab3b.tar.gz
scala-8514f85695a5ec0fd179d4304b071e249fa4ab3b.tar.bz2
scala-8514f85695a5ec0fd179d4304b071e249fa4ab3b.zip
added more test cases for class BitSet
Diffstat (limited to 'src/library')
-rw-r--r--src/library/scala/collection/BitSet.scala14
-rw-r--r--src/library/scala/collection/immutable/BitSet.scala2
2 files changed, 11 insertions, 5 deletions
diff --git a/src/library/scala/collection/BitSet.scala b/src/library/scala/collection/BitSet.scala
index 62d970c4b7..0952e01432 100644
--- a/src/library/scala/collection/BitSet.scala
+++ b/src/library/scala/collection/BitSet.scala
@@ -1,7 +1,7 @@
/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2003-2007, LAMP/EPFL **
-** __\ \/ /__/ __ |/ /__/ __ | **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
** /____/\___/_/ |_/____/_/ | | **
** |/ **
\* */
@@ -35,8 +35,13 @@ abstract class BitSet extends Set[Int] {
* @param i ...
* @return <code>true</code> if bit <code>i</code> is set.
*/
- def contains(i: Int): Boolean =
- (i < capacity) && ((arr(offset(i)) & mask(i)) != 0)
+ def contains(i: Int): Boolean = {
+ (i < capacity) && {
+ val j = offset(i)
+ (0 <= j) && (j < arr.length) &&
+ ((arr(j) & mask(i)) != 0)
+ }
+ }
def capacity: Int
@@ -61,7 +66,8 @@ abstract class BitSet extends Set[Int] {
def toArray: Array[Int] = {
val length = memsize(capacity)
val newarr = new Array[Int](length)
- arraycopy(this.arr, 0, newarr, 0, length)
+ if (arr.length > 0)
+ arraycopy(this.arr, 0, newarr, 0, length)
newarr
}
diff --git a/src/library/scala/collection/immutable/BitSet.scala b/src/library/scala/collection/immutable/BitSet.scala
index 9dad0ba39e..946b75a406 100644
--- a/src/library/scala/collection/immutable/BitSet.scala
+++ b/src/library/scala/collection/immutable/BitSet.scala
@@ -40,7 +40,7 @@ class BitSet(val size: Int, val capacity: Int, ba: Array[Int], copy: Boolean)
import compat.Platform.arraycopy
protected val arr: Array[Int] = {
- val ba1 = if (ba != null && ba.length > 0) ba else Array(0)
+ val ba1 = if (ba != null) ba else new Array[Int](0)
if (copy) {
val arr = new Array[Int](ba1.length)
arraycopy(ba1, 0, arr, 0, ba1.length)