1use super::*;
2
3impl_convert!(
4 convert_i16_to_u16_c1,
5 i16,
6 u16,
7 C1,
8 nppiConvert_16s16u_C1Rs_Ctx
9);
10impl_convert!(
11 convert_i16_to_u32_c1,
12 i16,
13 u32,
14 C1,
15 nppiConvert_16s32u_C1Rs_Ctx
16);
17impl_convert!(
18 convert_i32_to_u32_c1,
19 i32,
20 u32,
21 C1,
22 nppiConvert_32s32u_C1Rs_Ctx
23);
24impl_convert_scaled_round!(
25 convert_u16_to_i8_scaled_c1,
26 u16,
27 i8,
28 C1,
29 nppiConvert_16u8s_C1RSfs_Ctx
30);
31impl_convert_scaled_round!(
32 convert_i16_to_i8_scaled_c1,
33 i16,
34 i8,
35 C1,
36 nppiConvert_16s8s_C1RSfs_Ctx
37);
38impl_convert_scaled_round!(
39 convert_u16_to_i16_scaled_c1,
40 u16,
41 i16,
42 C1,
43 nppiConvert_16u16s_C1RSfs_Ctx
44);
45impl_convert_scaled_round!(
46 convert_u32_to_u8_scaled_c1,
47 u32,
48 u8,
49 C1,
50 nppiConvert_32u8u_C1RSfs_Ctx
51);
52impl_convert_scaled_round!(
53 convert_u32_to_i8_scaled_c1,
54 u32,
55 i8,
56 C1,
57 nppiConvert_32u8s_C1RSfs_Ctx
58);
59impl_convert_scaled_round!(
60 convert_u32_to_u16_scaled_c1,
61 u32,
62 u16,
63 C1,
64 nppiConvert_32u16u_C1RSfs_Ctx
65);
66impl_convert_scaled_round!(
67 convert_u32_to_i16_scaled_c1,
68 u32,
69 i16,
70 C1,
71 nppiConvert_32u16s_C1RSfs_Ctx
72);
73impl_convert_scaled_round!(
74 convert_i32_to_u16_scaled_c1,
75 i32,
76 u16,
77 C1,
78 nppiConvert_32s16u_C1RSfs_Ctx
79);
80impl_convert_scaled_round!(
81 convert_i32_to_i16_scaled_c1,
82 i32,
83 i16,
84 C1,
85 nppiConvert_32s16s_C1RSfs_Ctx
86);
87impl_convert_round!(convert_f32_to_u8_c1, f32, u8, C1, nppiConvert_32f8u_C1R_Ctx);
88impl_convert_round!(convert_f32_to_u8_c3, f32, u8, C3, nppiConvert_32f8u_C3R_Ctx);
89impl_convert_round!(convert_f32_to_u8_c4, f32, u8, C4, nppiConvert_32f8u_C4R_Ctx);
90impl_convert_round!(
91 convert_f32_to_u8_ac4,
92 f32,
93 u8,
94 AC4,
95 nppiConvert_32f8u_AC4R_Ctx
96);
97impl_generic_convert_to_operation!(
98 ConvertToU8C1,
99 convert_to_u8_c1,
100 u8,
101 C1,
102 [
103 i8 => convert_i8_to_u8_c1,
104 u16 => convert_u16_to_u8_c1,
105 i16 => convert_i16_to_u8_c1,
106 i32 => convert_i32_to_u8_c1,
107 ]
108);
109impl_generic_convert_to_operation!(
110 ConvertToU8C3,
111 convert_to_u8_c3,
112 u8,
113 C3,
114 [
115 u16 => convert_u16_to_u8_c3,
116 i16 => convert_i16_to_u8_c3,
117 i32 => convert_i32_to_u8_c3,
118 ]
119);
120impl_generic_convert_to_operation!(
121 ConvertToU8C4,
122 convert_to_u8_c4,
123 u8,
124 C4,
125 [
126 u16 => convert_u16_to_u8_c4,
127 i16 => convert_i16_to_u8_c4,
128 i32 => convert_i32_to_u8_c4,
129 ]
130);
131impl_generic_convert_to_operation!(
132 ConvertToU8AC4,
133 convert_to_u8_ac4,
134 u8,
135 AC4,
136 [
137 u16 => convert_u16_to_u8_ac4,
138 i16 => convert_i16_to_u8_ac4,
139 i32 => convert_i32_to_u8_ac4,
140 ]
141);
142impl_generic_convert_round_to_operation!(
143 ConvertRoundToU8C1,
144 convert_round_to_u8_c1,
145 u8,
146 C1,
147 [f32 => convert_f32_to_u8_c1]
148);
149impl_generic_convert_round_to_operation!(
150 ConvertRoundToU8C3,
151 convert_round_to_u8_c3,
152 u8,
153 C3,
154 [f32 => convert_f32_to_u8_c3]
155);
156impl_generic_convert_round_to_operation!(
157 ConvertRoundToU8C4,
158 convert_round_to_u8_c4,
159 u8,
160 C4,
161 [f32 => convert_f32_to_u8_c4]
162);
163impl_generic_convert_round_to_operation!(
164 ConvertRoundToU8AC4,
165 convert_round_to_u8_ac4,
166 u8,
167 AC4,
168 [f32 => convert_f32_to_u8_ac4]
169);
170impl_convert_round!(convert_f32_to_i8_c1, f32, i8, C1, nppiConvert_32f8s_C1R_Ctx);
171impl_convert_round!(convert_f32_to_i8_c3, f32, i8, C3, nppiConvert_32f8s_C3R_Ctx);
172impl_convert_round!(convert_f32_to_i8_c4, f32, i8, C4, nppiConvert_32f8s_C4R_Ctx);
173impl_convert_round!(
174 convert_f32_to_i8_ac4,
175 f32,
176 i8,
177 AC4,
178 nppiConvert_32f8s_AC4R_Ctx
179);
180impl_convert_scaled_round!(
181 convert_f32_to_u8_scaled_c1,
182 f32,
183 u8,
184 C1,
185 nppiConvert_32f8u_C1RSfs_Ctx
186);
187impl_convert_scaled_round!(
188 convert_f32_to_i8_scaled_c1,
189 f32,
190 i8,
191 C1,
192 nppiConvert_32f8s_C1RSfs_Ctx
193);
194impl_convert_scaled_round!(
195 convert_f32_to_u16_scaled_c1,
196 f32,
197 u16,
198 C1,
199 nppiConvert_32f16u_C1RSfs_Ctx
200);
201impl_convert_scaled_round!(
202 convert_f32_to_i16_scaled_c1,
203 f32,
204 i16,
205 C1,
206 nppiConvert_32f16s_C1RSfs_Ctx
207);
208impl_convert_scaled_round!(
209 convert_f32_to_u32_scaled_c1,
210 f32,
211 u32,
212 C1,
213 nppiConvert_32f32u_C1RSfs_Ctx
214);
215impl_convert_scaled_round!(
216 convert_f32_to_i32_scaled_c1,
217 f32,
218 i32,
219 C1,
220 nppiConvert_32f32s_C1RSfs_Ctx
221);
222impl_convert_scaled_round!(
223 convert_u8_to_i8_scaled_c1,
224 u8,
225 i8,
226 C1,
227 nppiConvert_8u8s_C1RSfs_Ctx
228);
229impl_generic_convert_scaled_round_to_operation!(
230 ConvertScaledRoundToI8C1,
231 convert_scaled_round_to_i8_c1,
232 i8,
233 C1,
234 [
235 u8 => convert_u8_to_i8_scaled_c1,
236 u16 => convert_u16_to_i8_scaled_c1,
237 i16 => convert_i16_to_i8_scaled_c1,
238 u32 => convert_u32_to_i8_scaled_c1,
239 f32 => convert_f32_to_i8_scaled_c1,
240 ]
241);
242impl_generic_convert_scaled_round_to_operation!(
243 ConvertScaledRoundToU8C1,
244 convert_scaled_round_to_u8_c1,
245 u8,
246 C1,
247 [
248 u32 => convert_u32_to_u8_scaled_c1,
249 f32 => convert_f32_to_u8_scaled_c1,
250 ]
251);
252impl_generic_convert_scaled_round_to_operation!(
253 ConvertScaledRoundToI16C1,
254 convert_scaled_round_to_i16_c1,
255 i16,
256 C1,
257 [
258 u16 => convert_u16_to_i16_scaled_c1,
259 u32 => convert_u32_to_i16_scaled_c1,
260 i32 => convert_i32_to_i16_scaled_c1,
261 f32 => convert_f32_to_i16_scaled_c1,
262 ]
263);
264impl_generic_convert_scaled_round_to_operation!(
265 ConvertScaledRoundToU16C1,
266 convert_scaled_round_to_u16_c1,
267 u16,
268 C1,
269 [
270 u32 => convert_u32_to_u16_scaled_c1,
271 i32 => convert_i32_to_u16_scaled_c1,
272 f32 => convert_f32_to_u16_scaled_c1,
273 ]
274);
275impl_generic_convert_scaled_round_to_operation!(
276 ConvertScaledRoundToI32C1,
277 convert_scaled_round_to_i32_c1,
278 i32,
279 C1,
280 [
281 u32 => convert_u32_to_i32_scaled_c1,
282 f32 => convert_f32_to_i32_scaled_c1,
283 ]
284);
285impl_generic_convert_scaled_round_to_operation!(
286 ConvertScaledRoundToU32C1,
287 convert_scaled_round_to_u32_c1,
288 u32,
289 C1,
290 [f32 => convert_f32_to_u32_scaled_c1]
291);
292impl_convert!(convert_i8_to_u8_c1, i8, u8, C1, nppiConvert_8s8u_C1Rs_Ctx);
293impl_convert!(
294 convert_i8_to_u16_c1,
295 i8,
296 u16,
297 C1,
298 nppiConvert_8s16u_C1Rs_Ctx
299);
300impl_convert!(convert_i8_to_i16_c1, i8, i16, C1, nppiConvert_8s16s_C1R_Ctx);
301impl_convert!(
302 convert_i8_to_u32_c1,
303 i8,
304 u32,
305 C1,
306 nppiConvert_8s32u_C1Rs_Ctx
307);
308impl_convert!(convert_i8_to_i32_c1, i8, i32, C1, nppiConvert_8s32s_C1R_Ctx);
309impl_convert!(convert_i8_to_i32_c3, i8, i32, C3, nppiConvert_8s32s_C3R_Ctx);
310impl_convert!(convert_i8_to_i32_c4, i8, i32, C4, nppiConvert_8s32s_C4R_Ctx);
311impl_convert!(
312 convert_i8_to_i32_ac4,
313 i8,
314 i32,
315 AC4,
316 nppiConvert_8s32s_AC4R_Ctx
317);
318impl_convert!(convert_i8_to_f32_c1, i8, f32, C1, nppiConvert_8s32f_C1R_Ctx);
319impl_convert!(convert_i8_to_f32_c3, i8, f32, C3, nppiConvert_8s32f_C3R_Ctx);
320impl_convert!(convert_i8_to_f32_c4, i8, f32, C4, nppiConvert_8s32f_C4R_Ctx);
321impl_convert!(
322 convert_i8_to_f32_ac4,
323 i8,
324 f32,
325 AC4,
326 nppiConvert_8s32f_AC4R_Ctx
327);
328impl_convert!(convert_i32_to_i8_c1, i32, i8, C1, nppiConvert_32s8s_C1R_Ctx);
329impl_convert!(convert_i32_to_i8_c3, i32, i8, C3, nppiConvert_32s8s_C3R_Ctx);
330impl_convert!(convert_i32_to_i8_c4, i32, i8, C4, nppiConvert_32s8s_C4R_Ctx);
331impl_convert!(
332 convert_i32_to_i8_ac4,
333 i32,
334 i8,
335 AC4,
336 nppiConvert_32s8s_AC4R_Ctx
337);
338impl_convert!(
339 convert_i32_to_f32_c1,
340 i32,
341 f32,
342 C1,
343 nppiConvert_32s32f_C1R_Ctx
344);
345impl_convert!(
346 convert_u32_to_f32_c1,
347 u32,
348 f32,
349 C1,
350 nppiConvert_32u32f_C1R_Ctx
351);
352impl_generic_convert_to_operation!(
353 ConvertToF32C1,
354 convert_to_f32_c1,
355 f32,
356 C1,
357 [
358 u8 => convert_u8_to_f32_c1,
359 i8 => convert_i8_to_f32_c1,
360 u16 => convert_u16_to_f32_c1,
361 i16 => convert_i16_to_f32_c1,
362 f16 => convert_f16_to_f32_c1,
363 i32 => convert_i32_to_f32_c1,
364 u32 => convert_u32_to_f32_c1,
365 ]
366);
367impl_generic_convert_to_operation!(
368 ConvertToF32C3,
369 convert_to_f32_c3,
370 f32,
371 C3,
372 [
373 u8 => convert_u8_to_f32_c3,
374 i8 => convert_i8_to_f32_c3,
375 u16 => convert_u16_to_f32_c3,
376 i16 => convert_i16_to_f32_c3,
377 f16 => convert_f16_to_f32_c3,
378 ]
379);
380impl_generic_convert_to_operation!(
381 ConvertToF32C4,
382 convert_to_f32_c4,
383 f32,
384 C4,
385 [
386 u8 => convert_u8_to_f32_c4,
387 i8 => convert_i8_to_f32_c4,
388 u16 => convert_u16_to_f32_c4,
389 i16 => convert_i16_to_f32_c4,
390 f16 => convert_f16_to_f32_c4,
391 ]
392);
393impl_generic_convert_to_operation!(
394 ConvertToF32AC4,
395 convert_to_f32_ac4,
396 f32,
397 AC4,
398 [
399 u8 => convert_u8_to_f32_ac4,
400 i8 => convert_i8_to_f32_ac4,
401 u16 => convert_u16_to_f32_ac4,
402 i16 => convert_i16_to_f32_ac4,
403 f16 => convert_f16_to_f32_ac4,
404 ]
405);
406impl_generic_convert_to_operation!(
407 ConvertToI32C1,
408 convert_to_i32_c1,
409 i32,
410 C1,
411 [
412 u8 => convert_u8_to_i32_c1,
413 i8 => convert_i8_to_i32_c1,
414 u16 => convert_u16_to_i32_c1,
415 i16 => convert_i16_to_i32_c1,
416 ]
417);
418impl_generic_convert_to_operation!(
419 ConvertToI32C3,
420 convert_to_i32_c3,
421 i32,
422 C3,
423 [
424 u8 => convert_u8_to_i32_c3,
425 i8 => convert_i8_to_i32_c3,
426 u16 => convert_u16_to_i32_c3,
427 i16 => convert_i16_to_i32_c3,
428 ]
429);
430impl_generic_convert_to_operation!(
431 ConvertToI32C4,
432 convert_to_i32_c4,
433 i32,
434 C4,
435 [
436 u8 => convert_u8_to_i32_c4,
437 i8 => convert_i8_to_i32_c4,
438 u16 => convert_u16_to_i32_c4,
439 i16 => convert_i16_to_i32_c4,
440 ]
441);
442impl_generic_convert_to_operation!(
443 ConvertToI32AC4,
444 convert_to_i32_ac4,
445 i32,
446 AC4,
447 [
448 u8 => convert_u8_to_i32_ac4,
449 i8 => convert_i8_to_i32_ac4,
450 u16 => convert_u16_to_i32_ac4,
451 i16 => convert_i16_to_i32_ac4,
452 ]
453);
454impl_convert_scaled_round!(
455 convert_u32_to_i32_scaled_c1,
456 u32,
457 i32,
458 C1,
459 nppiConvert_32u32s_C1RSfs_Ctx
460);