1use super::*;
2
3impl_error_metric!(
4 average_relative_error_u8_c1_buffer_size,
5 average_relative_error_u8_c1,
6 u8,
7 C1,
8 1,
9 nppiAverageRelativeErrorGetBufferHostSize_8u_C1R_Ctx,
10 nppiAverageRelativeError_8u_C1R_Ctx
11);
12impl_error_metric!(
13 average_relative_error_u8_c2_buffer_size,
14 average_relative_error_u8_c2,
15 u8,
16 C2,
17 1,
18 nppiAverageRelativeErrorGetBufferHostSize_8u_C2R_Ctx,
19 nppiAverageRelativeError_8u_C2R_Ctx
20);
21impl_error_metric!(
22 average_relative_error_u8_c3_buffer_size,
23 average_relative_error_u8_c3,
24 u8,
25 C3,
26 1,
27 nppiAverageRelativeErrorGetBufferHostSize_8u_C3R_Ctx,
28 nppiAverageRelativeError_8u_C3R_Ctx
29);
30impl_error_metric!(
31 average_relative_error_u8_c4_buffer_size,
32 average_relative_error_u8_c4,
33 u8,
34 C4,
35 1,
36 nppiAverageRelativeErrorGetBufferHostSize_8u_C4R_Ctx,
37 nppiAverageRelativeError_8u_C4R_Ctx
38);
39impl_error_metric!(
40 average_relative_error_i8_c1_buffer_size,
41 average_relative_error_i8_c1,
42 i8,
43 C1,
44 1,
45 nppiAverageRelativeErrorGetBufferHostSize_8s_C1R_Ctx,
46 nppiAverageRelativeError_8s_C1R_Ctx
47);
48impl_error_metric!(
49 average_relative_error_i8_c2_buffer_size,
50 average_relative_error_i8_c2,
51 i8,
52 C2,
53 1,
54 nppiAverageRelativeErrorGetBufferHostSize_8s_C2R_Ctx,
55 nppiAverageRelativeError_8s_C2R_Ctx
56);
57impl_error_metric!(
58 average_relative_error_i8_c3_buffer_size,
59 average_relative_error_i8_c3,
60 i8,
61 C3,
62 1,
63 nppiAverageRelativeErrorGetBufferHostSize_8s_C3R_Ctx,
64 nppiAverageRelativeError_8s_C3R_Ctx
65);
66impl_error_metric!(
67 average_relative_error_i8_c4_buffer_size,
68 average_relative_error_i8_c4,
69 i8,
70 C4,
71 1,
72 nppiAverageRelativeErrorGetBufferHostSize_8s_C4R_Ctx,
73 nppiAverageRelativeError_8s_C4R_Ctx
74);
75impl_error_metric!(
76 average_relative_error_u16_c1_buffer_size,
77 average_relative_error_u16_c1,
78 u16,
79 C1,
80 1,
81 nppiAverageRelativeErrorGetBufferHostSize_16u_C1R_Ctx,
82 nppiAverageRelativeError_16u_C1R_Ctx
83);
84impl_error_metric!(
85 average_relative_error_u16_c2_buffer_size,
86 average_relative_error_u16_c2,
87 u16,
88 C2,
89 1,
90 nppiAverageRelativeErrorGetBufferHostSize_16u_C2R_Ctx,
91 nppiAverageRelativeError_16u_C2R_Ctx
92);
93impl_error_metric!(
94 average_relative_error_u16_c3_buffer_size,
95 average_relative_error_u16_c3,
96 u16,
97 C3,
98 1,
99 nppiAverageRelativeErrorGetBufferHostSize_16u_C3R_Ctx,
100 nppiAverageRelativeError_16u_C3R_Ctx
101);
102impl_error_metric!(
103 average_relative_error_u16_c4_buffer_size,
104 average_relative_error_u16_c4,
105 u16,
106 C4,
107 1,
108 nppiAverageRelativeErrorGetBufferHostSize_16u_C4R_Ctx,
109 nppiAverageRelativeError_16u_C4R_Ctx
110);
111impl_error_metric!(
112 average_relative_error_i16_c1_buffer_size,
113 average_relative_error_i16_c1,
114 i16,
115 C1,
116 1,
117 nppiAverageRelativeErrorGetBufferHostSize_16s_C1R_Ctx,
118 nppiAverageRelativeError_16s_C1R_Ctx
119);
120impl_error_metric!(
121 average_relative_error_i16_c2_buffer_size,
122 average_relative_error_i16_c2,
123 i16,
124 C2,
125 1,
126 nppiAverageRelativeErrorGetBufferHostSize_16s_C2R_Ctx,
127 nppiAverageRelativeError_16s_C2R_Ctx
128);
129impl_error_metric!(
130 average_relative_error_i16_c3_buffer_size,
131 average_relative_error_i16_c3,
132 i16,
133 C3,
134 1,
135 nppiAverageRelativeErrorGetBufferHostSize_16s_C3R_Ctx,
136 nppiAverageRelativeError_16s_C3R_Ctx
137);
138impl_error_metric!(
139 average_relative_error_i16_c4_buffer_size,
140 average_relative_error_i16_c4,
141 i16,
142 C4,
143 1,
144 nppiAverageRelativeErrorGetBufferHostSize_16s_C4R_Ctx,
145 nppiAverageRelativeError_16s_C4R_Ctx
146);
147impl_error_metric!(
148 average_relative_error_u32_c1_buffer_size,
149 average_relative_error_u32_c1,
150 u32,
151 C1,
152 1,
153 nppiAverageRelativeErrorGetBufferHostSize_32u_C1R_Ctx,
154 nppiAverageRelativeError_32u_C1R_Ctx
155);
156impl_error_metric!(
157 average_relative_error_u32_c2_buffer_size,
158 average_relative_error_u32_c2,
159 u32,
160 C2,
161 1,
162 nppiAverageRelativeErrorGetBufferHostSize_32u_C2R_Ctx,
163 nppiAverageRelativeError_32u_C2R_Ctx
164);
165impl_error_metric!(
166 average_relative_error_u32_c3_buffer_size,
167 average_relative_error_u32_c3,
168 u32,
169 C3,
170 1,
171 nppiAverageRelativeErrorGetBufferHostSize_32u_C3R_Ctx,
172 nppiAverageRelativeError_32u_C3R_Ctx
173);
174impl_error_metric!(
175 average_relative_error_u32_c4_buffer_size,
176 average_relative_error_u32_c4,
177 u32,
178 C4,
179 1,
180 nppiAverageRelativeErrorGetBufferHostSize_32u_C4R_Ctx,
181 nppiAverageRelativeError_32u_C4R_Ctx
182);
183impl_error_metric!(
184 average_relative_error_i32_c1_buffer_size,
185 average_relative_error_i32_c1,
186 i32,
187 C1,
188 1,
189 nppiAverageRelativeErrorGetBufferHostSize_32s_C1R_Ctx,
190 nppiAverageRelativeError_32s_C1R_Ctx
191);
192impl_error_metric!(
193 average_relative_error_i32_c2_buffer_size,
194 average_relative_error_i32_c2,
195 i32,
196 C2,
197 1,
198 nppiAverageRelativeErrorGetBufferHostSize_32s_C2R_Ctx,
199 nppiAverageRelativeError_32s_C2R_Ctx
200);
201impl_error_metric!(
202 average_relative_error_i32_c3_buffer_size,
203 average_relative_error_i32_c3,
204 i32,
205 C3,
206 1,
207 nppiAverageRelativeErrorGetBufferHostSize_32s_C3R_Ctx,
208 nppiAverageRelativeError_32s_C3R_Ctx
209);
210impl_error_metric!(
211 average_relative_error_i32_c4_buffer_size,
212 average_relative_error_i32_c4,
213 i32,
214 C4,
215 1,
216 nppiAverageRelativeErrorGetBufferHostSize_32s_C4R_Ctx,
217 nppiAverageRelativeError_32s_C4R_Ctx
218);
219impl_error_metric!(
220 average_relative_error_f32_c1_buffer_size,
221 average_relative_error_f32_c1,
222 f32,
223 C1,
224 1,
225 nppiAverageRelativeErrorGetBufferHostSize_32f_C1R_Ctx,
226 nppiAverageRelativeError_32f_C1R_Ctx
227);
228impl_error_metric!(
229 average_relative_error_f32_c2_buffer_size,
230 average_relative_error_f32_c2,
231 f32,
232 C2,
233 1,
234 nppiAverageRelativeErrorGetBufferHostSize_32f_C2R_Ctx,
235 nppiAverageRelativeError_32f_C2R_Ctx
236);
237impl_error_metric!(
238 average_relative_error_f32_c3_buffer_size,
239 average_relative_error_f32_c3,
240 f32,
241 C3,
242 1,
243 nppiAverageRelativeErrorGetBufferHostSize_32f_C3R_Ctx,
244 nppiAverageRelativeError_32f_C3R_Ctx
245);
246impl_error_metric!(
247 average_relative_error_f32_c4_buffer_size,
248 average_relative_error_f32_c4,
249 f32,
250 C4,
251 1,
252 nppiAverageRelativeErrorGetBufferHostSize_32f_C4R_Ctx,
253 nppiAverageRelativeError_32f_C4R_Ctx
254);
255impl_error_metric!(
256 average_relative_error_f64_c1_buffer_size,
257 average_relative_error_f64_c1,
258 f64,
259 C1,
260 1,
261 nppiAverageRelativeErrorGetBufferHostSize_64f_C1R_Ctx,
262 nppiAverageRelativeError_64f_C1R_Ctx
263);
264impl_error_metric!(
265 average_relative_error_f64_c2_buffer_size,
266 average_relative_error_f64_c2,
267 f64,
268 C2,
269 1,
270 nppiAverageRelativeErrorGetBufferHostSize_64f_C2R_Ctx,
271 nppiAverageRelativeError_64f_C2R_Ctx
272);
273impl_error_metric!(
274 average_relative_error_f64_c3_buffer_size,
275 average_relative_error_f64_c3,
276 f64,
277 C3,
278 1,
279 nppiAverageRelativeErrorGetBufferHostSize_64f_C3R_Ctx,
280 nppiAverageRelativeError_64f_C3R_Ctx
281);
282impl_error_metric!(
283 average_relative_error_f64_c4_buffer_size,
284 average_relative_error_f64_c4,
285 f64,
286 C4,
287 1,
288 nppiAverageRelativeErrorGetBufferHostSize_64f_C4R_Ctx,
289 nppiAverageRelativeError_64f_C4R_Ctx
290);
291impl_error_metric!(
292 average_relative_error_i16_complex_c1_buffer_size,
293 average_relative_error_i16_complex_c1,
294 ComplexI16,
295 C1,
296 1,
297 nppiAverageRelativeErrorGetBufferHostSize_16sc_C1R_Ctx,
298 nppiAverageRelativeError_16sc_C1R_Ctx
299);
300impl_error_metric!(
301 average_relative_error_i16_complex_c2_buffer_size,
302 average_relative_error_i16_complex_c2,
303 ComplexI16,
304 C2,
305 1,
306 nppiAverageRelativeErrorGetBufferHostSize_16sc_C2R_Ctx,
307 nppiAverageRelativeError_16sc_C2R_Ctx
308);
309impl_error_metric!(
310 average_relative_error_i16_complex_c3_buffer_size,
311 average_relative_error_i16_complex_c3,
312 ComplexI16,
313 C3,
314 1,
315 nppiAverageRelativeErrorGetBufferHostSize_16sc_C3R_Ctx,
316 nppiAverageRelativeError_16sc_C3R_Ctx
317);
318impl_error_metric!(
319 average_relative_error_i16_complex_c4_buffer_size,
320 average_relative_error_i16_complex_c4,
321 ComplexI16,
322 C4,
323 1,
324 nppiAverageRelativeErrorGetBufferHostSize_16sc_C4R_Ctx,
325 nppiAverageRelativeError_16sc_C4R_Ctx
326);
327impl_error_metric!(
328 average_relative_error_i32_complex_c1_buffer_size,
329 average_relative_error_i32_complex_c1,
330 ComplexI32,
331 C1,
332 1,
333 nppiAverageRelativeErrorGetBufferHostSize_32sc_C1R_Ctx,
334 nppiAverageRelativeError_32sc_C1R_Ctx
335);
336impl_error_metric!(
337 average_relative_error_i32_complex_c2_buffer_size,
338 average_relative_error_i32_complex_c2,
339 ComplexI32,
340 C2,
341 1,
342 nppiAverageRelativeErrorGetBufferHostSize_32sc_C2R_Ctx,
343 nppiAverageRelativeError_32sc_C2R_Ctx
344);
345impl_error_metric!(
346 average_relative_error_i32_complex_c3_buffer_size,
347 average_relative_error_i32_complex_c3,
348 ComplexI32,
349 C3,
350 1,
351 nppiAverageRelativeErrorGetBufferHostSize_32sc_C3R_Ctx,
352 nppiAverageRelativeError_32sc_C3R_Ctx
353);
354impl_error_metric!(
355 average_relative_error_i32_complex_c4_buffer_size,
356 average_relative_error_i32_complex_c4,
357 ComplexI32,
358 C4,
359 1,
360 nppiAverageRelativeErrorGetBufferHostSize_32sc_C4R_Ctx,
361 nppiAverageRelativeError_32sc_C4R_Ctx
362);
363impl_error_metric!(
364 average_relative_error_f32_complex_c1_buffer_size,
365 average_relative_error_f32_complex_c1,
366 Complex32,
367 C1,
368 1,
369 nppiAverageRelativeErrorGetBufferHostSize_32fc_C1R_Ctx,
370 nppiAverageRelativeError_32fc_C1R_Ctx
371);
372impl_error_metric!(
373 average_relative_error_f32_complex_c2_buffer_size,
374 average_relative_error_f32_complex_c2,
375 Complex32,
376 C2,
377 1,
378 nppiAverageRelativeErrorGetBufferHostSize_32fc_C2R_Ctx,
379 nppiAverageRelativeError_32fc_C2R_Ctx
380);
381impl_error_metric!(
382 average_relative_error_f32_complex_c3_buffer_size,
383 average_relative_error_f32_complex_c3,
384 Complex32,
385 C3,
386 1,
387 nppiAverageRelativeErrorGetBufferHostSize_32fc_C3R_Ctx,
388 nppiAverageRelativeError_32fc_C3R_Ctx
389);
390impl_error_metric!(
391 average_relative_error_f32_complex_c4_buffer_size,
392 average_relative_error_f32_complex_c4,
393 Complex32,
394 C4,
395 1,
396 nppiAverageRelativeErrorGetBufferHostSize_32fc_C4R_Ctx,
397 nppiAverageRelativeError_32fc_C4R_Ctx
398);
399
400impl_generic_dot_prod!(
401 AverageRelativeErrorC1,
402 average_relative_error_c1,
403 average_relative_error_c1_buffer_size,
404 C1,
405 [
406 (
407 u8,
408 average_relative_error_u8_c1,
409 average_relative_error_u8_c1_buffer_size
410 ),
411 (
412 i8,
413 average_relative_error_i8_c1,
414 average_relative_error_i8_c1_buffer_size
415 ),
416 (
417 u16,
418 average_relative_error_u16_c1,
419 average_relative_error_u16_c1_buffer_size
420 ),
421 (
422 i16,
423 average_relative_error_i16_c1,
424 average_relative_error_i16_c1_buffer_size
425 ),
426 (
427 u32,
428 average_relative_error_u32_c1,
429 average_relative_error_u32_c1_buffer_size
430 ),
431 (
432 i32,
433 average_relative_error_i32_c1,
434 average_relative_error_i32_c1_buffer_size
435 ),
436 (
437 f32,
438 average_relative_error_f32_c1,
439 average_relative_error_f32_c1_buffer_size
440 ),
441 (
442 f64,
443 average_relative_error_f64_c1,
444 average_relative_error_f64_c1_buffer_size
445 ),
446 (
447 ComplexI16,
448 average_relative_error_i16_complex_c1,
449 average_relative_error_i16_complex_c1_buffer_size
450 ),
451 (
452 ComplexI32,
453 average_relative_error_i32_complex_c1,
454 average_relative_error_i32_complex_c1_buffer_size
455 ),
456 (
457 Complex32,
458 average_relative_error_f32_complex_c1,
459 average_relative_error_f32_complex_c1_buffer_size
460 ),
461 ]
462);
463impl_generic_dot_prod!(
464 AverageRelativeErrorC2,
465 average_relative_error_c2,
466 average_relative_error_c2_buffer_size,
467 C2,
468 [
469 (
470 u8,
471 average_relative_error_u8_c2,
472 average_relative_error_u8_c2_buffer_size
473 ),
474 (
475 i8,
476 average_relative_error_i8_c2,
477 average_relative_error_i8_c2_buffer_size
478 ),
479 (
480 u16,
481 average_relative_error_u16_c2,
482 average_relative_error_u16_c2_buffer_size
483 ),
484 (
485 i16,
486 average_relative_error_i16_c2,
487 average_relative_error_i16_c2_buffer_size
488 ),
489 (
490 u32,
491 average_relative_error_u32_c2,
492 average_relative_error_u32_c2_buffer_size
493 ),
494 (
495 i32,
496 average_relative_error_i32_c2,
497 average_relative_error_i32_c2_buffer_size
498 ),
499 (
500 f32,
501 average_relative_error_f32_c2,
502 average_relative_error_f32_c2_buffer_size
503 ),
504 (
505 f64,
506 average_relative_error_f64_c2,
507 average_relative_error_f64_c2_buffer_size
508 ),
509 (
510 ComplexI16,
511 average_relative_error_i16_complex_c2,
512 average_relative_error_i16_complex_c2_buffer_size
513 ),
514 (
515 ComplexI32,
516 average_relative_error_i32_complex_c2,
517 average_relative_error_i32_complex_c2_buffer_size
518 ),
519 (
520 Complex32,
521 average_relative_error_f32_complex_c2,
522 average_relative_error_f32_complex_c2_buffer_size
523 ),
524 ]
525);
526impl_generic_dot_prod!(
527 AverageRelativeErrorC3,
528 average_relative_error_c3,
529 average_relative_error_c3_buffer_size,
530 C3,
531 [
532 (
533 u8,
534 average_relative_error_u8_c3,
535 average_relative_error_u8_c3_buffer_size
536 ),
537 (
538 i8,
539 average_relative_error_i8_c3,
540 average_relative_error_i8_c3_buffer_size
541 ),
542 (
543 u16,
544 average_relative_error_u16_c3,
545 average_relative_error_u16_c3_buffer_size
546 ),
547 (
548 i16,
549 average_relative_error_i16_c3,
550 average_relative_error_i16_c3_buffer_size
551 ),
552 (
553 u32,
554 average_relative_error_u32_c3,
555 average_relative_error_u32_c3_buffer_size
556 ),
557 (
558 i32,
559 average_relative_error_i32_c3,
560 average_relative_error_i32_c3_buffer_size
561 ),
562 (
563 f32,
564 average_relative_error_f32_c3,
565 average_relative_error_f32_c3_buffer_size
566 ),
567 (
568 f64,
569 average_relative_error_f64_c3,
570 average_relative_error_f64_c3_buffer_size
571 ),
572 (
573 ComplexI16,
574 average_relative_error_i16_complex_c3,
575 average_relative_error_i16_complex_c3_buffer_size
576 ),
577 (
578 ComplexI32,
579 average_relative_error_i32_complex_c3,
580 average_relative_error_i32_complex_c3_buffer_size
581 ),
582 (
583 Complex32,
584 average_relative_error_f32_complex_c3,
585 average_relative_error_f32_complex_c3_buffer_size
586 ),
587 ]
588);
589impl_generic_dot_prod!(
590 AverageRelativeErrorC4,
591 average_relative_error_c4,
592 average_relative_error_c4_buffer_size,
593 C4,
594 [
595 (
596 u8,
597 average_relative_error_u8_c4,
598 average_relative_error_u8_c4_buffer_size
599 ),
600 (
601 i8,
602 average_relative_error_i8_c4,
603 average_relative_error_i8_c4_buffer_size
604 ),
605 (
606 u16,
607 average_relative_error_u16_c4,
608 average_relative_error_u16_c4_buffer_size
609 ),
610 (
611 i16,
612 average_relative_error_i16_c4,
613 average_relative_error_i16_c4_buffer_size
614 ),
615 (
616 u32,
617 average_relative_error_u32_c4,
618 average_relative_error_u32_c4_buffer_size
619 ),
620 (
621 i32,
622 average_relative_error_i32_c4,
623 average_relative_error_i32_c4_buffer_size
624 ),
625 (
626 f32,
627 average_relative_error_f32_c4,
628 average_relative_error_f32_c4_buffer_size
629 ),
630 (
631 f64,
632 average_relative_error_f64_c4,
633 average_relative_error_f64_c4_buffer_size
634 ),
635 (
636 ComplexI16,
637 average_relative_error_i16_complex_c4,
638 average_relative_error_i16_complex_c4_buffer_size
639 ),
640 (
641 ComplexI32,
642 average_relative_error_i32_complex_c4,
643 average_relative_error_i32_complex_c4_buffer_size
644 ),
645 (
646 Complex32,
647 average_relative_error_f32_complex_c4,
648 average_relative_error_f32_complex_c4_buffer_size
649 ),
650 ]
651);