summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
87761c2)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@7797
48e7efb5-ca39-0410-a469-
dd3cf9ba447f
for(i=0; i < set->size; i++){
if(set->bitmap[i] != 0){
for(k=0; k < BITS_INT; k++){
for(i=0; i < set->size; i++){
if(set->bitmap[i] != 0){
for(k=0; k < BITS_INT; k++){
- if(_is_bit_set(k,set->bitmap[i])){
+ if(_is_bit_set(k, set->bitmap[i])){
(*cursor)->idx = i * BITS_INT + k;
return;
}
(*cursor)->idx = i * BITS_INT + k;
return;
}
/* Advance a cursor to the next element */
void xbt_setset_cursor_next(xbt_setset_cursor_t cursor)
{
/* Advance a cursor to the next element */
void xbt_setset_cursor_next(xbt_setset_cursor_t cursor)
{
- /* Traverse the set and point the cursor to the first element */
- for(i = cursor->idx / BITS_INT; i < cursor->set->size; i++){
- if(cursor->set->bitmap[i] != 0){
- for(k = cursor->idx % BITS_INT; k < BITS_INT; k++){
- if(_is_bit_set(k,cursor->set->bitmap[i])){
- cursor->idx = i * BITS_INT + k;
- return;
- }
- }
+ while(cursor->idx < cursor->set->size * BITS_INT)
+ {
+ if(_is_bit_set(cursor->idx % BITS_INT, cursor->set->bitmap[cursor->idx / BITS_INT])){
+ return;
+ }else{
+ cursor->idx += cursor->set->bitmap[cursor->idx / BITS_INT] ? 1 : BITS_INT;
void _unset_bit(unsigned int bit, unsigned int *bitmap)
{
bitmap[bit / BITS_INT] &= ~(0x1 << (bit % BITS_INT));
void _unset_bit(unsigned int bit, unsigned int *bitmap)
{
bitmap[bit / BITS_INT] &= ~(0x1 << (bit % BITS_INT));
+}
\ No newline at end of file