Intel® Integrated Performance Primitives (Intel® IPP) Developer Guide and Reference

ID 790148
Date 3/22/2024
Public
Document Table of Contents

SortRadixAscend, SortRadixDescend

Sorts all elements of a vector using radix sorting algorithm.

Syntax

IppStatus ippsSortRadixAscend_<mod>(Ipp<datatype>* pSrcDst, int len, Ipp8u* pBuffer);

Supported values for mod:

8u_I 32u_I 64u_I
16u_I 32s_I 64s_I
16s_I 32f_I 64f_I

IppStatus ippsSortRadixDescend_<mod>(Ipp<datatype>* pSrcDst, int len, Ipp8u* pBuffer);

Supported values for mod:

8u_I 32u_I 64u_I
16u_I 32s_I 64s_I
16s_I 32f_I 64f_I

Radix Sorting Algorithm for platform-aware functions

IppStatus ippsSortRadixAscend_<mod>(Ipp<datatype>* pSrcDst, IppSizeL len, Ipp8u* pBuffer);

Supported values for mod:

  64u_I_L
32s_I_L 64s_I_L
32f_I_L 64f_I_L

IppStatus ippsSortRadixDescend_<mod>(Ipp<datatype>* pSrcDst, IppSizeL len, Ipp8u* pBuffer);

Supported values for mod:

  64u_I_L
32s_I_L 64s_I_L
32f_I_L 64f_I_L

Include Files

ipps.h

Flavors with the _L suffix: ipps_l.h

Domain Dependencies

Headers: ippcore.h, ippvm.h

Libraries: ippcore.lib, ippvm.lib

Parameters

pSrcDst

Pointer to the source and destination vector.

len

Number of elements in the vector

pBuffer

Pointer to the buffer for internal calculations. To compute the required buffer size, use the SortRadixGetBufferSize function.

Description

These functions rearrange all elements of the source vector pSrcDst in the ascending or descending order, respectively, using “radix sort” algorithm, and store the result in the destination vector pSrcDst.

Flavors with the _L suffix operate on larger data size.

These functions require the work buffer for internal calculations, to compute the size of the buffer, use the SortRadixGetBufferSize or SortRadixGetBufferSize_L (for the flavors with the _L suffix) function.

Return Values

ippStsNoErr

Indicates no error.

ippStsNullPtrErr

Indicates an error when pSrcDst or pBuffer is NULL.

ippStsSizeErr

Indicates an error when len is less than, or equal to 0.

See Also