diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2017-05-10 20:21:56 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2017-05-10 20:21:56 (GMT) |
commit | 8e76324b01e5b4979f346f0bc8c84372477a3d38 (patch) | |
tree | 3db4057e113aa9f664f5b217dd349bb1e9288009 /src/common/bits.h | |
parent | b0c6ffacf5c6c45c047172e348c737cb85fb5b36 (diff) |
Rewritten the whole bitfield management.
Diffstat (limited to 'src/common/bits.h')
-rw-r--r-- | src/common/bits.h | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/src/common/bits.h b/src/common/bits.h index 4a2937f..b9fc0e6 100644 --- a/src/common/bits.h +++ b/src/common/bits.h @@ -36,8 +36,8 @@ typedef struct _bitfield_t bitfield_t; /* Crée un champ de bits initialisé. */ bitfield_t *create_bit_field(size_t, bool); -/* Crée une copie de champ de bits initialisé à zéro. */ -bitfield_t *create_bit_field_from(const bitfield_t *, bool); +/* Crée une copie d'un champ de bits classique. */ +bitfield_t *dup_bit_field(const bitfield_t *); /* Supprime de la mémoire un champ de bits donné. */ void delete_bit_field(bitfield_t *); @@ -45,8 +45,8 @@ void delete_bit_field(bitfield_t *); /* Copie un champ de bits dans un autre. */ void copy_bit_field(bitfield_t *, const bitfield_t *); -/* Crée une copie d'un champ de bits classique. */ -bitfield_t *dup_bit_field(const bitfield_t *); +/* Compare deux champs de bits entre eux. */ +int compare_bit_fields(const bitfield_t *, const bitfield_t *); /* Bascule à 0 un champ de bits dans son intégralité. */ void reset_all_in_bit_field(bitfield_t *); @@ -54,12 +54,12 @@ void reset_all_in_bit_field(bitfield_t *); /* Bascule à 1 un champ de bits dans son intégralité. */ void set_all_in_bit_field(bitfield_t *); +/* Bascule à 0 une partie d'un champ de bits. */ +void reset_in_bit_field(bitfield_t *, size_t, size_t); + /* Bascule à 1 une partie d'un champ de bits. */ void set_in_bit_field(bitfield_t *, size_t, size_t); -/* Bascule à 1 de façon atomique une partie d'un champ de bits. */ -bool set_atomic_in_bit_field(bitfield_t *, size_t, size_t); - /* Réalise une opération ET logique entre deux champs de bits. */ void and_bit_field(bitfield_t *, const bitfield_t *); @@ -75,14 +75,6 @@ bool test_none_in_bit_field(const bitfield_t *, size_t, size_t); /* Détermine si un ensemble de bits est à 1 dans un champ. */ bool test_all_in_bit_field(const bitfield_t *, size_t, size_t); -/* Indique si deux champs de bits sont identiques ou non. */ -bool is_bit_field_equal_to(const bitfield_t *, const bitfield_t *); - - - - -unsigned long gfw(const bitfield_t *); - #endif /* _COMMON_BITS_H */ |