|
Compounds |
struct | Gan_BitArray |
| 1-dimensional array of bits More...
|
Defines |
#define | GAN_BITWORD_SIZE 64 |
#define | GAN_BITWORD_FULL (gan_ui64) GAN_UI64_MAX |
#define | GAN_MSB_SET (gan_ui64) 0x8000000000000000 |
#define | GAN_LSB_SET (gan_ui64) 1 |
Typedefs |
typedef gan_ui64 | Gan_BitWord |
| 64-bit word
|
typedef Gan_BitArray | Gan_BitArray |
| 1-dimensional array of bits
|
Enumerations |
enum | Gan_Alignment { GAN_WORD_ALIGNMENT,
GAN_BYTE_ALIGNMENT,
GAN_BIT_ALIGNMENT
} |
| Alignment options when computing bounds of a bit array. More...
|
Functions |
Gan_BitArray * | gan_bit_array_form_data (Gan_BitArray *ba, Gan_BitWord *data, unsigned data_words, unsigned int no_bits) |
| Form new bit array using pre-allocated data array.
|
Gan_BitArray * | gan_bit_array_ms_form (Gan_MemoryStack *ms, Gan_BitArray *ba, unsigned int no_bits) |
| Form new bit array using stack memory style memory allocation.
|
Gan_Bool | gan_bit_array_set_size (Gan_BitArray *ba, unsigned int no_bits) |
| Reset size of existing bit array.
|
void | gan_bit_array_free (Gan_BitArray *ba) |
| Free bit array.
|
void | gan_bit_array_free_va (Gan_BitArray *ba,...) |
| Free NULL terminated list of bit arrays.
|
Gan_Bool | gan_bit_array_invert_i (Gan_BitArray *ba) |
| Invert all the bits in a bit array.
|
Gan_BitArray * | gan_bit_array_invert_s (Gan_BitArray *ba) |
| Invert all the bits in a bit array.
|
Gan_Bool | gan_bit_array_and_i (Gan_BitArray *ba_dst, Gan_BitArray *ba) |
| Perform binary AND operation between two bit arrays.
|
Gan_Bool | gan_bit_array_nand_i (Gan_BitArray *ba_dst, Gan_BitArray *ba) |
| Perform binary NAND (not and) operation between bit arrays.
|
Gan_Bool | gan_bit_array_or_i (Gan_BitArray *ba_dst, Gan_BitArray *ba) |
Gan_Bool | gan_bit_array_eor_i (Gan_BitArray *ba_dst, Gan_BitArray *ba) |
Gan_Bool | gan_bit_array_andnot_i (Gan_BitArray *ba_dst, Gan_BitArray *ba) |
| Perform binary AND-NOT operation between bit arrays.
|
Gan_BitArray * | gan_bit_array_and_s (Gan_BitArray *ba1, Gan_BitArray *ba2) |
Gan_BitArray * | gan_bit_array_nand_s (Gan_BitArray *ba1, Gan_BitArray *ba2) |
Gan_BitArray * | gan_bit_array_or_s (Gan_BitArray *ba1, Gan_BitArray *ba2) |
Gan_BitArray * | gan_bit_array_eor_s (Gan_BitArray *ba1, Gan_BitArray *ba2) |
Gan_BitArray * | gan_bit_array_andnot_s (Gan_BitArray *ba1, Gan_BitArray *ba2) |
Gan_Bool | gan_bit_array_insert (Gan_BitArray *source, unsigned int offset_s, Gan_BitArray *dest, unsigned int offset_d, unsigned int no_bits) |
| Insert part of one bit array in another.
|
Gan_Bool | gan_bit_array_fill (Gan_BitArray *ba, Gan_Bool val) |
| Set all bits in a bit array.
|
Gan_Bool | gan_bit_array_copy_q (Gan_BitArray *ba_source, Gan_BitArray *ba_dest) |
| Copy one bit array to another.
|
Gan_BitArray * | gan_bit_array_copy_s (Gan_BitArray *ba_source) |
| Return a copy of a bit array.
|
Gan_Bool | gan_bit_array_expand_q (Gan_BitArray *ba, Gan_BitArray *ref_ba, Gan_BitArray *exp_ba) |
| Expand bit array by padding it with zeros in a reference bit array.
|
Gan_BitArray * | gan_bit_array_expand_s (Gan_BitArray *ba, Gan_BitArray *ref_ba) |
| Expand bit array by padding it with zeros in a reference bit array.
|
Gan_Bool | gan_bit_array_fill_part (Gan_BitArray *ba, unsigned int offset, unsigned int no_bits, Gan_Bool val) |
| Fill part of a bit array.
|
Gan_Bool | gan_bit_array_invert_part (Gan_BitArray *ba, unsigned int offset, unsigned int no_bits) |
| Invert part of a bit array.
|
void | gan_bit_array_fprint (FILE *fp, Gan_BitArray *ba, int indent) |
| Print bit array in ASCII to file.
|
unsigned | GAN_NO_BITWORDS (unsigned no_bits) |
| Macro: Number of bit-words given number of bits.
|
Gan_BitArray * | gan_bit_array_form (Gan_BitArray *ba, unsigned int no_bits) |
| Macro: Form bit array.
|
Gan_BitArray * | gan_bit_array_alloc (unsigned int no_bits) |
| Macro: Allocate new bit array.
|
Gan_BitArray * | gan_bit_array_ms_malloc (unsigned int no_bits) |
| Macro: Allocate new bit array using stack-style memory allocation.
|
Gan_Bool | gan_bit_array_print (Gan_BitArray *bit_array, int indent) |
| Macro: Print bit array in ASCII to standard output.
|
Gan_Bool | gan_bit_array_set_bit (Gan_BitArray *bit_array, int pos) |
| Macro: Set bit in bit list to 1 (true).
|
Gan_Bool | gan_bit_array_get_bit (Gan_BitArray *bit_array, int pos) |
| Macro: get bit of bit array.
|
Gan_Bool | gan_bit_array_clear_bit (Gan_BitArray *bit_array, int pos) |
| Macro: clear bit in bit list to 0 (false).
|
Gan_Bool | gan_bit_array_twiddle_bit (Gan_BitArray *bit_array, int pos, Gan_Bool val) |
| Macro: set/clear bit depending on Boolean argument.
|
Gan_Bool | gan_bit_array_invert_bit (Gan_BitArray *bit_array, int pos) |
| Macro: Invert bit.
|