1mlib_VectorMulM_U8_U8_Mod(3mMeLdIiBa)Lib Library Funcmtliiobn_sVectorMulM_U8_U8_Mod(3MLIB)
2
3
4

NAME

6       mlib_VectorMulM_U8_U8_Mod,    mlib_VectorMulM_U8_U8_Sat,   mlib_Vector‐
7       MulM_U8C_U8C_Mod,       mlib_VectorMulM_U8C_U8C_Sat,       mlib_Vector‐
8       MulM_S8_S8_Mod, mlib_VectorMulM_S8_S8_Sat, mlib_VectorMulM_S8C_S8C_Mod,
9       mlib_VectorMulM_S8C_S8C_Sat,  mlib_VectorMulM_S16_U8_Mod,  mlib_Vector‐
10       MulM_S16_U8_Sat,        mlib_VectorMulM_S16_S8_Mod,        mlib_Vector‐
11       MulM_S16_S8_Sat,       mlib_VectorMulM_S16_S16_Mod,        mlib_Vector‐
12       MulM_S16_S16_Sat,       mlib_VectorMulM_S16C_U8C_Mod,      mlib_Vector‐
13       MulM_S16C_U8C_Sat,      mlib_VectorMulM_S16C_S8C_Mod,      mlib_Vector‐
14       MulM_S16C_S8C_Sat,      mlib_VectorMulM_S16C_S16C_Mod,     mlib_Vector‐
15       MulM_S16C_S16C_Sat,      mlib_VectorMulM_S32_S16_Mod,      mlib_Vector‐
16       MulM_S32_S16_Sat,       mlib_VectorMulM_S32_S32_Mod,       mlib_Vector‐
17       MulM_S32_S32_Sat,      mlib_VectorMulM_S32C_S16C_Mod,      mlib_Vector‐
18       MulM_S32C_S16C_Sat,     mlib_VectorMulM_S32C_S32C_Mod,     mlib_Vector‐
19       MulM_S32C_S32C_Sat - multiplication of vector by matrix
20

SYNOPSIS

22       cc [ flag... ] file... -lmlib [ library... ]
23       #include <mlib.h>
24
25       mlib_status mlib_VectorMulM_U8_U8_Mod(mlib_u8 *z, const mlib_u8 *x,
26            const mlib_u8 *y, mlib_s32 m, mlib_s32 n);
27
28
29       mlib_status mlib_VectorMulM_U8_U8_Sat(mlib_u8 *z, const mlib_u8 *x,
30            const mlib_u8 *y, mlib_s32 m, mlib_s32 n);
31
32
33       mlib_status mlib_VectorMulM_U8C_U8C_Mod(mlib_u8 *z, const mlib_u8 *x,
34            const mlib_u8 *y, mlib_s32 m, mlib_s32 n);
35
36
37       mlib_status mlib_VectorMulM_U8C_U8C_Sat(mlib_u8 *z, const mlib_u8 *x,
38            const mlib_u8 *y, mlib_s32 m, mlib_s32 n);
39
40
41       mlib_status mlib_VectorMulM_S8_S8_Mod(mlib_s8 *z, const mlib_s8 *x,
42            const mlib_s8 *y, mlib_s32 m, mlib_s32 n);
43
44
45       mlib_status mlib_VectorMulM_S8_S8_Sat(mlib_s8 *z, const mlib_s8 *x,
46            const mlib_s8 *y, mlib_s32 m, mlib_s32 n);
47
48
49       mlib_status mlib_VectorMulM_S8C_S8C_Mod(mlib_s8 *z, const mlib_s8 *x,
50            const mlib_s8 *y, mlib_s32 m, mlib_s32 n);
51
52
53       mlib_status mlib_VectorMulM_S8C_S8C_Sat(mlib_s8 *z, const mlib_s8 *x,
54            const mlib_s8 *y, mlib_s32 m, mlib_s32 n);
55
56
57       mlib_status mlib_VectorMulM_S16_U8_Mod(mlib_s16 *z, const mlib_u8 *x,
58            const mlib_u8 *y, mlib_s32 m, mlib_s32 n);
59
60
61       mlib_status mlib_VectorMulM_S16_U8_Sat(mlib_s16 *z, const mlib_u8 *x,
62            const mlib_u8 *y, mlib_s32 m, mlib_s32 n);
63
64
65       mlib_status mlib_VectorMulM_S16_S8_Mod(mlib_s16 *z, const mlib_s8 *x,
66            const mlib_s8 *y, mlib_s32 m, mlib_s32 n);
67
68
69       mlib_status mlib_VectorMulM_S16_S8_Sat(mlib_s16 *z, const mlib_s8 *x,
70            const mlib_s8 *y, mlib_s32 m, mlib_s32 n);
71
72
73       mlib_status mlib_VectorMulM_S16_S16_Mod(mlib_s16 *z, const mlib_s16 *x,
74            const mlib_s16 *y, mlib_s32 m, mlib_s32 n);
75
76
77       mlib_status mlib_VectorMulM_S16_S16_Sat(mlib_s16 *z, const mlib_s16 *x,
78            const mlib_s16 *y, mlib_s32 m, mlib_s32 n);
79
80
81       mlib_status mlib_VectorMulM_S16C_U8C_Mod(mlib_s16 *z, const mlib_u8 *x,
82            const mlib_u8 *y, mlib_s32 m, mlib_s32 n);
83
84
85       mlib_status mlib_VectorMulM_S16C_U8C_Sat(mlib_s16 *z, const mlib_u8 *x,
86            const mlib_u8 *y, mlib_s32 m, mlib_s32 n);
87
88
89       mlib_status mlib_VectorMulM_S16C_S8C_Mod(mlib_s16 *z, const mlib_s8 *x,
90            const mlib_s8 *y, mlib_s32 m, mlib_s32 n);
91
92
93       mlib_status mlib_VectorMulM_S16C_S8C_Sat(mlib_s16 *z, const mlib_s8 *x,
94            const mlib_s8 *y, mlib_s32 m, mlib_s32 n);
95
96
97       mlib_status mlib_VectorMulM_S16C_S16C_Mod(mlib_s16 *z, const mlib_s16 *x,
98            const mlib_s16 *y, mlib_s32 m, mlib_s32 n);
99
100
101       mlib_status mlib_VectorMulM_S16C_S16C_Sat(mlib_s16 *z, const mlib_s16 *x,
102            const mlib_s16 *y, mlib_s32 m, mlib_s32 n);
103
104
105       mlib_status mlib_VectorMulM_S32_S16_Mod(mlib_s32 *z, const mlib_s16 *x,
106            const mlib_s16 *y, mlib_s32 m, mlib_s32 n);
107
108
109       mlib_status mlib_VectorMulM_S32_S16_Sat(mlib_s32 *z, const mlib_s16 *x,
110            const mlib_s16 *y, mlib_s32 m, mlib_s32 n);
111
112
113       mlib_status mlib_VectorMulM_S32_S32_Mod(mlib_s32 *z, const mlib_s32 *x,
114            const mlib_s32 *y, mlib_s32 m, mlib_s32 n);
115
116
117       mlib_status mlib_VectorMulM_S32_S32_Sat(mlib_s32 *z, const mlib_s32 *x,
118            const mlib_s32 *y, mlib_s32 m, mlib_s32 n);
119
120
121       mlib_status mlib_VectorMulM_S32C_S16C_Mod(mlib_s32 *z, const mlib_s16 *x,
122            const mlib_s16 *y, mlib_s32 m, mlib_s32 n);
123
124
125       mlib_status mlib_VectorMulM_S32C_S16C_Sat(mlib_s32 *z, const mlib_s16 *x,
126            const mlib_s16 *y, mlib_s32 m, mlib_s32 n);
127
128
129       mlib_status mlib_VectorMulM_S32C_S32C_Mod(mlib_s32 *z, const mlib_s32 *x,
130            const mlib_s32 *y, mlib_s32 m, mlib_s32 n);
131
132
133       mlib_status mlib_VectorMulM_S32C_S32C_Sat(mlib_s32 *z, const mlib_s32 *x,
134            const mlib_s32 *y, mlib_s32 m, mlib_s32 n);
135
136

DESCRIPTION

138       Each of these functions multiplies a vector by a matrix.
139
140
141       For real data, the following equation is used:
142
143                m-1
144         z[i] = SUM (x[j] * y[j*m + i])
145                j=0
146
147
148
149       where i = 0, 1, ..., (n - 1).
150
151
152       For complex data, the following equation is used:
153
154                      m-1
155         z[2*i ]    = SUM (xR*yR - xI*yI)
156                      j=0
157
158                      m-1
159         z[2*i + 1] = SUM (xR*yI + xI*yR)
160                      j=0
161
162
163
164       where i = 0, 1, ..., (n - 1), and
165
166         xR = x[2*j]
167         xI = x[2*j + 1]
168         yR = y[2*(j*m + i)]
169         yI = y[2*(j*m + i) + 1]
170
171

PARAMETERS

173       Each of the functions takes the following arguments:
174
175       z    Pointer to the first element of the destination vector.
176
177
178       x    Pointer to the first element of the source vector.
179
180
181       y    Pointer to the first element of the source matrix.
182
183
184       m    Number of rows in the matrix, and number of elements in the source
185            vector.
186
187
188       n    Number  of  columns  in  the matrix, and number of elements in the
189            destination vector.
190
191

RETURN VALUES

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

ATTRIBUTES

197       See attributes(5) for descriptions of the following attributes:
198
199
200
201
202       ┌─────────────────────────────┬─────────────────────────────┐
203       │      ATTRIBUTE TYPE         │      ATTRIBUTE VALUE        │
204       ├─────────────────────────────┼─────────────────────────────┤
205       │Interface Stability          │Committed                    │
206       ├─────────────────────────────┼─────────────────────────────┤
207       │MT-Level                     │MT-Safe                      │
208       └─────────────────────────────┴─────────────────────────────┘
209

SEE ALSO

211       mlib_VectorMulMShift_S16_S16_Mod(3MLIB), attributes(5)
212
213
214
215SunOS 5.11                        2 Mar 2007  mlib_VectorMulM_U8_U8_Mod(3MLIB)
Impressum