1mlib_MatrixTranspose_U8(3MLmIeBd)iaLib Library Functimolnisb_MatrixTranspose_U8(3MLIB)
2
3
4
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
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
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
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
80 Each of the functions returns MLIB_SUCCESS if successful. Otherwise it
81 returns MLIB_FAILURE.
82
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
98 mlib_MatrixTranspose_U8(3MLIB), attributes(5)
99
100
101
102SunOS 5.11 2 Mar 2007 mlib_MatrixTranspose_U8(3MLIB)