Changeset 1c4d613e749d9e677b5d4a13214e93bfee485937

Show
Ignore:
Timestamp:
04/30/08 12:52:10 (8 months ago)
Author:
krayouva <krayouva@…>
Parents:
ed4cf588b31c5ebb50b4d502802d243fec2cb338
Children:
75ff31607066f7bcb0b471c3652443662c0f985f
git-committer:
krayouva <krayouva@gmail.com> / 2008-04-29T22:52:10Z-0400
Message:

* Forgot to removed factored out bv_unset

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • c/src/bitvector.c

    red4cf5 r1c4d61  
    3535    bv->count = 0; 
    3636    bv->size = 0; 
    37 } 
    38  
    39 void bv_unset(BitVector *bv, int bit) 
    40 { 
    41     frt_u32 *word_p; 
    42     int word = bit >> 5; 
    43     frt_u32 bitmask = 1 << (bit & 31); 
    44  
    45     /* Check to see if we need to grow the BitVector */ 
    46     if (unlikely(bit >= bv->size)) { 
    47         bv->size = bit + 1; /* size is max range of bits set */ 
    48         if (word >= bv->capa) { 
    49             int capa = bv->capa << 1; 
    50             while (capa <= word) { 
    51                 capa <<= 1; 
    52             } 
    53             FRT_REALLOC_N(bv->bits, frt_u32, capa); 
    54             memset(bv->bits + bv->capa, (bv->extends_as_ones ? 0xFF : 0), 
    55                    sizeof(frt_u32) * (capa - bv->capa)); 
    56             bv->capa = capa; 
    57         } 
    58     } 
    59  
    60     /* Set the required bit */ 
    61     word_p = &(bv->bits[word]); 
    62     if ((bitmask & *word_p) != 0) { 
    63         bv->count--; /* update count */ 
    64         *word_p &= ~bitmask; 
    65     } 
    6637} 
    6738