man pages section 3: Multimedia Library Functions
Updated: July 2014

## mlib_VectorSplit_S16_S16C(3MLIB)

### Name

mlib_VectorSplit_U8_U8C, mlib_VectorSplit_S8_S8C, mlib_VectorSplit_S16_S16C, mlib_VectorSplit_S32_S32C - vector split

### Synopsis

```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);```

### Description

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).

### Parameters

Each of the functions takes the following arguments:

r

Pointer to the first element of the real part.

i

Pointer to the first element of the imaginary part.

x

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.

n

Number of elements in the vectors.

### Return Values

Each of the functions returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.

### Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
MT-Safe