"I am a person who works hard and plays hard."

Yuan Wei
Second Year Graduate Student Department of Computer Science
University of Virginia Charlottesville, VA 22903
Email: yw3f@cs.virginia.edu


Source Code Analysis

Main Page   Compound List   File List   Compound Members   File Members  

bitmap.h File Reference

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Defines

Typedefs


Define Documentation

#define __BITMAP_OP B1,
B2,
B3,
SZ,
OP       { int i; for (i=0; i<(SZ); i++) (B1)[i] = (B2)[i] OP (B3)[i]; }
 

Definition at line 108 of file bitmap.h.

#define BITMAP_AND B1,
B2,
B3,
SZ       __BITMAP_OP(B1, B2, B3, SZ, &)
 

Definition at line 120 of file bitmap.h.

#define BITMAP_CLEAR BMAP,
SZ,
BIT       (((BMAP)[(BIT)/32] &= ~(1 << ((BIT) % 32))), (BMAP))
 

Definition at line 100 of file bitmap.h.

#define BITMAP_CLEAR_MAP BMAP,
SZ       { int i; for (i=0; i<(SZ); i++) (BMAP)[i] = 0; }
 

Definition at line 92 of file bitmap.h.

Referenced by cv_init(), ruu_recover(), tracer_init(), and tracer_recover().

#define BITMAP_CLEAR_P BMAP,
SZ,
BIT       (!BMAP_SET_P((BMAP), (SZ), (BIT)))
 

Definition at line 140 of file bitmap.h.

#define BITMAP_COPY DESTMAP,
SRCMAP,
SZ       { int i; for (i=0; i<(SZ); i++) (DESTMAP)[i] = (SRCMAP)[i]; }
 

Definition at line 104 of file bitmap.h.

#define BITMAP_COUNT_ONES BMAP,
SZ   
 

Value:

({                                                              \
  int i, j, n = 0;                                              \
  for (i = 0; i < (SZ) ; i++)                                   \
    {                                                           \
      unsigned int word = (BMAP)[i];                            \
      for (j=0; j < (sizeof(unsigned int)*8); j++)              \
        {                                                       \
          unsigned int new_val, old_val = word;                 \
          word >>= 1;                                           \
          new_val = word << 1;                                  \
          if (old_val != new_val)                               \
            n++;                                                \
        }                                                       \
    }                                                           \
  n;                                                            \
})

Definition at line 144 of file bitmap.h.

#define BITMAP_DISJOINT_P B1,
B2,
SZ       ({ int i, res=0; for (i=0; i<(SZ); i++) res |= (B1)[i] & (B2)[i]; !res; })
 

Definition at line 132 of file bitmap.h.

#define BITMAP_EMPTY_P BMAP,
SZ       ({ int i, res=0; for (i=0; i<(SZ); i++) res |= (BMAP)[i]; !res; })
 

Definition at line 128 of file bitmap.h.

#define BITMAP_IOR B1,
B2,
B3,
SZ       __BITMAP_OP(B1, B2, B3, SZ, |)
 

Definition at line 112 of file bitmap.h.

#define BITMAP_NOT B1,
B2,
SZ       { int i; for (i=0; i<(SZ); i++) (B1)[i] = ~((B2)[i]); }
 

Definition at line 124 of file bitmap.h.

#define BITMAP_SET BMAP,
SZ,
BIT       (((BMAP)[(BIT)/32] |= (1 << ((BIT) % 32))), (BMAP))
 

Definition at line 96 of file bitmap.h.

#define BITMAP_SET_MAP BMAP,
SZ       { int i; for (i=0; i<(SZ); i++) (BMAP)[i] = 0xffffffff; }
 

Definition at line 88 of file bitmap.h.

#define BITMAP_SET_P BMAP,
SZ,
BIT       (((BMAP)[(BIT)/32] & (1 << ((BIT) % 32))) != 0)
 

Definition at line 136 of file bitmap.h.

Referenced by rspec_dump().

#define BITMAP_SIZE BITS       (((BITS)+31)/32)
 

Definition at line 81 of file bitmap.h.

#define BITMAP_TYPE BITS,
NAME       unsigned int (NAME)[BITMAP_SIZE(BITS)]
 

Definition at line 82 of file bitmap.h.

#define BITMAP_XOR B1,
B2,
B3,
SZ       __BITMAP_OP(B1, B2, B3, SZ, ^)
 

Definition at line 116 of file bitmap.h.


Typedef Documentation

typedef unsigned int BITMAP_ENT_TYPE
 

Definition at line 84 of file bitmap.h.

Referenced by eventq_queue_clearbit(), and eventq_queue_setbit().

typedef unsigned int* BITMAP_PTR_TYPE
 

Definition at line 85 of file bitmap.h.



UVa CS Department of Computer Science
School of Engineering, University of Virginia
151 Engineer's Way, P.O. Box 400740
Charlottesville, Virginia 22904-4740

(434) 982-2200  Fax: (434) 982-2214