Name | Synopsis | Description | Parameters | Return Values | Attributes | See Also
cc [ flag... ] file... -lmlib [ library... ] #include <mlib.h> mlib_status mlib_MatrixTranspose_U8_U8(mlib_u8 *z, const mlib_u8 *x, mlib_s32 m, mlib_s32 n);
mlib_status mlib_MatrixTranspose_U8C_U8C(mlib_u8 *z, const mlib_u8 *x, mlib_s32 m, mlib_s32 n);
mlib_status mlib_MatrixTranspose_S8_S8(mlib_s8 *z, const mlib_s8 *x, mlib_s32 m, mlib_s32 n);
mlib_status mlib_MatrixTranspose_S8C_S8C(mlib_s8 *z, const mlib_s8 *x, mlib_s32 m, mlib_s32 n);
mlib_status mlib_MatrixTranspose_S16_S16(mlib_s16 *z, const mlib_s16 *x, mlib_s32 m, mlib_s32 n);
mlib_status mlib_MatrixTranspose_S16C_S16C(mlib_s16 *z, const mlib_s16 *x, mlib_s32 m, mlib_s32 n);
mlib_status mlib_MatrixTranspose_S32_S32(mlib_s32 *z, const mlib_s32 *x, mlib_s32 m, mlib_s32 n);
mlib_status mlib_MatrixTranspose_S32C_S32C(mlib_s32 *z, const mlib_s32 *x, mlib_s32 m, mlib_s32 n);
Each of these functions computes the transpose of the input matrix.
For real data, the following equation is used:
z[j*m + i] = x[i*n + j]
where i = 0, 1, ..., (m - 1); j = 0, 1, ..., (n - 1).
For complex data, the following equation is used:
z[2*(j*m + i)] = x[2*(i*n + j)] z[2*(j*m + i) + 1] = x[2*(i*n + j) + 1]
where i = 0, 1, ..., (m - 1); j = 0, 1, ..., (n - 1).
Each of the functions takes the following arguments:
Pointer to the destination matrix. The output data type must be the same as the input data type.
Pointer to the source matrix.
Number of rows in the source matrix.
Number of columns in the source matrix.
Each of the functions returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE |
ATTRIBUTE VALUE |
---|---|
Interface Stability |
Committed |
MT-Level |
MT-Safe |
Name | Synopsis | Description | Parameters | Return Values | Attributes | See Also