1mlib_VectorMulSAdd_U8_U8_Momde(d3iMaLLIiBb)Library Fmulnicbt_iVoencstorMulSAdd_U8_U8_Mod(3MLIB)
2
3
4
6 mlib_VectorMulSAdd_U8_U8_Mod, mlib_VectorMulSAdd_U8_U8_Sat, mlib_Vec‐
7 torMulSAdd_U8C_U8C_Mod, mlib_VectorMulSAdd_U8C_U8C_Sat, mlib_VectorMul‐
8 SAdd_S8_S8_Mod, mlib_VectorMulSAdd_S8_S8_Sat, mlib_VectorMul‐
9 SAdd_S8C_S8C_Mod, mlib_VectorMulSAdd_S8C_S8C_Sat, mlib_VectorMul‐
10 SAdd_S16_U8_Mod, mlib_VectorMulSAdd_S16_U8_Sat, mlib_VectorMul‐
11 SAdd_S16_S8_Mod, mlib_VectorMulSAdd_S16_S8_Sat, mlib_VectorMul‐
12 SAdd_S16_S16_Mod, mlib_VectorMulSAdd_S16_S16_Sat, mlib_VectorMul‐
13 SAdd_S16C_U8C_Mod, mlib_VectorMulSAdd_S16C_U8C_Sat, mlib_VectorMul‐
14 SAdd_S16C_S8C_Mod, mlib_VectorMulSAdd_S16C_S8C_Sat, mlib_VectorMul‐
15 SAdd_S16C_S16C_Mod, mlib_VectorMulSAdd_S16C_S16C_Sat, mlib_VectorMul‐
16 SAdd_S32_S16_Mod, mlib_VectorMulSAdd_S32_S16_Sat, mlib_VectorMul‐
17 SAdd_S32_S32_Mod, mlib_VectorMulSAdd_S32_S32_Sat, mlib_VectorMul‐
18 SAdd_S32C_S16C_Mod, mlib_VectorMulSAdd_S32C_S16C_Sat, mlib_VectorMul‐
19 SAdd_S32C_S32C_Mod, mlib_VectorMulSAdd_S32C_S32C_Sat - vector multipli‐
20 cation by scalar plus addition
21
23 cc [ flag... ] file... -lmlib [ library... ]
24 #include <mlib.h>
25
26 mlib_status mlib_VectorMulSAdd_U8_U8_Mod(mlib_u8 *z,
27 const mlib_u8 *x, const mlib_u8 *y, const mlib_u8 *c,
28 mlib_s32 n);
29
30
31 mlib_status mlib_VectorMulSAdd_U8_U8_Sat(mlib_u8 *z,
32 const mlib_u8 *x, const mlib_u8 *y, const mlib_u8 *c,
33 mlib_s32 n);
34
35
36 mlib_status mlib_VectorMulSAdd_U8C_U8C_Mod(mlib_u8 *z,
37 const mlib_u8 *x, const mlib_u8 *y, const mlib_u8 *c,
38 mlib_s32 n);
39
40
41 mlib_status mlib_VectorMulSAdd_U8C_U8C_Sat(mlib_u8 *z,
42 const mlib_u8 *x, const mlib_u8 *y, const mlib_u8 *c,
43 mlib_s32 n);
44
45
46 mlib_status mlib_VectorMulSAdd_S8_S8_Mod(mlib_s8 *z,
47 const mlib_s8 *x, const mlib_s8 *y, const mlib_s8 *c,
48 mlib_s32 n);
49
50
51 mlib_status mlib_VectorMulSAdd_S8_S8_Sat(mlib_s8 *z,
52 const mlib_s8 *x, const mlib_s8 *y, const mlib_s8 *c,
53 mlib_s32 n);
54
55
56 mlib_status mlib_VectorMulSAdd_S8C_S8C_Mod(mlib_s8 *z,
57 const mlib_s8 *x, const mlib_s8 *y, const mlib_s8 *c,
58 mlib_s32 n);
59
60
61 mlib_status mlib_VectorMulSAdd_S8C_S8C_Sat(mlib_s8 *z,
62 const mlib_s8 *x, const mlib_s8 *y, const mlib_s8 *c,
63 mlib_s32 n);
64
65
66 mlib_status mlib_VectorMulSAdd_S16_U8_Mod(mlib_s16 *z,
67 const mlib_u8 *x, const mlib_u8 *y, const mlib_u8 *c,
68 mlib_s32 n);
69
70
71 mlib_status mlib_VectorMulSAdd_S16_U8_Sat(mlib_s16 *z,
72 const mlib_u8 *x, const mlib_u8 *y, const mlib_u8 *c,
73 mlib_s32 n);
74
75
76 mlib_status mlib_VectorMulSAdd_S16_S8_Mod(mlib_s16 *z,
77 const mlib_s8 *x, const mlib_s8 *y, const mlib_s8 *c,
78 mlib_s32 n);
79
80
81 mlib_status mlib_VectorMulSAdd_S16_S8_Sat(mlib_s16 *z,
82 const mlib_s8 *x, const mlib_s8 *y, const mlib_s8 *c,
83 mlib_s32 n);
84
85
86 mlib_status mlib_VectorMulSAdd_S16_S16_Mod(mlib_s16 *z,
87 const mlib_s16 *x, const mlib_s16 *y, const mlib_s16 *c,
88 mlib_s32 n);
89
90
91 mlib_status mlib_VectorMulSAdd_S16_S16_Sat(mlib_s16 *z,
92 const mlib_s16 *x, const mlib_s16 *y, const mlib_s16 *c,
93 mlib_s32 n);
94
95
96 mlib_status mlib_VectorMulSAdd_S16C_U8C_Mod(mlib_s16 *z,
97 const mlib_u8 *x, const mlib_u8 *y, const mlib_u8 *c,
98 mlib_s32 n);
99
100
101 mlib_status mlib_VectorMulSAdd_S16C_U8C_Sat(mlib_s16 *z,
102 const mlib_u8 *x, const mlib_u8 *y, const mlib_u8 *c,
103 mlib_s32 n);
104
105
106 mlib_status mlib_VectorMulSAdd_S16C_S8C_Mod(mlib_s16 *z,
107 const mlib_s8 *x, const mlib_s8 *y, const mlib_s8 *c,
108 mlib_s32 n);
109
110
111 mlib_status mlib_VectorMulSAdd_S16C_S8C_Sat(mlib_s16 *z,
112 const mlib_s8 *x, const mlib_s8 *y, const mlib_s8 *c,
113 mlib_s32 n);
114
115
116 mlib_status mlib_VectorMulSAdd_S16C_S16C_Mod(mlib_s16 *z,
117 const mlib_s16 *x, const mlib_s16 *y, const mlib_s16 *c,
118 mlib_s32 n);
119
120
121 mlib_status mlib_VectorMulSAdd_S16C_S16C_Sat(mlib_s16 *z,
122 const mlib_s16 *x, const mlib_s16 *y, const mlib_s16 *c,
123 mlib_s32 n);
124
125
126 mlib_status mlib_VectorMulSAdd_S32_S16_Mod(mlib_s32 *z,
127 const mlib_s16 *x, const mlib_s16 *y, const mlib_s16 *c,
128 mlib_s32 n);
129
130
131 mlib_status mlib_VectorMulSAdd_S32_S16_Sat(mlib_s32 *z,
132 const mlib_s16 *x, const mlib_s16 *y, const mlib_s16 *c,
133 mlib_s32 n);
134
135
136 mlib_status mlib_VectorMulSAdd_S32_S32_Mod(mlib_s32 *z,
137 const mlib_s32 *x, const mlib_s32 *y, const mlib_s32 *c,
138 mlib_s32 n);
139
140
141 mlib_status mlib_VectorMulSAdd_S32_S32_Sat(mlib_s32 *z,
142 const mlib_s32 *x, const mlib_s32 *y, const mlib_s32 *c,
143 mlib_s32 n);
144
145
146 mlib_status mlib_VectorMulSAdd_S32C_S16C_Mod(mlib_s32 *z,
147 const mlib_s16 *x, const mlib_s16 *y, const mlib_s16 *c,
148 mlib_s32 n);
149
150
151 mlib_status mlib_VectorMulSAdd_S32C_S16C_Sat(mlib_s32 *z,
152 const mlib_s16 *x, const mlib_s16 *y, const mlib_s16 *c,
153 mlib_s32 n);
154
155
156 mlib_status mlib_VectorMulSAdd_S32C_S32C_Mod(mlib_s32 *z,
157 const mlib_s32 *x, const mlib_s32 *y, const mlib_s32 *c,
158 mlib_s32 n);
159
160
161 mlib_status mlib_VectorMulSAdd_S32C_S32C_Sat(mlib_s32 *z,
162 const mlib_s32 *x, const mlib_s32 *y, const mlib_s32 *c,
163 mlib_s32 n);
164
165
167 Each of these functions multiplies a vector by a scalar and adds the
168 result to another vector.
169
170
171 For real data, the following equation is used:
172
173 z[i] = x[i] + y[i]*c[0]
174
175
176
177 where i = 0, 1, ..., (n - 1).
178
179
180 For complex data, the following equation is used:
181
182 z[2*i] = x[2*i] + y[2*i]*c[0] - y[2*i + 1]*c[1]
183 z[2*i + 1] = x[2*i + 1] + y[2*i]*c[1] + y[2*i + 1]*c[0]
184
185
186
187 where i = 0, 1, ..., (n - 1).
188
190 Each of the functions takes the following arguments:
191
192 z Pointer to the first element of the destination vector.
193
194
195 x Pointer to the first element of the first source vector.
196
197
198 y Pointer to the first element of the second source vector.
199
200
201 c Pointer to the source scalar. When the function is used with com‐
202 plex data types, c[0] contains the real part of the scalar, and
203 c[1] contains the imaginary part of the scalar.
204
205
206 n Number of elements in the vectors.
207
208
210 Each of the functions returns MLIB_SUCCESS if successful. Otherwise it
211 returns MLIB_FAILURE.
212
214 See attributes(5) for descriptions of the following attributes:
215
216
217
218
219 ┌─────────────────────────────┬─────────────────────────────┐
220 │ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
221 ├─────────────────────────────┼─────────────────────────────┤
222 │Interface Stability │Committed │
223 ├─────────────────────────────┼─────────────────────────────┤
224 │MT-Level │MT-Safe │
225 └─────────────────────────────┴─────────────────────────────┘
226
228 mlib_VectorMulSAdd_U8_Mod(3MLIB), attributes(5)
229
230
231
232SunOS 5.11 2 Mar 2007mlib_VectorMulSAdd_U8_U8_Mod(3MLIB)