mediaLib Library Functions mlibMatrixTransposeU8(3MLIB)
NAME
mlibMatrixTransposeU8, mlibMatrixTransposeU8C,
mlibMatrixTransposeS8, mlibMatrixTransposeS8C,
mlibMatrixTransposeS16, mlibMatrixTransposeS16C,
mlibMatrixTransposeS32, mlibMatrixTransposeS32C - matrix
transpose, in place
SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include
mlibstatus mlibMatrixTransposeU8(mlibu8 *xz, mlibs32 mn);
mlibstatus mlibMatrixTransposeU8C(mlibu8 *xz, mlibs32 mn);
mlibstatus mlibMatrixTransposeS8(mlibs8 *xz, mlibs32 mn);
mlibstatus mlibMatrixTransposeS8C(mlibs8 *xz, mlibs32 mn);
mlibstatus mlibMatrixTransposeS16(mlibs16 *xz, mlibs32 mn);
mlibstatus mlibMatrixTransposeS16C(mlibs16 *xz, mlibs32 mn);
mlibstatus mlibMatrixTransposeS32(mlibs32 *xz, mlibs32 mn);
mlibstatus mlibMatrixTransposeS32C(mlibs32 *xz, mlibs32 mn);
DESCRIPTION
Each of these functions performs an in-place transpose of a
square matrix.
For real data, the following pseudo code applies:
for (i = 1; i < mn; i]) {
for (j = 0; j < i; i]) {
tmp = xz[i*mn ] j];
xz[i*mn ] j] = xz[j*mn ] i];
xz[j*mn ] i] = tmp;
}
}
SunOS 5.11 Last change: 2 Mar 2007 1
mediaLib Library Functions mlibMatrixTransposeU8(3MLIB)
For complex data, the following pseudo code applies:
for (i = 1; i < mn; i]) {
for (j = 0; j < i; i]) {
tmp0 = xz[2*(i*mn ] j)];
tmp1 = xz[2*(i*mn ] j) ] 1];
xz[2*(i*mn ] j)] = xz[2*(j*mn ] i)];
xz[2*(i*mn ] j) ] 1] = xz[2*(j*mn ] i) ] 1];
xz[2*(j*mn ] i)] = tmp0;
xz[2*(j*mn ] i) ] 1] = tmp1;
}
}
PARAMETERS
Each of the functions takes the following arguments:
xz Pointer to the source and destination matrix.
mn Number of rows and columns in the matrix.
RETURN VALUES
Each of the functions returns MLIBSUCES if successful.
Otherwise it returns MLIBFAILURE.
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
ATRIBUTE TYPE ATRIBUTE VALUE
Interface Stability Committed
MT-Level MT-Safe
SEE ALSO
mlibMatrixTransposeU8(3MLIB), attributes(5)
SunOS 5.11 Last change: 2 Mar 2007 2
|