1mlib_MatrixTranspose_U8(3MLmIeBd)iaLib Library Functimolnisb_MatrixTranspose_U8(3MLIB)
2
3
4

NAME

6       mlib_MatrixTranspose_U8,   mlib_MatrixTranspose_U8C,  mlib_MatrixTrans‐
7       pose_S8,      mlib_MatrixTranspose_S8C,       mlib_MatrixTranspose_S16,
8       mlib_MatrixTranspose_S16C,  mlib_MatrixTranspose_S32, mlib_MatrixTrans‐
9       pose_S32C - matrix transpose, in place
10

SYNOPSIS

12       cc [ flag... ] file... -lmlib [ library... ]
13       #include <mlib.h>
14
15       mlib_status mlib_MatrixTranspose_U8(mlib_u8 *xz, mlib_s32 mn);
16
17
18       mlib_status mlib_MatrixTranspose_U8C(mlib_u8 *xz, mlib_s32 mn);
19
20
21       mlib_status mlib_MatrixTranspose_S8(mlib_s8 *xz, mlib_s32 mn);
22
23
24       mlib_status mlib_MatrixTranspose_S8C(mlib_s8 *xz, mlib_s32 mn);
25
26
27       mlib_status mlib_MatrixTranspose_S16(mlib_s16 *xz, mlib_s32 mn);
28
29
30       mlib_status mlib_MatrixTranspose_S16C(mlib_s16 *xz, mlib_s32 mn);
31
32
33       mlib_status mlib_MatrixTranspose_S32(mlib_s32 *xz, mlib_s32 mn);
34
35
36       mlib_status mlib_MatrixTranspose_S32C(mlib_s32 *xz, mlib_s32 mn);
37
38

DESCRIPTION

40       Each of these functions performs an  in-place  transpose  of  a  square
41       matrix.
42
43
44       For real data, the following pseudo code applies:
45
46         for (i = 1; i < mn; i++) {
47             for (j = 0; j < i; i++) {
48                 tmp          = xz[i*mn + j];
49                 xz[i*mn + j] = xz[j*mn + i];
50                 xz[j*mn + i] = tmp;
51             }
52         }
53
54
55
56       For complex data, the following pseudo code applies:
57
58         for (i = 1; i < mn; i++) {
59             for (j = 0; j < i; i++) {
60                 tmp0                 = xz[2*(i*mn + j)];
61                 tmp1                 = xz[2*(i*mn + j) + 1];
62                 xz[2*(i*mn + j)]     = xz[2*(j*mn + i)];
63                 xz[2*(i*mn + j) + 1] = xz[2*(j*mn + i) + 1];
64                 xz[2*(j*mn + i)]     = tmp0;
65                 xz[2*(j*mn + i) + 1] = tmp1;
66             }
67         }
68
69

PARAMETERS

71       Each of the functions takes the following arguments:
72
73       xz    Pointer to the source and destination matrix.
74
75
76       mn    Number of rows and columns in the matrix.
77
78

RETURN VALUES

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

ATTRIBUTES

84       See attributes(5) for descriptions of the following attributes:
85
86
87
88
89       ┌─────────────────────────────┬─────────────────────────────┐
90       │      ATTRIBUTE TYPE         │      ATTRIBUTE VALUE        │
91       ├─────────────────────────────┼─────────────────────────────┤
92       │Interface Stability          │Committed                    │
93       ├─────────────────────────────┼─────────────────────────────┤
94       │MT-Level                     │MT-Safe                      │
95       └─────────────────────────────┴─────────────────────────────┘
96

SEE ALSO

98       mlib_MatrixTranspose_U8(3MLIB), attributes(5)
99
100
101
102SunOS 5.11                        2 Mar 2007    mlib_MatrixTranspose_U8(3MLIB)
Impressum