Commit 2b8ce83c authored by Max Kellermann's avatar Max Kellermann

Queue: move queue_shuffle_order_range() into the class

parent 52638c68
......@@ -368,20 +368,15 @@ queue_sort_order_by_priority(struct queue *queue, unsigned start, unsigned end)
queue);
}
/**
* Shuffle the order of items in the specified range, ignoring their
* priorities.
*/
static void
queue_shuffle_order_range(struct queue *queue, unsigned start, unsigned end)
void
queue::ShuffleOrderRange(unsigned start, unsigned end)
{
assert(queue != NULL);
assert(queue->random);
assert(random);
assert(start <= end);
assert(end <= queue->length);
assert(end <= length);
for (unsigned i = start; i < end; ++i)
queue->SwapOrders(i, g_rand_int_range(queue->rand, i, end));
SwapOrders(i, g_rand_int_range(rand, i, end));
}
/**
......@@ -412,14 +407,14 @@ queue::ShuffleOrderRangeWithPriority(unsigned start, unsigned end)
if (priority != group_priority) {
/* start of a new group - shuffle the one that
has just ended */
queue_shuffle_order_range(this, group_start, i);
ShuffleOrderRange(group_start, i);
group_start = i;
group_priority = priority;
}
}
/* shuffle the last group */
queue_shuffle_order_range(this, group_start, end);
ShuffleOrderRange(group_start, end);
}
void
......
......@@ -299,6 +299,12 @@ struct queue {
}
/**
* Shuffle the order of items in the specified range, ignoring
* their priorities.
*/
void ShuffleOrderRange(unsigned start, unsigned end);
/**
* Shuffle the order of items in the specified range, taking their
* priorities into account.
*/
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment