1use super::*;
2
3impl_error_metric!(
4 norm_diff_inf_u8_c1_buffer_size,
5 norm_diff_inf_u8_c1,
6 u8,
7 C1,
8 1,
9 nppiNormDiffInfGetBufferHostSize_8u_C1R_Ctx,
10 nppiNormDiff_Inf_8u_C1R_Ctx
11);
12impl_error_metric!(
13 norm_diff_inf_u16_c1_buffer_size,
14 norm_diff_inf_u16_c1,
15 u16,
16 C1,
17 1,
18 nppiNormDiffInfGetBufferHostSize_16u_C1R_Ctx,
19 nppiNormDiff_Inf_16u_C1R_Ctx
20);
21impl_error_metric!(
22 norm_diff_inf_i16_c1_buffer_size,
23 norm_diff_inf_i16_c1,
24 i16,
25 C1,
26 1,
27 nppiNormDiffInfGetBufferHostSize_16s_C1R_Ctx,
28 nppiNormDiff_Inf_16s_C1R_Ctx
29);
30impl_error_metric!(
31 norm_diff_inf_f32_c1_buffer_size,
32 norm_diff_inf_f32_c1,
33 f32,
34 C1,
35 1,
36 nppiNormDiffInfGetBufferHostSize_32f_C1R_Ctx,
37 nppiNormDiff_Inf_32f_C1R_Ctx
38);
39impl_error_metric!(
40 norm_diff_inf_u8_c3_buffer_size,
41 norm_diff_inf_u8_c3,
42 u8,
43 C3,
44 3,
45 nppiNormDiffInfGetBufferHostSize_8u_C3R_Ctx,
46 nppiNormDiff_Inf_8u_C3R_Ctx
47);
48impl_error_metric!(
49 norm_diff_inf_u16_c3_buffer_size,
50 norm_diff_inf_u16_c3,
51 u16,
52 C3,
53 3,
54 nppiNormDiffInfGetBufferHostSize_16u_C3R_Ctx,
55 nppiNormDiff_Inf_16u_C3R_Ctx
56);
57impl_error_metric!(
58 norm_diff_inf_i16_c3_buffer_size,
59 norm_diff_inf_i16_c3,
60 i16,
61 C3,
62 3,
63 nppiNormDiffInfGetBufferHostSize_16s_C3R_Ctx,
64 nppiNormDiff_Inf_16s_C3R_Ctx
65);
66impl_error_metric!(
67 norm_diff_inf_f32_c3_buffer_size,
68 norm_diff_inf_f32_c3,
69 f32,
70 C3,
71 3,
72 nppiNormDiffInfGetBufferHostSize_32f_C3R_Ctx,
73 nppiNormDiff_Inf_32f_C3R_Ctx
74);
75impl_error_metric!(
76 norm_diff_inf_u8_c4_buffer_size,
77 norm_diff_inf_u8_c4,
78 u8,
79 C4,
80 4,
81 nppiNormDiffInfGetBufferHostSize_8u_C4R_Ctx,
82 nppiNormDiff_Inf_8u_C4R_Ctx
83);
84impl_error_metric!(
85 norm_diff_inf_u16_c4_buffer_size,
86 norm_diff_inf_u16_c4,
87 u16,
88 C4,
89 4,
90 nppiNormDiffInfGetBufferHostSize_16u_C4R_Ctx,
91 nppiNormDiff_Inf_16u_C4R_Ctx
92);
93impl_error_metric!(
94 norm_diff_inf_i16_c4_buffer_size,
95 norm_diff_inf_i16_c4,
96 i16,
97 C4,
98 4,
99 nppiNormDiffInfGetBufferHostSize_16s_C4R_Ctx,
100 nppiNormDiff_Inf_16s_C4R_Ctx
101);
102impl_error_metric!(
103 norm_diff_inf_f32_c4_buffer_size,
104 norm_diff_inf_f32_c4,
105 f32,
106 C4,
107 4,
108 nppiNormDiffInfGetBufferHostSize_32f_C4R_Ctx,
109 nppiNormDiff_Inf_32f_C4R_Ctx
110);
111impl_error_metric!(
112 norm_diff_inf_u8_ac4_buffer_size,
113 norm_diff_inf_u8_ac4,
114 u8,
115 AC4,
116 3,
117 nppiNormDiffInfGetBufferHostSize_8u_AC4R_Ctx,
118 nppiNormDiff_Inf_8u_AC4R_Ctx
119);
120impl_error_metric!(
121 norm_diff_inf_u16_ac4_buffer_size,
122 norm_diff_inf_u16_ac4,
123 u16,
124 AC4,
125 3,
126 nppiNormDiffInfGetBufferHostSize_16u_AC4R_Ctx,
127 nppiNormDiff_Inf_16u_AC4R_Ctx
128);
129impl_error_metric!(
130 norm_diff_inf_i16_ac4_buffer_size,
131 norm_diff_inf_i16_ac4,
132 i16,
133 AC4,
134 3,
135 nppiNormDiffInfGetBufferHostSize_16s_AC4R_Ctx,
136 nppiNormDiff_Inf_16s_AC4R_Ctx
137);
138impl_error_metric!(
139 norm_diff_inf_f32_ac4_buffer_size,
140 norm_diff_inf_f32_ac4,
141 f32,
142 AC4,
143 3,
144 nppiNormDiffInfGetBufferHostSize_32f_AC4R_Ctx,
145 nppiNormDiff_Inf_32f_AC4R_Ctx
146);
147impl_error_metric!(
148 norm_diff_l1_u8_c1_buffer_size,
149 norm_diff_l1_u8_c1,
150 u8,
151 C1,
152 1,
153 nppiNormDiffL1GetBufferHostSize_8u_C1R_Ctx,
154 nppiNormDiff_L1_8u_C1R_Ctx
155);
156impl_error_metric!(
157 norm_diff_l1_u16_c1_buffer_size,
158 norm_diff_l1_u16_c1,
159 u16,
160 C1,
161 1,
162 nppiNormDiffL1GetBufferHostSize_16u_C1R_Ctx,
163 nppiNormDiff_L1_16u_C1R_Ctx
164);
165impl_error_metric!(
166 norm_diff_l1_i16_c1_buffer_size,
167 norm_diff_l1_i16_c1,
168 i16,
169 C1,
170 1,
171 nppiNormDiffL1GetBufferHostSize_16s_C1R_Ctx,
172 nppiNormDiff_L1_16s_C1R_Ctx
173);
174impl_error_metric!(
175 norm_diff_l1_f32_c1_buffer_size,
176 norm_diff_l1_f32_c1,
177 f32,
178 C1,
179 1,
180 nppiNormDiffL1GetBufferHostSize_32f_C1R_Ctx,
181 nppiNormDiff_L1_32f_C1R_Ctx
182);
183impl_error_metric!(
184 norm_diff_l1_u8_c3_buffer_size,
185 norm_diff_l1_u8_c3,
186 u8,
187 C3,
188 3,
189 nppiNormDiffL1GetBufferHostSize_8u_C3R_Ctx,
190 nppiNormDiff_L1_8u_C3R_Ctx
191);
192impl_error_metric!(
193 norm_diff_l1_u16_c3_buffer_size,
194 norm_diff_l1_u16_c3,
195 u16,
196 C3,
197 3,
198 nppiNormDiffL1GetBufferHostSize_16u_C3R_Ctx,
199 nppiNormDiff_L1_16u_C3R_Ctx
200);
201impl_error_metric!(
202 norm_diff_l1_i16_c3_buffer_size,
203 norm_diff_l1_i16_c3,
204 i16,
205 C3,
206 3,
207 nppiNormDiffL1GetBufferHostSize_16s_C3R_Ctx,
208 nppiNormDiff_L1_16s_C3R_Ctx
209);
210impl_error_metric!(
211 norm_diff_l1_f32_c3_buffer_size,
212 norm_diff_l1_f32_c3,
213 f32,
214 C3,
215 3,
216 nppiNormDiffL1GetBufferHostSize_32f_C3R_Ctx,
217 nppiNormDiff_L1_32f_C3R_Ctx
218);
219impl_error_metric!(
220 norm_diff_l1_u8_c4_buffer_size,
221 norm_diff_l1_u8_c4,
222 u8,
223 C4,
224 4,
225 nppiNormDiffL1GetBufferHostSize_8u_C4R_Ctx,
226 nppiNormDiff_L1_8u_C4R_Ctx
227);
228impl_error_metric!(
229 norm_diff_l1_u16_c4_buffer_size,
230 norm_diff_l1_u16_c4,
231 u16,
232 C4,
233 4,
234 nppiNormDiffL1GetBufferHostSize_16u_C4R_Ctx,
235 nppiNormDiff_L1_16u_C4R_Ctx
236);
237impl_error_metric!(
238 norm_diff_l1_i16_c4_buffer_size,
239 norm_diff_l1_i16_c4,
240 i16,
241 C4,
242 4,
243 nppiNormDiffL1GetBufferHostSize_16s_C4R_Ctx,
244 nppiNormDiff_L1_16s_C4R_Ctx
245);
246impl_error_metric!(
247 norm_diff_l1_f32_c4_buffer_size,
248 norm_diff_l1_f32_c4,
249 f32,
250 C4,
251 4,
252 nppiNormDiffL1GetBufferHostSize_32f_C4R_Ctx,
253 nppiNormDiff_L1_32f_C4R_Ctx
254);
255impl_error_metric!(
256 norm_diff_l1_u8_ac4_buffer_size,
257 norm_diff_l1_u8_ac4,
258 u8,
259 AC4,
260 3,
261 nppiNormDiffL1GetBufferHostSize_8u_AC4R_Ctx,
262 nppiNormDiff_L1_8u_AC4R_Ctx
263);
264impl_error_metric!(
265 norm_diff_l1_u16_ac4_buffer_size,
266 norm_diff_l1_u16_ac4,
267 u16,
268 AC4,
269 3,
270 nppiNormDiffL1GetBufferHostSize_16u_AC4R_Ctx,
271 nppiNormDiff_L1_16u_AC4R_Ctx
272);
273impl_error_metric!(
274 norm_diff_l1_i16_ac4_buffer_size,
275 norm_diff_l1_i16_ac4,
276 i16,
277 AC4,
278 3,
279 nppiNormDiffL1GetBufferHostSize_16s_AC4R_Ctx,
280 nppiNormDiff_L1_16s_AC4R_Ctx
281);
282impl_error_metric!(
283 norm_diff_l1_f32_ac4_buffer_size,
284 norm_diff_l1_f32_ac4,
285 f32,
286 AC4,
287 3,
288 nppiNormDiffL1GetBufferHostSize_32f_AC4R_Ctx,
289 nppiNormDiff_L1_32f_AC4R_Ctx
290);
291impl_error_metric!(
292 norm_diff_l2_u8_c1_buffer_size,
293 norm_diff_l2_u8_c1,
294 u8,
295 C1,
296 1,
297 nppiNormDiffL2GetBufferHostSize_8u_C1R_Ctx,
298 nppiNormDiff_L2_8u_C1R_Ctx
299);
300impl_error_metric!(
301 norm_diff_l2_u16_c1_buffer_size,
302 norm_diff_l2_u16_c1,
303 u16,
304 C1,
305 1,
306 nppiNormDiffL2GetBufferHostSize_16u_C1R_Ctx,
307 nppiNormDiff_L2_16u_C1R_Ctx
308);
309impl_error_metric!(
310 norm_diff_l2_i16_c1_buffer_size,
311 norm_diff_l2_i16_c1,
312 i16,
313 C1,
314 1,
315 nppiNormDiffL2GetBufferHostSize_16s_C1R_Ctx,
316 nppiNormDiff_L2_16s_C1R_Ctx
317);
318impl_error_metric!(
319 norm_diff_l2_f32_c1_buffer_size,
320 norm_diff_l2_f32_c1,
321 f32,
322 C1,
323 1,
324 nppiNormDiffL2GetBufferHostSize_32f_C1R_Ctx,
325 nppiNormDiff_L2_32f_C1R_Ctx
326);
327impl_error_metric!(
328 norm_diff_l2_u8_c3_buffer_size,
329 norm_diff_l2_u8_c3,
330 u8,
331 C3,
332 3,
333 nppiNormDiffL2GetBufferHostSize_8u_C3R_Ctx,
334 nppiNormDiff_L2_8u_C3R_Ctx
335);
336impl_error_metric!(
337 norm_diff_l2_u16_c3_buffer_size,
338 norm_diff_l2_u16_c3,
339 u16,
340 C3,
341 3,
342 nppiNormDiffL2GetBufferHostSize_16u_C3R_Ctx,
343 nppiNormDiff_L2_16u_C3R_Ctx
344);
345impl_error_metric!(
346 norm_diff_l2_i16_c3_buffer_size,
347 norm_diff_l2_i16_c3,
348 i16,
349 C3,
350 3,
351 nppiNormDiffL2GetBufferHostSize_16s_C3R_Ctx,
352 nppiNormDiff_L2_16s_C3R_Ctx
353);
354impl_error_metric!(
355 norm_diff_l2_f32_c3_buffer_size,
356 norm_diff_l2_f32_c3,
357 f32,
358 C3,
359 3,
360 nppiNormDiffL2GetBufferHostSize_32f_C3R_Ctx,
361 nppiNormDiff_L2_32f_C3R_Ctx
362);
363impl_error_metric!(
364 norm_diff_l2_u8_c4_buffer_size,
365 norm_diff_l2_u8_c4,
366 u8,
367 C4,
368 4,
369 nppiNormDiffL2GetBufferHostSize_8u_C4R_Ctx,
370 nppiNormDiff_L2_8u_C4R_Ctx
371);
372impl_error_metric!(
373 norm_diff_l2_u16_c4_buffer_size,
374 norm_diff_l2_u16_c4,
375 u16,
376 C4,
377 4,
378 nppiNormDiffL2GetBufferHostSize_16u_C4R_Ctx,
379 nppiNormDiff_L2_16u_C4R_Ctx
380);
381impl_error_metric!(
382 norm_diff_l2_i16_c4_buffer_size,
383 norm_diff_l2_i16_c4,
384 i16,
385 C4,
386 4,
387 nppiNormDiffL2GetBufferHostSize_16s_C4R_Ctx,
388 nppiNormDiff_L2_16s_C4R_Ctx
389);
390impl_error_metric!(
391 norm_diff_l2_f32_c4_buffer_size,
392 norm_diff_l2_f32_c4,
393 f32,
394 C4,
395 4,
396 nppiNormDiffL2GetBufferHostSize_32f_C4R_Ctx,
397 nppiNormDiff_L2_32f_C4R_Ctx
398);
399impl_error_metric!(
400 norm_diff_l2_u8_ac4_buffer_size,
401 norm_diff_l2_u8_ac4,
402 u8,
403 AC4,
404 3,
405 nppiNormDiffL2GetBufferHostSize_8u_AC4R_Ctx,
406 nppiNormDiff_L2_8u_AC4R_Ctx
407);
408impl_error_metric!(
409 norm_diff_l2_u16_ac4_buffer_size,
410 norm_diff_l2_u16_ac4,
411 u16,
412 AC4,
413 3,
414 nppiNormDiffL2GetBufferHostSize_16u_AC4R_Ctx,
415 nppiNormDiff_L2_16u_AC4R_Ctx
416);
417impl_error_metric!(
418 norm_diff_l2_i16_ac4_buffer_size,
419 norm_diff_l2_i16_ac4,
420 i16,
421 AC4,
422 3,
423 nppiNormDiffL2GetBufferHostSize_16s_AC4R_Ctx,
424 nppiNormDiff_L2_16s_AC4R_Ctx
425);
426impl_error_metric!(
427 norm_diff_l2_f32_ac4_buffer_size,
428 norm_diff_l2_f32_ac4,
429 f32,
430 AC4,
431 3,
432 nppiNormDiffL2GetBufferHostSize_32f_AC4R_Ctx,
433 nppiNormDiff_L2_32f_AC4R_Ctx
434);
435impl_generic_dot_prod!(
436 NormDiffInfC1,
437 norm_diff_inf_c1,
438 norm_diff_inf_c1_buffer_size,
439 C1,
440 [
441 (u8, norm_diff_inf_u8_c1, norm_diff_inf_u8_c1_buffer_size),
442 (u16, norm_diff_inf_u16_c1, norm_diff_inf_u16_c1_buffer_size),
443 (i16, norm_diff_inf_i16_c1, norm_diff_inf_i16_c1_buffer_size),
444 (f32, norm_diff_inf_f32_c1, norm_diff_inf_f32_c1_buffer_size),
445 ]
446);
447impl_generic_dot_prod!(
448 NormDiffInfC3,
449 norm_diff_inf_c3,
450 norm_diff_inf_c3_buffer_size,
451 C3,
452 [
453 (u8, norm_diff_inf_u8_c3, norm_diff_inf_u8_c3_buffer_size),
454 (u16, norm_diff_inf_u16_c3, norm_diff_inf_u16_c3_buffer_size),
455 (i16, norm_diff_inf_i16_c3, norm_diff_inf_i16_c3_buffer_size),
456 (f32, norm_diff_inf_f32_c3, norm_diff_inf_f32_c3_buffer_size),
457 ]
458);
459impl_generic_dot_prod!(
460 NormDiffInfC4,
461 norm_diff_inf_c4,
462 norm_diff_inf_c4_buffer_size,
463 C4,
464 [
465 (u8, norm_diff_inf_u8_c4, norm_diff_inf_u8_c4_buffer_size),
466 (u16, norm_diff_inf_u16_c4, norm_diff_inf_u16_c4_buffer_size),
467 (i16, norm_diff_inf_i16_c4, norm_diff_inf_i16_c4_buffer_size),
468 (f32, norm_diff_inf_f32_c4, norm_diff_inf_f32_c4_buffer_size),
469 ]
470);
471impl_generic_dot_prod!(
472 NormDiffInfAC4,
473 norm_diff_inf_ac4,
474 norm_diff_inf_ac4_buffer_size,
475 AC4,
476 [
477 (u8, norm_diff_inf_u8_ac4, norm_diff_inf_u8_ac4_buffer_size),
478 (
479 u16,
480 norm_diff_inf_u16_ac4,
481 norm_diff_inf_u16_ac4_buffer_size
482 ),
483 (
484 i16,
485 norm_diff_inf_i16_ac4,
486 norm_diff_inf_i16_ac4_buffer_size
487 ),
488 (
489 f32,
490 norm_diff_inf_f32_ac4,
491 norm_diff_inf_f32_ac4_buffer_size
492 ),
493 ]
494);
495
496impl_generic_dot_prod!(
497 NormDiffL1C1,
498 norm_diff_l1_c1,
499 norm_diff_l1_c1_buffer_size,
500 C1,
501 [
502 (u8, norm_diff_l1_u8_c1, norm_diff_l1_u8_c1_buffer_size),
503 (u16, norm_diff_l1_u16_c1, norm_diff_l1_u16_c1_buffer_size),
504 (i16, norm_diff_l1_i16_c1, norm_diff_l1_i16_c1_buffer_size),
505 (f32, norm_diff_l1_f32_c1, norm_diff_l1_f32_c1_buffer_size),
506 ]
507);
508impl_generic_dot_prod!(
509 NormDiffL1C3,
510 norm_diff_l1_c3,
511 norm_diff_l1_c3_buffer_size,
512 C3,
513 [
514 (u8, norm_diff_l1_u8_c3, norm_diff_l1_u8_c3_buffer_size),
515 (u16, norm_diff_l1_u16_c3, norm_diff_l1_u16_c3_buffer_size),
516 (i16, norm_diff_l1_i16_c3, norm_diff_l1_i16_c3_buffer_size),
517 (f32, norm_diff_l1_f32_c3, norm_diff_l1_f32_c3_buffer_size),
518 ]
519);
520impl_generic_dot_prod!(
521 NormDiffL1C4,
522 norm_diff_l1_c4,
523 norm_diff_l1_c4_buffer_size,
524 C4,
525 [
526 (u8, norm_diff_l1_u8_c4, norm_diff_l1_u8_c4_buffer_size),
527 (u16, norm_diff_l1_u16_c4, norm_diff_l1_u16_c4_buffer_size),
528 (i16, norm_diff_l1_i16_c4, norm_diff_l1_i16_c4_buffer_size),
529 (f32, norm_diff_l1_f32_c4, norm_diff_l1_f32_c4_buffer_size),
530 ]
531);
532impl_generic_dot_prod!(
533 NormDiffL1AC4,
534 norm_diff_l1_ac4,
535 norm_diff_l1_ac4_buffer_size,
536 AC4,
537 [
538 (u8, norm_diff_l1_u8_ac4, norm_diff_l1_u8_ac4_buffer_size),
539 (u16, norm_diff_l1_u16_ac4, norm_diff_l1_u16_ac4_buffer_size),
540 (i16, norm_diff_l1_i16_ac4, norm_diff_l1_i16_ac4_buffer_size),
541 (f32, norm_diff_l1_f32_ac4, norm_diff_l1_f32_ac4_buffer_size),
542 ]
543);
544
545impl_generic_dot_prod!(
546 NormDiffL2C1,
547 norm_diff_l2_c1,
548 norm_diff_l2_c1_buffer_size,
549 C1,
550 [
551 (u8, norm_diff_l2_u8_c1, norm_diff_l2_u8_c1_buffer_size),
552 (u16, norm_diff_l2_u16_c1, norm_diff_l2_u16_c1_buffer_size),
553 (i16, norm_diff_l2_i16_c1, norm_diff_l2_i16_c1_buffer_size),
554 (f32, norm_diff_l2_f32_c1, norm_diff_l2_f32_c1_buffer_size),
555 ]
556);
557impl_generic_dot_prod!(
558 NormDiffL2C3,
559 norm_diff_l2_c3,
560 norm_diff_l2_c3_buffer_size,
561 C3,
562 [
563 (u8, norm_diff_l2_u8_c3, norm_diff_l2_u8_c3_buffer_size),
564 (u16, norm_diff_l2_u16_c3, norm_diff_l2_u16_c3_buffer_size),
565 (i16, norm_diff_l2_i16_c3, norm_diff_l2_i16_c3_buffer_size),
566 (f32, norm_diff_l2_f32_c3, norm_diff_l2_f32_c3_buffer_size),
567 ]
568);
569impl_generic_dot_prod!(
570 NormDiffL2C4,
571 norm_diff_l2_c4,
572 norm_diff_l2_c4_buffer_size,
573 C4,
574 [
575 (u8, norm_diff_l2_u8_c4, norm_diff_l2_u8_c4_buffer_size),
576 (u16, norm_diff_l2_u16_c4, norm_diff_l2_u16_c4_buffer_size),
577 (i16, norm_diff_l2_i16_c4, norm_diff_l2_i16_c4_buffer_size),
578 (f32, norm_diff_l2_f32_c4, norm_diff_l2_f32_c4_buffer_size),
579 ]
580);
581impl_generic_dot_prod!(
582 NormDiffL2AC4,
583 norm_diff_l2_ac4,
584 norm_diff_l2_ac4_buffer_size,
585 AC4,
586 [
587 (u8, norm_diff_l2_u8_ac4, norm_diff_l2_u8_ac4_buffer_size),
588 (u16, norm_diff_l2_u16_ac4, norm_diff_l2_u16_ac4_buffer_size),
589 (i16, norm_diff_l2_i16_ac4, norm_diff_l2_i16_ac4_buffer_size),
590 (f32, norm_diff_l2_f32_ac4, norm_diff_l2_f32_ac4_buffer_size),
591 ]
592);