summaryrefslogtreecommitdiff
path: root/system_wrappers/source/sort.cc
diff options
context:
space:
mode:
Diffstat (limited to 'system_wrappers/source/sort.cc')
-rw-r--r--system_wrappers/source/sort.cc176
1 files changed, 88 insertions, 88 deletions
diff --git a/system_wrappers/source/sort.cc b/system_wrappers/source/sort.cc
index 0bf80072..4aa181fd 100644
--- a/system_wrappers/source/sort.cc
+++ b/system_wrappers/source/sort.cc
@@ -59,7 +59,7 @@
#define KEY_QSORT(SORT_KEY, KEY, NUM_OF_ELEMENTS, KEY_TYPE, COMPARE_FUNC) \
do { \
KEY_TYPE* key_type = (KEY_TYPE*)(key); \
- for (WebRtc_UWord32 i = 0; i < (NUM_OF_ELEMENTS); ++i) { \
+ for (uint32_t i = 0; i < (NUM_OF_ELEMENTS); ++i) { \
ptr_sort_key[i].key_ = &key_type[i]; \
ptr_sort_key[i].index_ = i; \
} \
@@ -72,13 +72,13 @@ namespace webrtc {
#ifdef NO_STL
struct SortKey {
void* key_;
- WebRtc_UWord32 index_;
+ uint32_t index_;
};
#else
template<typename KeyType>
struct SortKey {
KeyType key_;
- WebRtc_UWord32 index_;
+ uint32_t index_;
};
#endif
@@ -86,35 +86,35 @@ namespace { // Unnamed namespace provides internal linkage.
#ifdef NO_STL
int CompareWord8(const void* x, const void* y) {
- COMPARE_FOR_QSORT(x, y, WebRtc_Word8);
+ COMPARE_FOR_QSORT(x, y, int8_t);
}
int CompareUWord8(const void* x, const void* y) {
- COMPARE_FOR_QSORT(x, y, WebRtc_UWord8);
+ COMPARE_FOR_QSORT(x, y, uint8_t);
}
int CompareWord16(const void* x, const void* y) {
- COMPARE_FOR_QSORT(x, y, WebRtc_Word16);
+ COMPARE_FOR_QSORT(x, y, int16_t);
}
int CompareUWord16(const void* x, const void* y) {
- COMPARE_FOR_QSORT(x, y, WebRtc_UWord16);
+ COMPARE_FOR_QSORT(x, y, uint16_t);
}
int CompareWord32(const void* x, const void* y) {
- COMPARE_FOR_QSORT(x, y, WebRtc_Word32);
+ COMPARE_FOR_QSORT(x, y, int32_t);
}
int CompareUWord32(const void* x, const void* y) {
- COMPARE_FOR_QSORT(x, y, WebRtc_UWord32);
+ COMPARE_FOR_QSORT(x, y, uint32_t);
}
int CompareWord64(const void* x, const void* y) {
- COMPARE_FOR_QSORT(x, y, WebRtc_Word64);
+ COMPARE_FOR_QSORT(x, y, int64_t);
}
int CompareUWord64(const void* x, const void* y) {
- COMPARE_FOR_QSORT(x, y, WebRtc_UWord64);
+ COMPARE_FOR_QSORT(x, y, uint64_t);
}
int CompareFloat32(const void* x, const void* y) {
@@ -126,35 +126,35 @@ int CompareFloat64(const void* x, const void* y) {
}
int CompareKeyWord8(const void* sort_key_x, const void* sort_key_y) {
- COMPARE_KEY_FOR_QSORT(sort_key_x, sort_key_y, WebRtc_Word8);
+ COMPARE_KEY_FOR_QSORT(sort_key_x, sort_key_y, int8_t);
}
int CompareKeyUWord8(const void* sort_key_x, const void* sort_key_y) {
- COMPARE_KEY_FOR_QSORT(sort_key_x, sort_key_y, WebRtc_UWord8);
+ COMPARE_KEY_FOR_QSORT(sort_key_x, sort_key_y, uint8_t);
}
int CompareKeyWord16(const void* sort_key_x, const void* sort_key_y) {
- COMPARE_KEY_FOR_QSORT(sort_key_x, sort_key_y, WebRtc_Word16);
+ COMPARE_KEY_FOR_QSORT(sort_key_x, sort_key_y, int16_t);
}
int CompareKeyUWord16(const void* sort_key_x, const void* sort_key_y) {
- COMPARE_KEY_FOR_QSORT(sort_key_x, sort_key_y, WebRtc_UWord16);
+ COMPARE_KEY_FOR_QSORT(sort_key_x, sort_key_y, uint16_t);
}
int CompareKeyWord32(const void* sort_key_x, const void* sort_key_y) {
- COMPARE_KEY_FOR_QSORT(sort_key_x, sort_key_y, WebRtc_Word32);
+ COMPARE_KEY_FOR_QSORT(sort_key_x, sort_key_y, int32_t);
}
int CompareKeyUWord32(const void* sort_key_x, const void* sort_key_y) {
- COMPARE_KEY_FOR_QSORT(sort_key_x, sort_key_y, WebRtc_UWord32);
+ COMPARE_KEY_FOR_QSORT(sort_key_x, sort_key_y, uint32_t);
}
int CompareKeyWord64(const void* sort_key_x, const void* sort_key_y) {
- COMPARE_KEY_FOR_QSORT(sort_key_x, sort_key_y, WebRtc_Word64);
+ COMPARE_KEY_FOR_QSORT(sort_key_x, sort_key_y, int64_t);
}
int CompareKeyUWord64(const void* sort_key_x, const void* sort_key_y) {
- COMPARE_KEY_FOR_QSORT(sort_key_x, sort_key_y, WebRtc_UWord64);
+ COMPARE_KEY_FOR_QSORT(sort_key_x, sort_key_y, uint64_t);
}
int CompareKeyFloat32(const void* sort_key_x, const void* sort_key_y) {
@@ -182,35 +182,35 @@ struct KeyRightShift {
};
template <typename DataType>
-inline void IntegerSort(void* data, WebRtc_UWord32 num_of_elements) {
+inline void IntegerSort(void* data, uint32_t num_of_elements) {
DataType* data_type = static_cast<DataType*>(data);
boost::integer_sort(data_type, data_type + num_of_elements);
}
template <typename DataType, typename IntegerType>
-inline void FloatSort(void* data, WebRtc_UWord32 num_of_elements) {
+inline void FloatSort(void* data, uint32_t num_of_elements) {
DataType* data_type = static_cast<DataType*>(data);
IntegerType c_val = 0;
boost::float_sort_cast(data_type, data_type + num_of_elements, c_val);
}
template <typename DataType>
-inline void StdSort(void* data, WebRtc_UWord32 num_of_elements) {
+inline void StdSort(void* data, uint32_t num_of_elements) {
DataType* data_type = static_cast<DataType*>(data);
std::sort(data_type, data_type + num_of_elements);
}
template<typename KeyType>
-inline WebRtc_Word32 SetupKeySort(void* key,
- SortKey<KeyType>*& ptr_sort_key,
- WebRtc_UWord32 num_of_elements) {
+inline int32_t SetupKeySort(void* key,
+ SortKey<KeyType>*& ptr_sort_key,
+ uint32_t num_of_elements) {
ptr_sort_key = new(std::nothrow) SortKey<KeyType>[num_of_elements];
if (ptr_sort_key == NULL) {
return -1;
}
KeyType* key_type = static_cast<KeyType*>(key);
- for (WebRtc_UWord32 i = 0; i < num_of_elements; i++) {
+ for (uint32_t i = 0; i < num_of_elements; i++) {
ptr_sort_key[i].key_ = key_type[i];
ptr_sort_key[i].index_ = i;
}
@@ -219,18 +219,18 @@ inline WebRtc_Word32 SetupKeySort(void* key,
}
template<typename KeyType>
-inline WebRtc_Word32 TeardownKeySort(void* data,
- SortKey<KeyType>* ptr_sort_key,
- WebRtc_UWord32 num_of_elements,
- WebRtc_UWord32 size_of_element) {
- WebRtc_UWord8* ptr_data = static_cast<WebRtc_UWord8*>(data);
- WebRtc_UWord8* ptr_data_sorted =
- new(std::nothrow) WebRtc_UWord8[num_of_elements * size_of_element];
+inline int32_t TeardownKeySort(void* data,
+ SortKey<KeyType>* ptr_sort_key,
+ uint32_t num_of_elements,
+ uint32_t size_of_element) {
+ uint8_t* ptr_data = static_cast<uint8_t*>(data);
+ uint8_t* ptr_data_sorted =
+ new(std::nothrow) uint8_t[num_of_elements * size_of_element];
if (ptr_data_sorted == NULL) {
return -1;
}
- for (WebRtc_UWord32 i = 0; i < num_of_elements; i++) {
+ for (uint32_t i = 0; i < num_of_elements; i++) {
memcpy(ptr_data_sorted + i * size_of_element, ptr_data +
ptr_sort_key[i].index_ * size_of_element, size_of_element);
}
@@ -241,9 +241,9 @@ inline WebRtc_Word32 TeardownKeySort(void* data,
}
template<typename KeyType>
-inline WebRtc_Word32 IntegerKeySort(void* data, void* key,
- WebRtc_UWord32 num_of_elements,
- WebRtc_UWord32 size_of_element) {
+inline int32_t IntegerKeySort(void* data, void* key,
+ uint32_t num_of_elements,
+ uint32_t size_of_element) {
SortKey<KeyType>* ptr_sort_key;
if (SetupKeySort<KeyType>(key, ptr_sort_key, num_of_elements) != 0) {
return -1;
@@ -261,9 +261,9 @@ inline WebRtc_Word32 IntegerKeySort(void* data, void* key,
}
template<typename KeyType>
-inline WebRtc_Word32 StdKeySort(void* data, void* key,
- WebRtc_UWord32 num_of_elements,
- WebRtc_UWord32 size_of_element) {
+inline int32_t StdKeySort(void* data, void* key,
+ uint32_t num_of_elements,
+ uint32_t size_of_element) {
SortKey<KeyType>* ptr_sort_key;
if (SetupKeySort<KeyType>(key, ptr_sort_key, num_of_elements) != 0) {
return -1;
@@ -282,7 +282,7 @@ inline WebRtc_Word32 StdKeySort(void* data, void* key,
#endif
}
-WebRtc_Word32 Sort(void* data, WebRtc_UWord32 num_of_elements, Type type) {
+int32_t Sort(void* data, uint32_t num_of_elements, Type type) {
if (data == NULL) {
return -1;
}
@@ -290,28 +290,28 @@ WebRtc_Word32 Sort(void* data, WebRtc_UWord32 num_of_elements, Type type) {
#ifdef NO_STL
switch (type) {
case TYPE_Word8:
- qsort(data, num_of_elements, sizeof(WebRtc_Word8), CompareWord8);
+ qsort(data, num_of_elements, sizeof(int8_t), CompareWord8);
break;
case TYPE_UWord8:
- qsort(data, num_of_elements, sizeof(WebRtc_UWord8), CompareUWord8);
+ qsort(data, num_of_elements, sizeof(uint8_t), CompareUWord8);
break;
case TYPE_Word16:
- qsort(data, num_of_elements, sizeof(WebRtc_Word16), CompareWord16);
+ qsort(data, num_of_elements, sizeof(int16_t), CompareWord16);
break;
case TYPE_UWord16:
- qsort(data, num_of_elements, sizeof(WebRtc_UWord16), CompareUWord16);
+ qsort(data, num_of_elements, sizeof(uint16_t), CompareUWord16);
break;
case TYPE_Word32:
- qsort(data, num_of_elements, sizeof(WebRtc_Word32), CompareWord32);
+ qsort(data, num_of_elements, sizeof(int32_t), CompareWord32);
break;
case TYPE_UWord32:
- qsort(data, num_of_elements, sizeof(WebRtc_UWord32), CompareUWord32);
+ qsort(data, num_of_elements, sizeof(uint32_t), CompareUWord32);
break;
case TYPE_Word64:
- qsort(data, num_of_elements, sizeof(WebRtc_Word64), CompareWord64);
+ qsort(data, num_of_elements, sizeof(int64_t), CompareWord64);
break;
case TYPE_UWord64:
- qsort(data, num_of_elements, sizeof(WebRtc_UWord64), CompareUWord64);
+ qsort(data, num_of_elements, sizeof(uint64_t), CompareUWord64);
break;
case TYPE_Float32:
qsort(data, num_of_elements, sizeof(float), CompareFloat32);
@@ -327,28 +327,28 @@ WebRtc_Word32 Sort(void* data, WebRtc_UWord32 num_of_elements, Type type) {
// warnings and VS 2003 build crashes respectively with spreadsort.
switch (type) {
case TYPE_Word8:
- IntegerSort<WebRtc_Word8>(data, num_of_elements);
+ IntegerSort<int8_t>(data, num_of_elements);
break;
case TYPE_UWord8:
- IntegerSort<WebRtc_UWord8>(data, num_of_elements);
+ IntegerSort<uint8_t>(data, num_of_elements);
break;
case TYPE_Word16:
- IntegerSort<WebRtc_Word16>(data, num_of_elements);
+ IntegerSort<int16_t>(data, num_of_elements);
break;
case TYPE_UWord16:
- IntegerSort<WebRtc_UWord16>(data, num_of_elements);
+ IntegerSort<uint16_t>(data, num_of_elements);
break;
case TYPE_Word32:
- IntegerSort<WebRtc_Word32>(data, num_of_elements);
+ IntegerSort<int32_t>(data, num_of_elements);
break;
case TYPE_UWord32:
- IntegerSort<WebRtc_UWord32>(data, num_of_elements);
+ IntegerSort<uint32_t>(data, num_of_elements);
break;
case TYPE_Word64:
- StdSort<WebRtc_Word64>(data, num_of_elements);
+ StdSort<int64_t>(data, num_of_elements);
break;
case TYPE_UWord64:
- StdSort<WebRtc_UWord64>(data, num_of_elements);
+ StdSort<uint64_t>(data, num_of_elements);
break;
case TYPE_Float32:
StdSort<float>(data, num_of_elements);
@@ -361,8 +361,8 @@ WebRtc_Word32 Sort(void* data, WebRtc_UWord32 num_of_elements, Type type) {
return 0;
}
-WebRtc_Word32 KeySort(void* data, void* key, WebRtc_UWord32 num_of_elements,
- WebRtc_UWord32 size_of_element, Type key_type) {
+int32_t KeySort(void* data, void* key, uint32_t num_of_elements,
+ uint32_t size_of_element, Type key_type) {
if (data == NULL) {
return -1;
}
@@ -371,7 +371,7 @@ WebRtc_Word32 KeySort(void* data, void* key, WebRtc_UWord32 num_of_elements,
return -1;
}
- if ((WebRtc_UWord64)num_of_elements * size_of_element > 0xffffffff) {
+ if ((uint64_t)num_of_elements * size_of_element > 0xffffffff) {
return -1;
}
@@ -383,35 +383,35 @@ WebRtc_Word32 KeySort(void* data, void* key, WebRtc_UWord32 num_of_elements,
switch (key_type) {
case TYPE_Word8:
- KEY_QSORT(ptr_sort_key, key, num_of_elements, WebRtc_Word8,
+ KEY_QSORT(ptr_sort_key, key, num_of_elements, int8_t,
CompareKeyWord8);
break;
case TYPE_UWord8:
- KEY_QSORT(ptr_sort_key, key, num_of_elements, WebRtc_UWord8,
+ KEY_QSORT(ptr_sort_key, key, num_of_elements, uint8_t,
CompareKeyUWord8);
break;
case TYPE_Word16:
- KEY_QSORT(ptr_sort_key, key, num_of_elements, WebRtc_Word16,
+ KEY_QSORT(ptr_sort_key, key, num_of_elements, int16_t,
CompareKeyWord16);
break;
case TYPE_UWord16:
- KEY_QSORT(ptr_sort_key, key, num_of_elements, WebRtc_UWord16,
+ KEY_QSORT(ptr_sort_key, key, num_of_elements, uint16_t,
CompareKeyUWord16);
break;
case TYPE_Word32:
- KEY_QSORT(ptr_sort_key, key, num_of_elements, WebRtc_Word32,
+ KEY_QSORT(ptr_sort_key, key, num_of_elements, int32_t,
CompareKeyWord32);
break;
case TYPE_UWord32:
- KEY_QSORT(ptr_sort_key, key, num_of_elements, WebRtc_UWord32,
+ KEY_QSORT(ptr_sort_key, key, num_of_elements, uint32_t,
CompareKeyUWord32);
break;
case TYPE_Word64:
- KEY_QSORT(ptr_sort_key, key, num_of_elements, WebRtc_Word64,
+ KEY_QSORT(ptr_sort_key, key, num_of_elements, int64_t,
CompareKeyWord64);
break;
case TYPE_UWord64:
- KEY_QSORT(ptr_sort_key, key, num_of_elements, WebRtc_UWord64,
+ KEY_QSORT(ptr_sort_key, key, num_of_elements, uint64_t,
CompareKeyUWord64);
break;
case TYPE_Float32:
@@ -427,14 +427,14 @@ WebRtc_Word32 KeySort(void* data, void* key, WebRtc_UWord32 num_of_elements,
}
// Shuffle into sorted position based on index map.
- WebRtc_UWord8* ptr_data = static_cast<WebRtc_UWord8*>(data);
- WebRtc_UWord8* ptr_data_sorted =
- new(std::nothrow) WebRtc_UWord8[num_of_elements * size_of_element];
+ uint8_t* ptr_data = static_cast<uint8_t*>(data);
+ uint8_t* ptr_data_sorted =
+ new(std::nothrow) uint8_t[num_of_elements * size_of_element];
if (ptr_data_sorted == NULL) {
return -1;
}
- for (WebRtc_UWord32 i = 0; i < num_of_elements; i++) {
+ for (uint32_t i = 0; i < num_of_elements; i++) {
memcpy(ptr_data_sorted + i * size_of_element, ptr_data +
ptr_sort_key[i].index_ * size_of_element, size_of_element);
}
@@ -449,29 +449,29 @@ WebRtc_Word32 KeySort(void* data, void* key, WebRtc_UWord32 num_of_elements,
// warnings and errors respectively with spreadsort.
switch (key_type) {
case TYPE_Word8:
- return IntegerKeySort<WebRtc_Word8>(data, key, num_of_elements,
- size_of_element);
+ return IntegerKeySort<int8_t>(data, key, num_of_elements,
+ size_of_element);
case TYPE_UWord8:
- return IntegerKeySort<WebRtc_UWord8>(data, key, num_of_elements,
- size_of_element);
+ return IntegerKeySort<uint8_t>(data, key, num_of_elements,
+ size_of_element);
case TYPE_Word16:
- return IntegerKeySort<WebRtc_Word16>(data, key, num_of_elements,
- size_of_element);
+ return IntegerKeySort<int16_t>(data, key, num_of_elements,
+ size_of_element);
case TYPE_UWord16:
- return IntegerKeySort<WebRtc_UWord16>(data, key, num_of_elements,
- size_of_element);
+ return IntegerKeySort<uint16_t>(data, key, num_of_elements,
+ size_of_element);
case TYPE_Word32:
- return IntegerKeySort<WebRtc_Word32>(data, key, num_of_elements,
- size_of_element);
+ return IntegerKeySort<int32_t>(data, key, num_of_elements,
+ size_of_element);
case TYPE_UWord32:
- return IntegerKeySort<WebRtc_UWord32>(data, key, num_of_elements,
- size_of_element);
+ return IntegerKeySort<uint32_t>(data, key, num_of_elements,
+ size_of_element);
case TYPE_Word64:
- return StdKeySort<WebRtc_Word64>(data, key, num_of_elements,
- size_of_element);
+ return StdKeySort<int64_t>(data, key, num_of_elements,
+ size_of_element);
case TYPE_UWord64:
- return StdKeySort<WebRtc_UWord64>(data, key, num_of_elements,
- size_of_element);
+ return StdKeySort<uint64_t>(data, key, num_of_elements,
+ size_of_element);
case TYPE_Float32:
return StdKeySort<float>(data, key, num_of_elements, size_of_element);
case TYPE_Float64: