1use super::*;
2
3impl_error_metric!(
4 norm_rel_inf_u8_c1_buffer_size,
5 norm_rel_inf_u8_c1,
6 u8,
7 C1,
8 1,
9 nppiNormRelInfGetBufferHostSize_8u_C1R_Ctx,
10 nppiNormRel_Inf_8u_C1R_Ctx
11);
12impl_error_metric!(
13 norm_rel_inf_u8_c3_buffer_size,
14 norm_rel_inf_u8_c3,
15 u8,
16 C3,
17 3,
18 nppiNormRelInfGetBufferHostSize_8u_C3R_Ctx,
19 nppiNormRel_Inf_8u_C3R_Ctx
20);
21impl_error_metric!(
22 norm_rel_inf_u8_c4_buffer_size,
23 norm_rel_inf_u8_c4,
24 u8,
25 C4,
26 4,
27 nppiNormRelInfGetBufferHostSize_8u_C4R_Ctx,
28 nppiNormRel_Inf_8u_C4R_Ctx
29);
30impl_error_metric!(
31 norm_rel_inf_u8_ac4_buffer_size,
32 norm_rel_inf_u8_ac4,
33 u8,
34 AC4,
35 3,
36 nppiNormRelInfGetBufferHostSize_8u_AC4R_Ctx,
37 nppiNormRel_Inf_8u_AC4R_Ctx
38);
39
40impl_error_metric!(
41 norm_rel_inf_u16_c1_buffer_size,
42 norm_rel_inf_u16_c1,
43 u16,
44 C1,
45 1,
46 nppiNormRelInfGetBufferHostSize_16u_C1R_Ctx,
47 nppiNormRel_Inf_16u_C1R_Ctx
48);
49impl_error_metric!(
50 norm_rel_inf_u16_c3_buffer_size,
51 norm_rel_inf_u16_c3,
52 u16,
53 C3,
54 3,
55 nppiNormRelInfGetBufferHostSize_16u_C3R_Ctx,
56 nppiNormRel_Inf_16u_C3R_Ctx
57);
58impl_error_metric!(
59 norm_rel_inf_u16_c4_buffer_size,
60 norm_rel_inf_u16_c4,
61 u16,
62 C4,
63 4,
64 nppiNormRelInfGetBufferHostSize_16u_C4R_Ctx,
65 nppiNormRel_Inf_16u_C4R_Ctx
66);
67impl_error_metric!(
68 norm_rel_inf_u16_ac4_buffer_size,
69 norm_rel_inf_u16_ac4,
70 u16,
71 AC4,
72 3,
73 nppiNormRelInfGetBufferHostSize_16u_AC4R_Ctx,
74 nppiNormRel_Inf_16u_AC4R_Ctx
75);
76
77impl_error_metric!(
78 norm_rel_inf_i16_c1_buffer_size,
79 norm_rel_inf_i16_c1,
80 i16,
81 C1,
82 1,
83 nppiNormRelInfGetBufferHostSize_16s_C1R_Ctx,
84 nppiNormRel_Inf_16s_C1R_Ctx
85);
86impl_error_metric!(
87 norm_rel_inf_i16_c3_buffer_size,
88 norm_rel_inf_i16_c3,
89 i16,
90 C3,
91 3,
92 nppiNormRelInfGetBufferHostSize_16s_C3R_Ctx,
93 nppiNormRel_Inf_16s_C3R_Ctx
94);
95impl_error_metric!(
96 norm_rel_inf_i16_c4_buffer_size,
97 norm_rel_inf_i16_c4,
98 i16,
99 C4,
100 4,
101 nppiNormRelInfGetBufferHostSize_16s_C4R_Ctx,
102 nppiNormRel_Inf_16s_C4R_Ctx
103);
104impl_error_metric!(
105 norm_rel_inf_i16_ac4_buffer_size,
106 norm_rel_inf_i16_ac4,
107 i16,
108 AC4,
109 3,
110 nppiNormRelInfGetBufferHostSize_16s_AC4R_Ctx,
111 nppiNormRel_Inf_16s_AC4R_Ctx
112);
113
114impl_error_metric!(
115 norm_rel_inf_f32_c1_buffer_size,
116 norm_rel_inf_f32_c1,
117 f32,
118 C1,
119 1,
120 nppiNormRelInfGetBufferHostSize_32f_C1R_Ctx,
121 nppiNormRel_Inf_32f_C1R_Ctx
122);
123impl_error_metric!(
124 norm_rel_inf_f32_c3_buffer_size,
125 norm_rel_inf_f32_c3,
126 f32,
127 C3,
128 3,
129 nppiNormRelInfGetBufferHostSize_32f_C3R_Ctx,
130 nppiNormRel_Inf_32f_C3R_Ctx
131);
132impl_error_metric!(
133 norm_rel_inf_f32_c4_buffer_size,
134 norm_rel_inf_f32_c4,
135 f32,
136 C4,
137 4,
138 nppiNormRelInfGetBufferHostSize_32f_C4R_Ctx,
139 nppiNormRel_Inf_32f_C4R_Ctx
140);
141impl_error_metric!(
142 norm_rel_inf_f32_ac4_buffer_size,
143 norm_rel_inf_f32_ac4,
144 f32,
145 AC4,
146 3,
147 nppiNormRelInfGetBufferHostSize_32f_AC4R_Ctx,
148 nppiNormRel_Inf_32f_AC4R_Ctx
149);
150
151impl_error_metric!(
152 norm_rel_l1_u8_c1_buffer_size,
153 norm_rel_l1_u8_c1,
154 u8,
155 C1,
156 1,
157 nppiNormRelL1GetBufferHostSize_8u_C1R_Ctx,
158 nppiNormRel_L1_8u_C1R_Ctx
159);
160impl_error_metric!(
161 norm_rel_l1_u8_c3_buffer_size,
162 norm_rel_l1_u8_c3,
163 u8,
164 C3,
165 3,
166 nppiNormRelL1GetBufferHostSize_8u_C3R_Ctx,
167 nppiNormRel_L1_8u_C3R_Ctx
168);
169impl_error_metric!(
170 norm_rel_l1_u8_c4_buffer_size,
171 norm_rel_l1_u8_c4,
172 u8,
173 C4,
174 4,
175 nppiNormRelL1GetBufferHostSize_8u_C4R_Ctx,
176 nppiNormRel_L1_8u_C4R_Ctx
177);
178impl_error_metric!(
179 norm_rel_l1_u8_ac4_buffer_size,
180 norm_rel_l1_u8_ac4,
181 u8,
182 AC4,
183 3,
184 nppiNormRelL1GetBufferHostSize_8u_AC4R_Ctx,
185 nppiNormRel_L1_8u_AC4R_Ctx
186);
187
188impl_error_metric!(
189 norm_rel_l1_u16_c1_buffer_size,
190 norm_rel_l1_u16_c1,
191 u16,
192 C1,
193 1,
194 nppiNormRelL1GetBufferHostSize_16u_C1R_Ctx,
195 nppiNormRel_L1_16u_C1R_Ctx
196);
197impl_error_metric!(
198 norm_rel_l1_u16_c3_buffer_size,
199 norm_rel_l1_u16_c3,
200 u16,
201 C3,
202 3,
203 nppiNormRelL1GetBufferHostSize_16u_C3R_Ctx,
204 nppiNormRel_L1_16u_C3R_Ctx
205);
206impl_error_metric!(
207 norm_rel_l1_u16_c4_buffer_size,
208 norm_rel_l1_u16_c4,
209 u16,
210 C4,
211 4,
212 nppiNormRelL1GetBufferHostSize_16u_C4R_Ctx,
213 nppiNormRel_L1_16u_C4R_Ctx
214);
215impl_error_metric!(
216 norm_rel_l1_u16_ac4_buffer_size,
217 norm_rel_l1_u16_ac4,
218 u16,
219 AC4,
220 3,
221 nppiNormRelL1GetBufferHostSize_16u_AC4R_Ctx,
222 nppiNormRel_L1_16u_AC4R_Ctx
223);
224
225impl_error_metric!(
226 norm_rel_l1_i16_c1_buffer_size,
227 norm_rel_l1_i16_c1,
228 i16,
229 C1,
230 1,
231 nppiNormRelL1GetBufferHostSize_16s_C1R_Ctx,
232 nppiNormRel_L1_16s_C1R_Ctx
233);
234impl_error_metric!(
235 norm_rel_l1_i16_c3_buffer_size,
236 norm_rel_l1_i16_c3,
237 i16,
238 C3,
239 3,
240 nppiNormRelL1GetBufferHostSize_16s_C3R_Ctx,
241 nppiNormRel_L1_16s_C3R_Ctx
242);
243impl_error_metric!(
244 norm_rel_l1_i16_c4_buffer_size,
245 norm_rel_l1_i16_c4,
246 i16,
247 C4,
248 4,
249 nppiNormRelL1GetBufferHostSize_16s_C4R_Ctx,
250 nppiNormRel_L1_16s_C4R_Ctx
251);
252impl_error_metric!(
253 norm_rel_l1_i16_ac4_buffer_size,
254 norm_rel_l1_i16_ac4,
255 i16,
256 AC4,
257 3,
258 nppiNormRelL1GetBufferHostSize_16s_AC4R_Ctx,
259 nppiNormRel_L1_16s_AC4R_Ctx
260);
261
262impl_error_metric!(
263 norm_rel_l1_f32_c1_buffer_size,
264 norm_rel_l1_f32_c1,
265 f32,
266 C1,
267 1,
268 nppiNormRelL1GetBufferHostSize_32f_C1R_Ctx,
269 nppiNormRel_L1_32f_C1R_Ctx
270);
271impl_error_metric!(
272 norm_rel_l1_f32_c3_buffer_size,
273 norm_rel_l1_f32_c3,
274 f32,
275 C3,
276 3,
277 nppiNormRelL1GetBufferHostSize_32f_C3R_Ctx,
278 nppiNormRel_L1_32f_C3R_Ctx
279);
280impl_error_metric!(
281 norm_rel_l1_f32_c4_buffer_size,
282 norm_rel_l1_f32_c4,
283 f32,
284 C4,
285 4,
286 nppiNormRelL1GetBufferHostSize_32f_C4R_Ctx,
287 nppiNormRel_L1_32f_C4R_Ctx
288);
289impl_error_metric!(
290 norm_rel_l1_f32_ac4_buffer_size,
291 norm_rel_l1_f32_ac4,
292 f32,
293 AC4,
294 3,
295 nppiNormRelL1GetBufferHostSize_32f_AC4R_Ctx,
296 nppiNormRel_L1_32f_AC4R_Ctx
297);
298
299impl_error_metric!(
300 norm_rel_l2_u8_c1_buffer_size,
301 norm_rel_l2_u8_c1,
302 u8,
303 C1,
304 1,
305 nppiNormRelL2GetBufferHostSize_8u_C1R_Ctx,
306 nppiNormRel_L2_8u_C1R_Ctx
307);
308impl_error_metric!(
309 norm_rel_l2_u8_c3_buffer_size,
310 norm_rel_l2_u8_c3,
311 u8,
312 C3,
313 3,
314 nppiNormRelL2GetBufferHostSize_8u_C3R_Ctx,
315 nppiNormRel_L2_8u_C3R_Ctx
316);
317impl_error_metric!(
318 norm_rel_l2_u8_c4_buffer_size,
319 norm_rel_l2_u8_c4,
320 u8,
321 C4,
322 4,
323 nppiNormRelL2GetBufferHostSize_8u_C4R_Ctx,
324 nppiNormRel_L2_8u_C4R_Ctx
325);
326impl_error_metric!(
327 norm_rel_l2_u8_ac4_buffer_size,
328 norm_rel_l2_u8_ac4,
329 u8,
330 AC4,
331 3,
332 nppiNormRelL2GetBufferHostSize_8u_AC4R_Ctx,
333 nppiNormRel_L2_8u_AC4R_Ctx
334);
335
336impl_error_metric!(
337 norm_rel_l2_u16_c1_buffer_size,
338 norm_rel_l2_u16_c1,
339 u16,
340 C1,
341 1,
342 nppiNormRelL2GetBufferHostSize_16u_C1R_Ctx,
343 nppiNormRel_L2_16u_C1R_Ctx
344);
345impl_error_metric!(
346 norm_rel_l2_u16_c3_buffer_size,
347 norm_rel_l2_u16_c3,
348 u16,
349 C3,
350 3,
351 nppiNormRelL2GetBufferHostSize_16u_C3R_Ctx,
352 nppiNormRel_L2_16u_C3R_Ctx
353);
354impl_error_metric!(
355 norm_rel_l2_u16_c4_buffer_size,
356 norm_rel_l2_u16_c4,
357 u16,
358 C4,
359 4,
360 nppiNormRelL2GetBufferHostSize_16u_C4R_Ctx,
361 nppiNormRel_L2_16u_C4R_Ctx
362);
363impl_error_metric!(
364 norm_rel_l2_u16_ac4_buffer_size,
365 norm_rel_l2_u16_ac4,
366 u16,
367 AC4,
368 3,
369 nppiNormRelL2GetBufferHostSize_16u_AC4R_Ctx,
370 nppiNormRel_L2_16u_AC4R_Ctx
371);
372
373impl_error_metric!(
374 norm_rel_l2_i16_c1_buffer_size,
375 norm_rel_l2_i16_c1,
376 i16,
377 C1,
378 1,
379 nppiNormRelL2GetBufferHostSize_16s_C1R_Ctx,
380 nppiNormRel_L2_16s_C1R_Ctx
381);
382impl_error_metric!(
383 norm_rel_l2_i16_c3_buffer_size,
384 norm_rel_l2_i16_c3,
385 i16,
386 C3,
387 3,
388 nppiNormRelL2GetBufferHostSize_16s_C3R_Ctx,
389 nppiNormRel_L2_16s_C3R_Ctx
390);
391impl_error_metric!(
392 norm_rel_l2_i16_c4_buffer_size,
393 norm_rel_l2_i16_c4,
394 i16,
395 C4,
396 4,
397 nppiNormRelL2GetBufferHostSize_16s_C4R_Ctx,
398 nppiNormRel_L2_16s_C4R_Ctx
399);
400impl_error_metric!(
401 norm_rel_l2_i16_ac4_buffer_size,
402 norm_rel_l2_i16_ac4,
403 i16,
404 AC4,
405 3,
406 nppiNormRelL2GetBufferHostSize_16s_AC4R_Ctx,
407 nppiNormRel_L2_16s_AC4R_Ctx
408);
409
410impl_error_metric!(
411 norm_rel_l2_f32_c1_buffer_size,
412 norm_rel_l2_f32_c1,
413 f32,
414 C1,
415 1,
416 nppiNormRelL2GetBufferHostSize_32f_C1R_Ctx,
417 nppiNormRel_L2_32f_C1R_Ctx
418);
419impl_error_metric!(
420 norm_rel_l2_f32_c3_buffer_size,
421 norm_rel_l2_f32_c3,
422 f32,
423 C3,
424 3,
425 nppiNormRelL2GetBufferHostSize_32f_C3R_Ctx,
426 nppiNormRel_L2_32f_C3R_Ctx
427);
428impl_error_metric!(
429 norm_rel_l2_f32_c4_buffer_size,
430 norm_rel_l2_f32_c4,
431 f32,
432 C4,
433 4,
434 nppiNormRelL2GetBufferHostSize_32f_C4R_Ctx,
435 nppiNormRel_L2_32f_C4R_Ctx
436);
437impl_error_metric!(
438 norm_rel_l2_f32_ac4_buffer_size,
439 norm_rel_l2_f32_ac4,
440 f32,
441 AC4,
442 3,
443 nppiNormRelL2GetBufferHostSize_32f_AC4R_Ctx,
444 nppiNormRel_L2_32f_AC4R_Ctx
445);
446
447impl_generic_dot_prod!(
448 NormRelInfC1,
449 norm_rel_inf_c1,
450 norm_rel_inf_c1_buffer_size,
451 C1,
452 [
453 (u8, norm_rel_inf_u8_c1, norm_rel_inf_u8_c1_buffer_size),
454 (u16, norm_rel_inf_u16_c1, norm_rel_inf_u16_c1_buffer_size),
455 (i16, norm_rel_inf_i16_c1, norm_rel_inf_i16_c1_buffer_size),
456 (f32, norm_rel_inf_f32_c1, norm_rel_inf_f32_c1_buffer_size),
457 ]
458);
459impl_generic_dot_prod!(
460 NormRelInfC3,
461 norm_rel_inf_c3,
462 norm_rel_inf_c3_buffer_size,
463 C3,
464 [
465 (u8, norm_rel_inf_u8_c3, norm_rel_inf_u8_c3_buffer_size),
466 (u16, norm_rel_inf_u16_c3, norm_rel_inf_u16_c3_buffer_size),
467 (i16, norm_rel_inf_i16_c3, norm_rel_inf_i16_c3_buffer_size),
468 (f32, norm_rel_inf_f32_c3, norm_rel_inf_f32_c3_buffer_size),
469 ]
470);
471impl_generic_dot_prod!(
472 NormRelInfC4,
473 norm_rel_inf_c4,
474 norm_rel_inf_c4_buffer_size,
475 C4,
476 [
477 (u8, norm_rel_inf_u8_c4, norm_rel_inf_u8_c4_buffer_size),
478 (u16, norm_rel_inf_u16_c4, norm_rel_inf_u16_c4_buffer_size),
479 (i16, norm_rel_inf_i16_c4, norm_rel_inf_i16_c4_buffer_size),
480 (f32, norm_rel_inf_f32_c4, norm_rel_inf_f32_c4_buffer_size),
481 ]
482);
483impl_generic_dot_prod!(
484 NormRelInfAC4,
485 norm_rel_inf_ac4,
486 norm_rel_inf_ac4_buffer_size,
487 AC4,
488 [
489 (u8, norm_rel_inf_u8_ac4, norm_rel_inf_u8_ac4_buffer_size),
490 (u16, norm_rel_inf_u16_ac4, norm_rel_inf_u16_ac4_buffer_size),
491 (i16, norm_rel_inf_i16_ac4, norm_rel_inf_i16_ac4_buffer_size),
492 (f32, norm_rel_inf_f32_ac4, norm_rel_inf_f32_ac4_buffer_size),
493 ]
494);
495
496impl_generic_dot_prod!(
497 NormRelL1C1,
498 norm_rel_l1_c1,
499 norm_rel_l1_c1_buffer_size,
500 C1,
501 [
502 (u8, norm_rel_l1_u8_c1, norm_rel_l1_u8_c1_buffer_size),
503 (u16, norm_rel_l1_u16_c1, norm_rel_l1_u16_c1_buffer_size),
504 (i16, norm_rel_l1_i16_c1, norm_rel_l1_i16_c1_buffer_size),
505 (f32, norm_rel_l1_f32_c1, norm_rel_l1_f32_c1_buffer_size),
506 ]
507);
508impl_generic_dot_prod!(
509 NormRelL1C3,
510 norm_rel_l1_c3,
511 norm_rel_l1_c3_buffer_size,
512 C3,
513 [
514 (u8, norm_rel_l1_u8_c3, norm_rel_l1_u8_c3_buffer_size),
515 (u16, norm_rel_l1_u16_c3, norm_rel_l1_u16_c3_buffer_size),
516 (i16, norm_rel_l1_i16_c3, norm_rel_l1_i16_c3_buffer_size),
517 (f32, norm_rel_l1_f32_c3, norm_rel_l1_f32_c3_buffer_size),
518 ]
519);
520impl_generic_dot_prod!(
521 NormRelL1C4,
522 norm_rel_l1_c4,
523 norm_rel_l1_c4_buffer_size,
524 C4,
525 [
526 (u8, norm_rel_l1_u8_c4, norm_rel_l1_u8_c4_buffer_size),
527 (u16, norm_rel_l1_u16_c4, norm_rel_l1_u16_c4_buffer_size),
528 (i16, norm_rel_l1_i16_c4, norm_rel_l1_i16_c4_buffer_size),
529 (f32, norm_rel_l1_f32_c4, norm_rel_l1_f32_c4_buffer_size),
530 ]
531);
532impl_generic_dot_prod!(
533 NormRelL1AC4,
534 norm_rel_l1_ac4,
535 norm_rel_l1_ac4_buffer_size,
536 AC4,
537 [
538 (u8, norm_rel_l1_u8_ac4, norm_rel_l1_u8_ac4_buffer_size),
539 (u16, norm_rel_l1_u16_ac4, norm_rel_l1_u16_ac4_buffer_size),
540 (i16, norm_rel_l1_i16_ac4, norm_rel_l1_i16_ac4_buffer_size),
541 (f32, norm_rel_l1_f32_ac4, norm_rel_l1_f32_ac4_buffer_size),
542 ]
543);
544
545impl_generic_dot_prod!(
546 NormRelL2C1,
547 norm_rel_l2_c1,
548 norm_rel_l2_c1_buffer_size,
549 C1,
550 [
551 (u8, norm_rel_l2_u8_c1, norm_rel_l2_u8_c1_buffer_size),
552 (u16, norm_rel_l2_u16_c1, norm_rel_l2_u16_c1_buffer_size),
553 (i16, norm_rel_l2_i16_c1, norm_rel_l2_i16_c1_buffer_size),
554 (f32, norm_rel_l2_f32_c1, norm_rel_l2_f32_c1_buffer_size),
555 ]
556);
557impl_generic_dot_prod!(
558 NormRelL2C3,
559 norm_rel_l2_c3,
560 norm_rel_l2_c3_buffer_size,
561 C3,
562 [
563 (u8, norm_rel_l2_u8_c3, norm_rel_l2_u8_c3_buffer_size),
564 (u16, norm_rel_l2_u16_c3, norm_rel_l2_u16_c3_buffer_size),
565 (i16, norm_rel_l2_i16_c3, norm_rel_l2_i16_c3_buffer_size),
566 (f32, norm_rel_l2_f32_c3, norm_rel_l2_f32_c3_buffer_size),
567 ]
568);
569impl_generic_dot_prod!(
570 NormRelL2C4,
571 norm_rel_l2_c4,
572 norm_rel_l2_c4_buffer_size,
573 C4,
574 [
575 (u8, norm_rel_l2_u8_c4, norm_rel_l2_u8_c4_buffer_size),
576 (u16, norm_rel_l2_u16_c4, norm_rel_l2_u16_c4_buffer_size),
577 (i16, norm_rel_l2_i16_c4, norm_rel_l2_i16_c4_buffer_size),
578 (f32, norm_rel_l2_f32_c4, norm_rel_l2_f32_c4_buffer_size),
579 ]
580);
581impl_generic_dot_prod!(
582 NormRelL2AC4,
583 norm_rel_l2_ac4,
584 norm_rel_l2_ac4_buffer_size,
585 AC4,
586 [
587 (u8, norm_rel_l2_u8_ac4, norm_rel_l2_u8_ac4_buffer_size),
588 (u16, norm_rel_l2_u16_ac4, norm_rel_l2_u16_ac4_buffer_size),
589 (i16, norm_rel_l2_i16_ac4, norm_rel_l2_i16_ac4_buffer_size),
590 (f32, norm_rel_l2_f32_ac4, norm_rel_l2_f32_ac4_buffer_size),
591 ]
592);