MCPcopy Create free account
hub / github.com/crownengine/crown / unique

Function unique

3rdparty/bx/src/sort.cpp:71–95  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

69 }
70
71 uint32_t unique(void* _data, uint32_t _num, uint32_t _stride, const ComparisonFn _fn)
72 {
73 if (0 == _num)
74 {
75 return 0;
76 }
77
78 uint8_t* data = (uint8_t*)_data;
79
80 uint32_t last = 0;
81
82 for (uint32_t ii = 1; ii < _num; ++ii)
83 {
84 int32_t result = _fn(&data[last*_stride], &data[ii*_stride]);
85 BX_ASSERT(0 >= result, "Performing unique on non-sorted array (ii %d, last %d)!", ii, last);
86
87 if (0 > result)
88 {
89 last++;
90 swap(&data[last*_stride], &data[ii*_stride], _stride);
91 }
92 }
93
94 return last+1;
95 }
96
97 uint32_t lowerBound(const void* _key, const void* _data, uint32_t _num, uint32_t _stride, const ComparisonFn _fn)
98 {

Callers 5

ValidatePhiFunction · 0.85
check_interface_variableFunction · 0.85
MergeFunction · 0.85
MarkInsertChainMethod · 0.85

Calls 1

swapFunction · 0.70

Tested by

no test coverage detected