cc [ flag... ] file... –lmlib [ library... ] #include <mlib.h> mlib_status mlib_VectorSplit_U8_U8C(mlib_u8 *r, mlib_u8 *i, const mlib_u8 *x, mlib_s32 n);
mlib_status mlib_VectorSplit_S8_S8C(mlib_s8 *r, mlib_s8 *i, const mlib_s8 *x, mlib_s32 n);
mlib_status mlib_VectorSplit_S16_S16C(mlib_s16 *r, mlib_s16 *i, const mlib_s16 *x, mlib_s32 n);
mlib_status mlib_VectorSplit_S32_S32C(mlib_s32 *r, mlib_s32 *i, const mlib_s32 *x, mlib_s32 n);
Each of these functions splits a complex vector into separate vectors containing the real and imaginary parts.
The following equation is used:
r[k] = z[2*k] i[k] = z[2*k + 1]
where k = 0, 1, ..., (n - 1).
Each of the functions takes the following arguments:
Pointer to the first element of the real part.
Pointer to the first element of the imaginary part.
Pointer to the first complex element of the source vector. x[2*k] contains the real part, and x[2*k + 1] contains the imaginary part.
Number of elements in the vectors.
Each of the functions returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
See attributes(5) for descriptions of the following attributes:
|