Lines Matching refs:seq
5 #include "seq-range-array.h"
9 uint32_t seq, unsigned int *idx_r)
21 if (data[idx].seq1 <= seq) {
22 if (data[idx].seq2 >= seq) {
38 bool seq_range_array_add(ARRAY_TYPE(seq_range) *array, uint32_t seq)
43 value.seq1 = value.seq2 = seq;
52 if (data[count-1].seq2 < seq) {
53 if (data[count-1].seq2 == seq-1) {
55 data[count-1].seq2 = seq;
61 if (data[0].seq1 > seq) {
62 if (data[0].seq1-1 == seq) {
64 data[0].seq1 = seq;
73 if (seq_range_lookup(array, seq, &idx))
77 i_assert(idx < count && data[idx].seq1 >= seq);
78 i_assert(data[idx].seq1 > seq || data[idx].seq2 < seq);
80 if (data[idx].seq1 == seq+1) {
81 data[idx].seq1 = seq;
82 if (idx > 0 && data[idx-1].seq2 == seq-1) {
88 if (idx > 0 && data[idx-1].seq2 == seq-1)
90 if (data[idx].seq2 == seq-1) {
92 data[idx].seq2 = seq;
93 if (data[idx+1].seq1 == seq+1) {
106 unsigned int init_count, uint32_t seq)
110 seq_range_array_add(array, seq);
218 bool seq_range_array_remove(ARRAY_TYPE(seq_range) *array, uint32_t seq)
231 if (seq > data[count-1].seq2 || seq < data[0].seq1) {
235 if (data[count-1].seq2 == seq) {
243 if (data[0].seq1 == seq) {
259 if (data[idx].seq1 > seq)
261 else if (data[idx].seq2 < seq)
265 if (data[idx].seq1 == seq) {
274 } else if (data[idx].seq2 == seq) {
279 value.seq1 = seq + 1;
281 data[idx].seq2 = seq - 1;
387 bool seq_range_exists(const ARRAY_TYPE(seq_range) *array, uint32_t seq)
391 return seq_range_lookup(array, seq, &idx);