diff options
author | 2023-01-04 23:29:18 -0500 | |
---|---|---|
committer | 2023-01-04 23:29:18 -0500 | |
commit | 94b1e168b2b97b48b81f7a8f64406b0a6f64184e (patch) | |
tree | f57362a0fa01bfe8f0ad75a447c4c9e10bc15756 /3rdparty/bx/src/sort.cpp | |
parent | 5581eaa50a42256242f32569f59ce10d70ddd8c2 (diff) |
Revert "Update BGFX, BX and BIMG (#10750)" (#10787)
This reverts commit 5581eaa50a42256242f32569f59ce10d70ddd8c2 due to link failure on macOS.
Diffstat (limited to '3rdparty/bx/src/sort.cpp')
-rw-r--r-- | 3rdparty/bx/src/sort.cpp | 124 |
1 files changed, 3 insertions, 121 deletions
diff --git a/3rdparty/bx/src/sort.cpp b/3rdparty/bx/src/sort.cpp index 31ad8c795f4..ce1b3e3a8a4 100644 --- a/3rdparty/bx/src/sort.cpp +++ b/3rdparty/bx/src/sort.cpp @@ -1,8 +1,9 @@ /* - * Copyright 2010-2022 Branimir Karadzic. All rights reserved. - * License: https://github.com/bkaradzic/bx/blob/master/LICENSE + * Copyright 2010-2021 Branimir Karadzic. All rights reserved. + * License: https://github.com/bkaradzic/bx#license-bsd-2-clause */ +#include "bx_p.h" #include <bx/sort.h> namespace bx @@ -51,124 +52,5 @@ namespace bx quickSortR(pivot, _data, _num, _stride, _fn); } - bool isSorted(const void* _data, uint32_t _num, uint32_t _stride, const ComparisonFn _fn) - { - const uint8_t* data = (uint8_t*)_data; - - for (uint32_t ii = 1; ii < _num; ++ii) - { - int32_t result = _fn(&data[(ii-1)*_stride], &data[ii*_stride]); - - if (0 < result) - { - return false; - } - } - - return true; - } - - uint32_t unique(void* _data, uint32_t _num, uint32_t _stride, const ComparisonFn _fn) - { - if (0 == _num) - { - return 0; - } - - uint8_t* data = (uint8_t*)_data; - - uint32_t last = 0; - - for (uint32_t ii = 1; ii < _num; ++ii) - { - int32_t result = _fn(&data[last*_stride], &data[ii*_stride]); - BX_ASSERT(0 >= result, "Performing unique on non-sorted array (ii %d, last %d)!", ii, last); - - if (0 > result) - { - last++; - swap(&data[last*_stride], &data[ii*_stride], _stride); - } - } - - return last+1; - } - - uint32_t lowerBound(const void* _key, const void* _data, uint32_t _num, uint32_t _stride, const ComparisonFn _fn) - { - uint32_t offset = 0; - const uint8_t* data = (uint8_t*)_data; - - for (uint32_t ll = _num; offset < ll;) - { - const uint32_t idx = (offset + ll) / 2; - - int32_t result = _fn(_key, &data[idx * _stride]); - - if (result <= 0) - { - ll = idx; - } - else - { - offset = idx + 1; - } - } - - return offset; - } - - uint32_t upperBound(const void* _key, const void* _data, uint32_t _num, uint32_t _stride, const ComparisonFn _fn) - { - uint32_t offset = 0; - const uint8_t* data = (uint8_t*)_data; - - for (uint32_t ll = _num; offset < ll;) - { - const uint32_t idx = (offset + ll) / 2; - - int32_t result = _fn(_key, &data[idx * _stride]); - - if (result < 0) - { - ll = idx; - } - else - { - offset = idx + 1; - } - } - - return offset; - } - - int32_t binarySearch(const void* _key, const void* _data, uint32_t _num, uint32_t _stride, const ComparisonFn _fn) - { - uint32_t offset = 0; - const uint8_t* data = (uint8_t*)_data; - - for (uint32_t ll = _num; offset < ll;) - { - const uint32_t idx = (offset + ll) / 2; - - int32_t result = _fn(_key, &data[idx * _stride]); - - if (result < 0) - { - ll = idx; - } - else if (result > 0) - { - offset = idx + 1; - } - else - { - return idx; - } - } - - return ~offset; - } - } // namespace bx |