FS2_Open
Open source remastering of the Freespace 2 engine
bitarray.h File Reference

Go to the source code of this file.

Macros

#define get_bit(array, bitnum)   ((((ubyte *) array)[(bitnum) >> 3] >> ((bitnum) & 7)) & 1)
 
#define set_bit(array, bitnum)   (((ubyte *) array)[(bitnum) >> 3] |= (1 << ((bitnum) & 7)))
 
#define clear_bit(array, bitnum)   (((ubyte *) array)[(bitnum) >> 3] &= ~(1 << ((bitnum) & 7)))
 
#define toggle_bit(array, bitnum)   (((ubyte *) array)[(bitnum) >> 3] ^= (1 << ((bitnum) & 7)))
 
#define calculate_num_bytes(num_bits)   ((num_bits >> 3) + 1)
 

Macro Definition Documentation

#define calculate_num_bytes (   num_bits)    ((num_bits >> 3) + 1)

Definition at line 46 of file bitarray.h.

#define clear_bit (   array,
  bitnum 
)    (((ubyte *) array)[(bitnum) >> 3] &= ~(1 << ((bitnum) & 7)))

Definition at line 39 of file bitarray.h.

#define get_bit (   array,
  bitnum 
)    ((((ubyte *) array)[(bitnum) >> 3] >> ((bitnum) & 7)) & 1)

Definition at line 33 of file bitarray.h.

#define set_bit (   array,
  bitnum 
)    (((ubyte *) array)[(bitnum) >> 3] |= (1 << ((bitnum) & 7)))

Definition at line 36 of file bitarray.h.

#define toggle_bit (   array,
  bitnum 
)    (((ubyte *) array)[(bitnum) >> 3] ^= (1 << ((bitnum) & 7)))

Definition at line 42 of file bitarray.h.