mirror of https://gerrit.osmocom.org/libosmocore
bitvec: add bitvec_find_first_bit_pos() from gsm/rxlev_stat.c
This patch adds bitvec_find_bit_pos() to bitvec.c where it really belongs to. Before this patch used to be part of gsm/rxlev_stat.c
This commit is contained in:
parent
d6643d5fcf
commit
36bdf2cb73
|
@ -68,6 +68,8 @@ int bitvec_set_uint(struct bitvec *bv, unsigned int in, int count);
|
|||
/* get multiple bits (based on numeric value) from current pos */
|
||||
int bitvec_get_uint(struct bitvec *bv, int num_bits);
|
||||
|
||||
/* find the first bit set in bit vector */
|
||||
int bitvec_find_bit_pos(const struct bitvec *bv, unsigned int n, enum bit_value val);
|
||||
|
||||
/* Pad the bit vector up to a certain bit position */
|
||||
int bitvec_spare_padding(struct bitvec *bv, unsigned int up_to_bit);
|
||||
|
|
14
src/bitvec.c
14
src/bitvec.c
|
@ -217,3 +217,17 @@ int bitvec_spare_padding(struct bitvec *bv, unsigned int up_to_bit)
|
|||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* find first bit set in bit vector */
|
||||
int bitvec_find_bit_pos(const struct bitvec *bv, unsigned int n,
|
||||
enum bit_value val)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = n; i < bv->data_len*8; i++) {
|
||||
if (bitvec_get_bit_pos(bv, i) == val)
|
||||
return i;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
|
|
@ -30,18 +30,6 @@
|
|||
#include <osmocom/core/bitvec.h>
|
||||
#include <osmocom/gsm/rxlev_stat.h>
|
||||
|
||||
int bitvec_find_bit_pos(const struct bitvec *bv, unsigned int n, enum bit_value val)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = n; i < bv->data_len*8; i++) {
|
||||
if (bitvec_get_bit_pos(bv, i) == val)
|
||||
return i;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
void rxlev_stat_input(struct rxlev_stats *st, uint16_t arfcn, uint8_t rxlev)
|
||||
{
|
||||
struct bitvec bv;
|
||||
|
|
Loading…
Reference in New Issue