Developer Reference for Intel® Integrated Performance Primitives 2018

SortRadixAscend, SortRadixDescend

Sorts all elements of a vector using radix sorting algorithm.

Syntax

IppStatus ippsSortRadixAscend_16s_I(Ipp16s* pSrcDst, Ipp32s len, Ipp8u* pBuffer);

IppStatus ippsSortRadixAscend_32s_I(Ipp32s* pSrcDst, Ipp32s len, Ipp8u* pBuffer);

IppStatus ippsSortRadixAscend_8u_I(Ipp8u* pSrcDst, Ipp32s len, Ipp8u* pBuffer);

IppStatus ippsSortRadixAscend_16u_I(Ipp16u* pSrcDst, Ipp32s len, Ipp8u* pBuffer);

IppStatus ippsSortRadixAscend_32u_I(Ipp32u* pSrcDst, Ipp32s len, Ipp8u* pBuffer);

IppStatus ippsSortRadixAscend_32f_I(Ipp32f* pSrcDst, Ipp32s len, Ipp8u* pBuffer);

IppStatus ippsSortRadixAscend_64f_I(Ipp64f* pSrcDst, Ipp32s len, Ipp8u* pBuffer);

IppStatus ippsSortRadixDescend_16s_I(Ipp16s* pSrcDst, Ipp32s len, Ipp8u* pBuffer);

IppStatus ippsSortRadixDescend_32s_I(Ipp32s* pSrcDst, Ipp32s len, Ipp8u* pBuffer);

IppStatus ippsSortRadixDescend_8u_I(Ipp8u* pSrcDst, Ipp32s len, Ipp8u* pBuffer);

IppStatus ippsSortRadixDescend_16u_I(Ipp16u* pSrcDst, Ipp32s len, Ipp8u* pBuffer);

IppStatus ippsSortRadixDescend_32u_I(Ipp32u* pSrcDst, Ipp32s len, Ipp8u* pBuffer);

IppStatus ippsSortRadixDescend_32f_I(Ipp32f* pSrcDst, Ipp32s len, Ipp8u* pBuffer);

IppStatus ippsSortRadixDescend_64f_I(Ipp64f* pSrcDst, Ipp32s len, Ipp8u* pBuffer);

Radix Sorting Algorithm for platform-aware functions

IppStatus ippsSortRadixAscend_32s_I_L(Ipp32s* pSrcDst, IppSizeL len, Ipp8u* pBuffer);

IppStatus ippsSortRadixAscend_64s_I_L(Ipp64s* pSrcDst, IppSizeL len, Ipp8u* pBuffer);

IppStatus ippsSortRadixAscend_64u_I_L(Ipp64u* pSrcDst, IppSizeL len, Ipp8u* pBuffer);

IppStatus ippsSortRadixAscend_32f_I_L(Ipp32f* pSrcDst, IppSizeL len, Ipp8u* pBuffer);

IppStatus ippsSortRadixAscend_64f_I_L(Ipp64f* pSrcDst, IppSizeL len, Ipp8u* pBuffer);

IppStatus ippsSortRadixDescend_32s_I_L(Ipp32s* pSrcDst, IppSizeL len, Ipp8u* pBuffer);

IppStatus ippsSortRadixDescend_64s_I_L(Ipp64s* pSrcDst, IppSizeL len, Ipp8u* pBuffer);

IppStatus ippsSortRadixDescend_64u_I_L(Ipp64u* pSrcDst, IppSizeL len, Ipp8u* pBuffer);

IppStatus ippsSortRadixDescend_32f_I_L(Ipp32f* pSrcDst, IppSizeL len, Ipp8u* pBuffer);

IppStatus ippsSortRadixDescend_64f_I_L(Ipp64f* pSrcDst, IppSizeL len, Ipp8u* pBuffer);

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