Skip to content
Snippets Groups Projects
Commit 1964a19a authored by Moe Jette's avatar Moe Jette
Browse files

Add bit_equal function.

parent ece2347d
No related branches found
No related tags found
No related merge requests found
......@@ -60,6 +60,7 @@ strong_alias(bit_fmt, slurm_bit_fmt);
strong_alias(bit_fls, slurm_bit_fls);
strong_alias(bit_fill_gaps, slurm_bit_fill_gaps);
strong_alias(bit_super_set, slurm_bit_super_set);
strong_alias(bit_equal, slurm_bit_equal);
strong_alias(bit_copy, slurm_bit_copy);
strong_alias(bit_pick_cnt, slurm_bit_pick_cnt);
strong_alias(bitfmt2int, slurm_bitfmt2int);
......@@ -362,6 +363,30 @@ bit_super_set(bitstr_t *b1, bitstr_t *b2) {
return 1;
}
/*
* return 1 if b1 and b2 are identical, 0 otherwise
*/
extern int
bit_equal(bitstr_t *b1, bitstr_t *b2)
{
bitoff_t bit;
_assert_bitstr_valid(b1);
_assert_bitstr_valid(b2);
if (_bitstr_bits(b1) != _bitstr_bits(b2))
return 0;
for (bit = 0; bit < _bitstr_bits(b1); bit += sizeof(bitstr_t)*8) {
if (b1[_bit_word(bit)] != b2[_bit_word(bit)])
return 0;
}
return 1;
}
/*
* b1 &= b2
* b1 (IN/OUT) first string
......
......@@ -149,6 +149,7 @@ char *bit_fmt(char *str, int len, bitstr_t *b);
bitoff_t bit_fls(bitstr_t *b);
void bit_fill_gaps(bitstr_t *b);
int bit_super_set(bitstr_t *b1, bitstr_t *b2);
int bit_equal(bitstr_t *b1, bitstr_t *b2);
bitstr_t *bit_copy(bitstr_t *b);
bitstr_t *bit_pick_cnt(bitstr_t *b, bitoff_t nbits);
int *bitfmt2int (char *bit_str_ptr);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment