DSP_blk_eswap16
[Miscellaneous]

Collaboration diagram for DSP_blk_eswap16:


Detailed Description

void DSP_blk_eswap16 (void *restrict src, void *restrict dst, int n_hwords)


Function Documentation

void DSP_blk_eswap16 ( void *restrict  src,
void *restrict  dst,
int  n_hwords 
)

The data in the x[] array is endian swapped, meaning that the byte-order of the bytes within each half-word of the r[] array is reversed. This facilitates moving big-endian data to a little-endian system or vice-versa. When the r pointer is non-NULL, the endian-swap occurs out-of-place, similar to a block move. When the r pointer is NULL, the endian-swap occurs in-place, allowing the swap to occur without using any additional storage.

Parameters:
src = Source data, must be double-word aligned.
dst = Destination data, must be double-word aligned.
n_hwords = Number of 16-bit elements to swap.
Algorithm:
DSP_blk_eswap16_cn.c is the natural C equivalent of the optimized intrinsic C code without restrictions note that the intrinsic C code is optimized and restrictions may apply.
Assumptions:
Input and output arrays do not overlap, except when “dst == NULL” so that the operation occurs in-place.
The input array and output array are double-word aligned.
nx is a multiple of 8.
Implementation notes:
Endian Support: The code supports both big and little endian modes.
Interruptibility: The code is interruptible.


Copyright 2014, Texas Instruments Incorporated