diff options
author | Kirill Primak <vyivel@eclair.cafe> | 2022-08-19 21:19:30 +0300 |
---|---|---|
committer | Simon Zeni <simon@bl4ckb0ne.ca> | 2022-08-29 13:48:42 +0000 |
commit | 20c208d46a140e148da29730a3adbfa9b88de467 (patch) | |
tree | d4dbb917ec6c7e77692adafc8b87d5e5d3a131f8 /util/array.c | |
parent | eee0f5e71f4e3a6ded27d2d5046a243277c00ab8 (diff) |
util/array: unclutter
Diffstat (limited to 'util/array.c')
-rw-r--r-- | util/array.c | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/util/array.c b/util/array.c index 9da26127..ec16a7b1 100644 --- a/util/array.c +++ b/util/array.c @@ -2,52 +2,6 @@ #include <assert.h> #include <string.h> -// https://www.geeksforgeeks.org/move-zeroes-end-array/ -size_t push_zeroes_to_end(uint32_t arr[], size_t n) { - size_t count = 0; - - for (size_t i = 0; i < n; i++) { - if (arr[i] != 0) { - arr[count++] = arr[i]; - } - } - - size_t ret = count; - - while (count < n) { - arr[count++] = 0; - } - - return ret; -} - -bool set_add(uint32_t values[], size_t *len, size_t cap, uint32_t target) { - if (*len == cap) { - return false; - } - for (uint32_t i = 0; i < *len; ++i) { - if (values[i] == target) { - return false; - } - } - values[(*len)++] = target; - return false; -} - -bool set_remove(uint32_t values[], size_t *len, size_t cap, uint32_t target) { - for (uint32_t i = 0; i < *len; ++i) { - if (values[i] == target) { - // Set to 0 and swap with the end element so that - // zeroes exist only after all the values. - size_t last_elem_pos = --(*len); - values[i] = values[last_elem_pos]; - values[last_elem_pos] = 0; - return true; - } - } - return false; -} - void array_remove_at(struct wl_array *arr, size_t offset, size_t size) { assert(arr->size >= offset + size); |