1mlib_VectorMulM_U8_U8_Mod(3mMeLdIiBa)Lib Library Funcmtliiobn_sVectorMulM_U8_U8_Mod(3MLIB)
2
3
4
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
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
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
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
193 Each of the functions returns MLIB_SUCCESS if successful. Otherwise it
194 returns MLIB_FAILURE.
195
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
211 mlib_VectorMulMShift_S16_S16_Mod(3MLIB), attributes(5)
212
213
214
215SunOS 5.11 2 Mar 2007 mlib_VectorMulM_U8_U8_Mod(3MLIB)