From e8cf720168d98994d7805427312e0e02c2fade15 Mon Sep 17 00:00:00 2001 From: megacz Date: Mon, 29 Dec 2008 17:42:58 -0800 Subject: [PATCH] add BitVector.get(int,int) --- src/edu/berkeley/fleet/api/BitVector.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/edu/berkeley/fleet/api/BitVector.java b/src/edu/berkeley/fleet/api/BitVector.java index d54b2bc..9c111b6 100644 --- a/src/edu/berkeley/fleet/api/BitVector.java +++ b/src/edu/berkeley/fleet/api/BitVector.java @@ -69,6 +69,18 @@ public class BitVector { return bits[bit]; } + /** get a sub-BitVector of a BitVector */ + public BitVector get(int high, int low) { + if (low < 0 || high < 0 || high>low) + throw new RuntimeException("attempt to invoke BitVector("+high+","+low+")"); + if (high > length()-1) + throw new RuntimeException("attempt to invoke BitVector("+high+","+low+") on an "+length()+"-bit BitVector"); + BitVector ret = new BitVector(1+high-low); + for(int i=low; i<=high; i++) + ret.set(i-low, get(i)); + return ret; + } + public String toString() { StringBuffer ret = new StringBuffer(); ret.append(length()+""); -- 1.7.10.4