|
void | arm_merge_sort_f32 (const arm_merge_sort_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize) |
|
void | arm_merge_sort_init_f32 (arm_merge_sort_instance_f32 *S, arm_sort_dir dir, float32_t *buffer) |
|
void | arm_sort_f32 (const arm_sort_instance_f32 *S, float32_t *pSrc, float32_t *pDst, uint32_t blockSize) |
| Generic sorting function. More...
|
|
void | arm_sort_init_f32 (arm_sort_instance_f32 *S, arm_sort_alg alg, arm_sort_dir dir) |
|
Sort the elements of a vector
There are separate functions for floating-point, Q31, Q15, and Q7 data types.
- Parameters
-
[in] | S | points to an instance of the sorting structure. |
[in] | pSrc | points to the block of input data. |
[out] | pDst | points to the block of output data |
[in] | blockSize | number of samples to process. |
- Algorithm
- The merge sort algorithm is a comparison algorithm that divide the input array in sublists and merge them to produce longer sorted sublists until there is only one list remaining.
- A work array is always needed. It must be allocated by the user
- linked to the instance at initialization time.
- It's an in-place algorithm. In order to obtain an out-of-place
- function, a memcpy of the source vector is performed
- Parameters
-
[in,out] | S | points to an instance of the sorting structure. |
[in] | dir | Sorting order. |
[in] | buffer | Working buffer. |
- Parameters
-
[in] | S | points to an instance of the sorting structure. |
[in] | pSrc | points to the block of input data. |
[out] | pDst | points to the block of output data. |
[in] | blockSize | number of samples to process. |
- Parameters
-
[in,out] | S | points to an instance of the sorting structure. |
[in] | alg | Selected algorithm. |
[in] | dir | Sorting order. |