Hi John, It looks like the adjustSize is the problem. If I call adjustsSize(0, 316) on the vector, it prepends the zeros to the front of the bitvector instead of appending the zeros to the end of the bitvector.
Is that the intended functionality of adjustSize? Cheers, Teryl On Fri, Mar 16, 2012 at 2:13 PM, K. John Wu <[email protected]> wrote: > Hi, Teryl, > > Looks like the code for handling tow bitvectors with differing sizes > has some bugs in it. I will look into the problem. In the mean time, > simply making sure the two bitvectors represents the same number of > bits should give the desired answer. The function to use to make sure > the shorter one has the same number of bits as the longer one is > ibis::bitvector::adjustSize. This function takes two arguments, it > will fill the bitvector with 1s until the position given by the first > argument and then fill the remaining positions with 0s until the > second argument. > > Good luck. > > John > > PS: The documentation of ibis::bitvector::adjustSize is available > online at > > > http://lbl.gov/~kwu/fastbit/doc/html/classibis_1_1bitvector.html#a96d95020682574405a91ac6dfed1da69 > > > > On 3/16/12 9:31 AM, Teryl Taylor wrote: > > Hi John, > > > > I hope all is going well! I'm playing around with the > > ibis::bitvector API and I'm seeing some peculiar behavior. I'm > > trying to AND two bitmaps of different sizes together.... The first > > bitmap looks as follows: > > > > > > > > > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > > ----------------------------------------------------------- > > > > This bitvector stores 0 bits of a 1-bit (1 set) sequence in a 0-word > > array and one bit in the active word > > 0 1 1 2 2 3 > > 0123456789012345678901234567890 > > ------------------------------- > > 40000000 1 > > ----------------------------------------------------------- > > > > > > > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > > It has one set bit, and that is the zeroth bit in the bitmap. It is > > basically one 32 bit literal. > > > > > > I want to And it with the following bitmap which is 326 bits long > > which is basically all 1's. > > > > > > > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > > > > This bitvector stores 310 bits of a 326-bit (326 set) sequence in a > > 1-word array and 16 bits in the active word > > 0 1 1 2 2 3 > > 0123456789012345678901234567890 > > ------------------------------- > > 0 c000000a 310*1 > > 7fff8000 1111111111111111 > > > > > > > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > > > > Now, the first bitmap, should match with the first bit of the second > > bitmap (so, basically the first bitmap should be seen as 326 bits > > long...with the first bit being set to 1, and the rest zeros). So > > when I AND the two together, I want the result to be a bitvector with > > the first bit set to one, and the following 325 bits all set to zero. > > > > > > But what I'm seeing is the following result: > > > > > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > > > > This bitvector stores 310 bits of a 326-bit (1 set) sequence in a > > 1-word array and 16 bits in the active word > > 0 1 1 2 2 3 > > 0123456789012345678901234567890 > > ------------------------------- > > 0 8000000a 310*0 > > 40000000 1000000000000000 > > > > > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > > Which has 310 0's before the one bit is set.... I'm using the &= > > operator to do operation. so it goes smallBitmap &= bigBitmap. > > > > > > Is there an easy way to get the answer I am looking for? Or am I > > using the bitvectors incorrectly? > > > > > > Best Regards, > > > > > > Teryl > > > > > > > > > > _______________________________________________ > > FastBit-users mailing list > > [email protected] > > https://hpcrdm.lbl.gov/cgi-bin/mailman/listinfo/fastbit-users >
_______________________________________________ FastBit-users mailing list [email protected] https://hpcrdm.lbl.gov/cgi-bin/mailman/listinfo/fastbit-users
