48 lines
929 B
C
48 lines
929 B
C
|
|
|
|
typedef struct {
|
|
unsigned *bits;
|
|
unsigned size;
|
|
} bits_list_type;
|
|
|
|
#define BYTEWIDTH 8
|
|
#define NULL 0
|
|
|
|
#define BITS_BLOCK_SIZE (sizeof (unsigned) * BYTEWIDTH)
|
|
#define BITS_BLOCK(position) ((position) / BITS_BLOCK_SIZE)
|
|
#define BITS_MASK(position) (1 << ((position) % BITS_BLOCK_SIZE))
|
|
|
|
static unsigned
|
|
init_bits_list (bits_list_ptr)
|
|
bits_list_type *bits_list_ptr;
|
|
{
|
|
bits_list_ptr->bits = NULL;
|
|
bits_list_ptr->bits = (unsigned *) malloc (sizeof (unsigned));
|
|
|
|
if (bits_list_ptr->bits == NULL)
|
|
return 0;
|
|
|
|
bits_list_ptr->bits[0] = (unsigned)0;
|
|
bits_list_ptr->size = BITS_BLOCK_SIZE;
|
|
|
|
return 1;
|
|
}
|
|
|
|
|
|
main()
|
|
{
|
|
bits_list_type dummy;
|
|
bits_list_type dummy_1;
|
|
bits_list_type dummy_2;
|
|
bits_list_type dummy_3;
|
|
|
|
init_bits_list (&dummy);
|
|
printf("init 1\n");
|
|
init_bits_list (&dummy_1);
|
|
printf("init 2\n");
|
|
init_bits_list (&dummy_2);
|
|
printf("init 3\n");
|
|
init_bits_list (&dummy_3);
|
|
printf("init 4\n");
|
|
}
|