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.
@param src = Source data, must be double-word aligned.
@param dst = Destination data, must be double-word aligned.
@param n_hwords = Number of 16-bit elements to swap.
- Algorithm:
- DSPF_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.