diff options
| author | gingerBill <bill@gingerbill.org> | 2022-12-18 21:17:07 +0000 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2022-12-18 21:17:07 +0000 |
| commit | ac5f5a33e94054396de66a37043e226349b6c91c (patch) | |
| tree | 3b561345c4542112da67b9139c3ff6cf54cf7219 /src/priority_queue.cpp | |
| parent | ff6b76986a0647ffc7d99c7e7df78ec8e5fb91b2 (diff) | |
`gb_internal` a lot
Diffstat (limited to 'src/priority_queue.cpp')
| -rw-r--r-- | src/priority_queue.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/priority_queue.cpp b/src/priority_queue.cpp index aee2061b5..c0f1ddff0 100644 --- a/src/priority_queue.cpp +++ b/src/priority_queue.cpp @@ -7,7 +7,7 @@ struct PriorityQueue { }; template <typename T> -bool priority_queue_shift_down(PriorityQueue<T> *pq, isize i0, isize n) { +gb_internal bool priority_queue_shift_down(PriorityQueue<T> *pq, isize i0, isize n) { // O(n log n) isize i = i0; isize j, j1, j2; @@ -29,7 +29,7 @@ bool priority_queue_shift_down(PriorityQueue<T> *pq, isize i0, isize n) { } template <typename T> -void priority_queue_shift_up(PriorityQueue<T> *pq, isize j) { +gb_internal void priority_queue_shift_up(PriorityQueue<T> *pq, isize j) { while (0 <= j && j < pq->queue.count) { isize i = (j-1)/2; if (i == j || pq->cmp(&pq->queue[0], j, i) >= 0) { @@ -43,20 +43,20 @@ void priority_queue_shift_up(PriorityQueue<T> *pq, isize j) { // NOTE(bill): When an element at index `i0` has changed its value, this will fix the // the heap ordering. This using a basic "heapsort" with shift up and a shift down parts. template <typename T> -void priority_queue_fix(PriorityQueue<T> *pq, isize i) { +gb_internal void priority_queue_fix(PriorityQueue<T> *pq, isize i) { if (!priority_queue_shift_down(pq, i, pq->queue.count)) { priority_queue_shift_up(pq, i); } } template <typename T> -void priority_queue_push(PriorityQueue<T> *pq, T const &value) { +gb_internal void priority_queue_push(PriorityQueue<T> *pq, T const &value) { array_add(&pq->queue, value); priority_queue_shift_up(pq, pq->queue.count-1); } template <typename T> -T priority_queue_pop(PriorityQueue<T> *pq) { +gb_internal T priority_queue_pop(PriorityQueue<T> *pq) { GB_ASSERT(pq->queue.count > 0); isize n = pq->queue.count - 1; @@ -67,7 +67,7 @@ T priority_queue_pop(PriorityQueue<T> *pq) { template <typename T> -T priority_queue_remove(PriorityQueue<T> *pq, isize i) { +gb_internal T priority_queue_remove(PriorityQueue<T> *pq, isize i) { GB_ASSERT(0 <= i && i < pq->queue.count); isize n = pq->queue.count - 1; if (n != i) { @@ -80,7 +80,7 @@ T priority_queue_remove(PriorityQueue<T> *pq, isize i) { template <typename T> -PriorityQueue<T> priority_queue_create(Array<T> queue, +gb_internal PriorityQueue<T> priority_queue_create(Array<T> queue, int (* cmp) (T *q, isize i, isize j), void (* swap)(T *q, isize i, isize j)) { PriorityQueue<T> pq = {}; |