projects
/
fleet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
16b5645
)
add BitVector.toLong()
author
adam
<adam@megacz.com>
Thu, 26 Jun 2008 23:59:19 +0000
(
00:59
+0100)
committer
adam
<adam@megacz.com>
Thu, 26 Jun 2008 23:59:19 +0000
(
00:59
+0100)
src/edu/berkeley/fleet/api/BitVector.java
patch
|
blob
|
history
diff --git
a/src/edu/berkeley/fleet/api/BitVector.java
b/src/edu/berkeley/fleet/api/BitVector.java
index
9282200
..
f8127bf
100644
(file)
--- a/
src/edu/berkeley/fleet/api/BitVector.java
+++ b/
src/edu/berkeley/fleet/api/BitVector.java
@@
-84,6
+84,17
@@
public class BitVector {
return false;
return true;
}
+
+ /** WARNING: be careful -- future Fleets may be more than 64 bits wide! */
+ public long toLong() {
+ if (length() > 64)
+ throw new RuntimeException("a " + length() + "-bit BitVector cannot fit in a Java long");
+ long ret = 0;
+ for(int i=0; i<64; i++)
+ if (i<length() ? get(i) : get(length()-1))
+ ret |= (1L << i);
+ return ret;
+ }
}