Skip to main content

singe_npp/image/
statistics_error_metrics_maximum_relative_maximum.rs

1use super::*;
2
3impl_error_metric!(
4    maximum_relative_error_u8_c1_buffer_size,
5    maximum_relative_error_u8_c1,
6    u8,
7    C1,
8    1,
9    nppiMaximumRelativeErrorGetBufferHostSize_8u_C1R_Ctx,
10    nppiMaximumRelativeError_8u_C1R_Ctx
11);
12impl_error_metric!(
13    maximum_relative_error_u8_c2_buffer_size,
14    maximum_relative_error_u8_c2,
15    u8,
16    C2,
17    1,
18    nppiMaximumRelativeErrorGetBufferHostSize_8u_C2R_Ctx,
19    nppiMaximumRelativeError_8u_C2R_Ctx
20);
21impl_error_metric!(
22    maximum_relative_error_u8_c3_buffer_size,
23    maximum_relative_error_u8_c3,
24    u8,
25    C3,
26    1,
27    nppiMaximumRelativeErrorGetBufferHostSize_8u_C3R_Ctx,
28    nppiMaximumRelativeError_8u_C3R_Ctx
29);
30impl_error_metric!(
31    maximum_relative_error_u8_c4_buffer_size,
32    maximum_relative_error_u8_c4,
33    u8,
34    C4,
35    1,
36    nppiMaximumRelativeErrorGetBufferHostSize_8u_C4R_Ctx,
37    nppiMaximumRelativeError_8u_C4R_Ctx
38);
39impl_error_metric!(
40    maximum_relative_error_i8_c1_buffer_size,
41    maximum_relative_error_i8_c1,
42    i8,
43    C1,
44    1,
45    nppiMaximumRelativeErrorGetBufferHostSize_8s_C1R_Ctx,
46    nppiMaximumRelativeError_8s_C1R_Ctx
47);
48impl_error_metric!(
49    maximum_relative_error_i8_c2_buffer_size,
50    maximum_relative_error_i8_c2,
51    i8,
52    C2,
53    1,
54    nppiMaximumRelativeErrorGetBufferHostSize_8s_C2R_Ctx,
55    nppiMaximumRelativeError_8s_C2R_Ctx
56);
57impl_error_metric!(
58    maximum_relative_error_i8_c3_buffer_size,
59    maximum_relative_error_i8_c3,
60    i8,
61    C3,
62    1,
63    nppiMaximumRelativeErrorGetBufferHostSize_8s_C3R_Ctx,
64    nppiMaximumRelativeError_8s_C3R_Ctx
65);
66impl_error_metric!(
67    maximum_relative_error_i8_c4_buffer_size,
68    maximum_relative_error_i8_c4,
69    i8,
70    C4,
71    1,
72    nppiMaximumRelativeErrorGetBufferHostSize_8s_C4R_Ctx,
73    nppiMaximumRelativeError_8s_C4R_Ctx
74);
75impl_error_metric!(
76    maximum_relative_error_u16_c1_buffer_size,
77    maximum_relative_error_u16_c1,
78    u16,
79    C1,
80    1,
81    nppiMaximumRelativeErrorGetBufferHostSize_16u_C1R_Ctx,
82    nppiMaximumRelativeError_16u_C1R_Ctx
83);
84impl_error_metric!(
85    maximum_relative_error_u16_c2_buffer_size,
86    maximum_relative_error_u16_c2,
87    u16,
88    C2,
89    1,
90    nppiMaximumRelativeErrorGetBufferHostSize_16u_C2R_Ctx,
91    nppiMaximumRelativeError_16u_C2R_Ctx
92);
93impl_error_metric!(
94    maximum_relative_error_u16_c3_buffer_size,
95    maximum_relative_error_u16_c3,
96    u16,
97    C3,
98    1,
99    nppiMaximumRelativeErrorGetBufferHostSize_16u_C3R_Ctx,
100    nppiMaximumRelativeError_16u_C3R_Ctx
101);
102impl_error_metric!(
103    maximum_relative_error_u16_c4_buffer_size,
104    maximum_relative_error_u16_c4,
105    u16,
106    C4,
107    1,
108    nppiMaximumRelativeErrorGetBufferHostSize_16u_C4R_Ctx,
109    nppiMaximumRelativeError_16u_C4R_Ctx
110);
111impl_error_metric!(
112    maximum_relative_error_i16_c1_buffer_size,
113    maximum_relative_error_i16_c1,
114    i16,
115    C1,
116    1,
117    nppiMaximumRelativeErrorGetBufferHostSize_16s_C1R_Ctx,
118    nppiMaximumRelativeError_16s_C1R_Ctx
119);
120impl_error_metric!(
121    maximum_relative_error_i16_c2_buffer_size,
122    maximum_relative_error_i16_c2,
123    i16,
124    C2,
125    1,
126    nppiMaximumRelativeErrorGetBufferHostSize_16s_C2R_Ctx,
127    nppiMaximumRelativeError_16s_C2R_Ctx
128);
129impl_error_metric!(
130    maximum_relative_error_i16_c3_buffer_size,
131    maximum_relative_error_i16_c3,
132    i16,
133    C3,
134    1,
135    nppiMaximumRelativeErrorGetBufferHostSize_16s_C3R_Ctx,
136    nppiMaximumRelativeError_16s_C3R_Ctx
137);
138impl_error_metric!(
139    maximum_relative_error_i16_c4_buffer_size,
140    maximum_relative_error_i16_c4,
141    i16,
142    C4,
143    1,
144    nppiMaximumRelativeErrorGetBufferHostSize_16s_C4R_Ctx,
145    nppiMaximumRelativeError_16s_C4R_Ctx
146);
147impl_error_metric!(
148    maximum_relative_error_u32_c1_buffer_size,
149    maximum_relative_error_u32_c1,
150    u32,
151    C1,
152    1,
153    nppiMaximumRelativeErrorGetBufferHostSize_32u_C1R_Ctx,
154    nppiMaximumRelativeError_32u_C1R_Ctx
155);
156impl_error_metric!(
157    maximum_relative_error_u32_c2_buffer_size,
158    maximum_relative_error_u32_c2,
159    u32,
160    C2,
161    1,
162    nppiMaximumRelativeErrorGetBufferHostSize_32u_C2R_Ctx,
163    nppiMaximumRelativeError_32u_C2R_Ctx
164);
165impl_error_metric!(
166    maximum_relative_error_u32_c3_buffer_size,
167    maximum_relative_error_u32_c3,
168    u32,
169    C3,
170    1,
171    nppiMaximumRelativeErrorGetBufferHostSize_32u_C3R_Ctx,
172    nppiMaximumRelativeError_32u_C3R_Ctx
173);
174impl_error_metric!(
175    maximum_relative_error_u32_c4_buffer_size,
176    maximum_relative_error_u32_c4,
177    u32,
178    C4,
179    1,
180    nppiMaximumRelativeErrorGetBufferHostSize_32u_C4R_Ctx,
181    nppiMaximumRelativeError_32u_C4R_Ctx
182);
183impl_error_metric!(
184    maximum_relative_error_i32_c1_buffer_size,
185    maximum_relative_error_i32_c1,
186    i32,
187    C1,
188    1,
189    nppiMaximumRelativeErrorGetBufferHostSize_32s_C1R_Ctx,
190    nppiMaximumRelativeError_32s_C1R_Ctx
191);
192impl_error_metric!(
193    maximum_relative_error_i32_c2_buffer_size,
194    maximum_relative_error_i32_c2,
195    i32,
196    C2,
197    1,
198    nppiMaximumRelativeErrorGetBufferHostSize_32s_C2R_Ctx,
199    nppiMaximumRelativeError_32s_C2R_Ctx
200);
201impl_error_metric!(
202    maximum_relative_error_i32_c3_buffer_size,
203    maximum_relative_error_i32_c3,
204    i32,
205    C3,
206    1,
207    nppiMaximumRelativeErrorGetBufferHostSize_32s_C3R_Ctx,
208    nppiMaximumRelativeError_32s_C3R_Ctx
209);
210impl_error_metric!(
211    maximum_relative_error_i32_c4_buffer_size,
212    maximum_relative_error_i32_c4,
213    i32,
214    C4,
215    1,
216    nppiMaximumRelativeErrorGetBufferHostSize_32s_C4R_Ctx,
217    nppiMaximumRelativeError_32s_C4R_Ctx
218);
219impl_error_metric!(
220    maximum_relative_error_f32_c1_buffer_size,
221    maximum_relative_error_f32_c1,
222    f32,
223    C1,
224    1,
225    nppiMaximumRelativeErrorGetBufferHostSize_32f_C1R_Ctx,
226    nppiMaximumRelativeError_32f_C1R_Ctx
227);
228impl_error_metric!(
229    maximum_relative_error_f32_c2_buffer_size,
230    maximum_relative_error_f32_c2,
231    f32,
232    C2,
233    1,
234    nppiMaximumRelativeErrorGetBufferHostSize_32f_C2R_Ctx,
235    nppiMaximumRelativeError_32f_C2R_Ctx
236);
237impl_error_metric!(
238    maximum_relative_error_f32_c3_buffer_size,
239    maximum_relative_error_f32_c3,
240    f32,
241    C3,
242    1,
243    nppiMaximumRelativeErrorGetBufferHostSize_32f_C3R_Ctx,
244    nppiMaximumRelativeError_32f_C3R_Ctx
245);
246impl_error_metric!(
247    maximum_relative_error_f32_c4_buffer_size,
248    maximum_relative_error_f32_c4,
249    f32,
250    C4,
251    1,
252    nppiMaximumRelativeErrorGetBufferHostSize_32f_C4R_Ctx,
253    nppiMaximumRelativeError_32f_C4R_Ctx
254);
255impl_error_metric!(
256    maximum_relative_error_f64_c1_buffer_size,
257    maximum_relative_error_f64_c1,
258    f64,
259    C1,
260    1,
261    nppiMaximumRelativeErrorGetBufferHostSize_64f_C1R_Ctx,
262    nppiMaximumRelativeError_64f_C1R_Ctx
263);
264impl_error_metric!(
265    maximum_relative_error_f64_c2_buffer_size,
266    maximum_relative_error_f64_c2,
267    f64,
268    C2,
269    1,
270    nppiMaximumRelativeErrorGetBufferHostSize_64f_C2R_Ctx,
271    nppiMaximumRelativeError_64f_C2R_Ctx
272);
273impl_error_metric!(
274    maximum_relative_error_f64_c3_buffer_size,
275    maximum_relative_error_f64_c3,
276    f64,
277    C3,
278    1,
279    nppiMaximumRelativeErrorGetBufferHostSize_64f_C3R_Ctx,
280    nppiMaximumRelativeError_64f_C3R_Ctx
281);
282impl_error_metric!(
283    maximum_relative_error_f64_c4_buffer_size,
284    maximum_relative_error_f64_c4,
285    f64,
286    C4,
287    1,
288    nppiMaximumRelativeErrorGetBufferHostSize_64f_C4R_Ctx,
289    nppiMaximumRelativeError_64f_C4R_Ctx
290);
291impl_error_metric!(
292    maximum_relative_error_i16_complex_c1_buffer_size,
293    maximum_relative_error_i16_complex_c1,
294    ComplexI16,
295    C1,
296    1,
297    nppiMaximumRelativeErrorGetBufferHostSize_16sc_C1R_Ctx,
298    nppiMaximumRelativeError_16sc_C1R_Ctx
299);
300impl_error_metric!(
301    maximum_relative_error_i16_complex_c2_buffer_size,
302    maximum_relative_error_i16_complex_c2,
303    ComplexI16,
304    C2,
305    1,
306    nppiMaximumRelativeErrorGetBufferHostSize_16sc_C2R_Ctx,
307    nppiMaximumRelativeError_16sc_C2R_Ctx
308);
309impl_error_metric!(
310    maximum_relative_error_i16_complex_c3_buffer_size,
311    maximum_relative_error_i16_complex_c3,
312    ComplexI16,
313    C3,
314    1,
315    nppiMaximumRelativeErrorGetBufferHostSize_16sc_C3R_Ctx,
316    nppiMaximumRelativeError_16sc_C3R_Ctx
317);
318impl_error_metric!(
319    maximum_relative_error_i16_complex_c4_buffer_size,
320    maximum_relative_error_i16_complex_c4,
321    ComplexI16,
322    C4,
323    1,
324    nppiMaximumRelativeErrorGetBufferHostSize_16sc_C4R_Ctx,
325    nppiMaximumRelativeError_16sc_C4R_Ctx
326);
327impl_error_metric!(
328    maximum_relative_error_i32_complex_c1_buffer_size,
329    maximum_relative_error_i32_complex_c1,
330    ComplexI32,
331    C1,
332    1,
333    nppiMaximumRelativeErrorGetBufferHostSize_32sc_C1R_Ctx,
334    nppiMaximumRelativeError_32sc_C1R_Ctx
335);
336impl_error_metric!(
337    maximum_relative_error_i32_complex_c2_buffer_size,
338    maximum_relative_error_i32_complex_c2,
339    ComplexI32,
340    C2,
341    1,
342    nppiMaximumRelativeErrorGetBufferHostSize_32sc_C2R_Ctx,
343    nppiMaximumRelativeError_32sc_C2R_Ctx
344);
345impl_error_metric!(
346    maximum_relative_error_i32_complex_c3_buffer_size,
347    maximum_relative_error_i32_complex_c3,
348    ComplexI32,
349    C3,
350    1,
351    nppiMaximumRelativeErrorGetBufferHostSize_32sc_C3R_Ctx,
352    nppiMaximumRelativeError_32sc_C3R_Ctx
353);
354impl_error_metric!(
355    maximum_relative_error_i32_complex_c4_buffer_size,
356    maximum_relative_error_i32_complex_c4,
357    ComplexI32,
358    C4,
359    1,
360    nppiMaximumRelativeErrorGetBufferHostSize_32sc_C4R_Ctx,
361    nppiMaximumRelativeError_32sc_C4R_Ctx
362);
363impl_error_metric!(
364    maximum_relative_error_f32_complex_c1_buffer_size,
365    maximum_relative_error_f32_complex_c1,
366    Complex32,
367    C1,
368    1,
369    nppiMaximumRelativeErrorGetBufferHostSize_32fc_C1R_Ctx,
370    nppiMaximumRelativeError_32fc_C1R_Ctx
371);
372impl_error_metric!(
373    maximum_relative_error_f32_complex_c2_buffer_size,
374    maximum_relative_error_f32_complex_c2,
375    Complex32,
376    C2,
377    1,
378    nppiMaximumRelativeErrorGetBufferHostSize_32fc_C2R_Ctx,
379    nppiMaximumRelativeError_32fc_C2R_Ctx
380);
381impl_error_metric!(
382    maximum_relative_error_f32_complex_c3_buffer_size,
383    maximum_relative_error_f32_complex_c3,
384    Complex32,
385    C3,
386    1,
387    nppiMaximumRelativeErrorGetBufferHostSize_32fc_C3R_Ctx,
388    nppiMaximumRelativeError_32fc_C3R_Ctx
389);
390impl_error_metric!(
391    maximum_relative_error_f32_complex_c4_buffer_size,
392    maximum_relative_error_f32_complex_c4,
393    Complex32,
394    C4,
395    1,
396    nppiMaximumRelativeErrorGetBufferHostSize_32fc_C4R_Ctx,
397    nppiMaximumRelativeError_32fc_C4R_Ctx
398);
399
400impl_generic_dot_prod!(
401    MaximumRelativeErrorC1,
402    maximum_relative_error_c1,
403    maximum_relative_error_c1_buffer_size,
404    C1,
405    [
406        (
407            u8,
408            maximum_relative_error_u8_c1,
409            maximum_relative_error_u8_c1_buffer_size
410        ),
411        (
412            i8,
413            maximum_relative_error_i8_c1,
414            maximum_relative_error_i8_c1_buffer_size
415        ),
416        (
417            u16,
418            maximum_relative_error_u16_c1,
419            maximum_relative_error_u16_c1_buffer_size
420        ),
421        (
422            i16,
423            maximum_relative_error_i16_c1,
424            maximum_relative_error_i16_c1_buffer_size
425        ),
426        (
427            u32,
428            maximum_relative_error_u32_c1,
429            maximum_relative_error_u32_c1_buffer_size
430        ),
431        (
432            i32,
433            maximum_relative_error_i32_c1,
434            maximum_relative_error_i32_c1_buffer_size
435        ),
436        (
437            f32,
438            maximum_relative_error_f32_c1,
439            maximum_relative_error_f32_c1_buffer_size
440        ),
441        (
442            f64,
443            maximum_relative_error_f64_c1,
444            maximum_relative_error_f64_c1_buffer_size
445        ),
446        (
447            ComplexI16,
448            maximum_relative_error_i16_complex_c1,
449            maximum_relative_error_i16_complex_c1_buffer_size
450        ),
451        (
452            ComplexI32,
453            maximum_relative_error_i32_complex_c1,
454            maximum_relative_error_i32_complex_c1_buffer_size
455        ),
456        (
457            Complex32,
458            maximum_relative_error_f32_complex_c1,
459            maximum_relative_error_f32_complex_c1_buffer_size
460        ),
461    ]
462);
463impl_generic_dot_prod!(
464    MaximumRelativeErrorC2,
465    maximum_relative_error_c2,
466    maximum_relative_error_c2_buffer_size,
467    C2,
468    [
469        (
470            u8,
471            maximum_relative_error_u8_c2,
472            maximum_relative_error_u8_c2_buffer_size
473        ),
474        (
475            i8,
476            maximum_relative_error_i8_c2,
477            maximum_relative_error_i8_c2_buffer_size
478        ),
479        (
480            u16,
481            maximum_relative_error_u16_c2,
482            maximum_relative_error_u16_c2_buffer_size
483        ),
484        (
485            i16,
486            maximum_relative_error_i16_c2,
487            maximum_relative_error_i16_c2_buffer_size
488        ),
489        (
490            u32,
491            maximum_relative_error_u32_c2,
492            maximum_relative_error_u32_c2_buffer_size
493        ),
494        (
495            i32,
496            maximum_relative_error_i32_c2,
497            maximum_relative_error_i32_c2_buffer_size
498        ),
499        (
500            f32,
501            maximum_relative_error_f32_c2,
502            maximum_relative_error_f32_c2_buffer_size
503        ),
504        (
505            f64,
506            maximum_relative_error_f64_c2,
507            maximum_relative_error_f64_c2_buffer_size
508        ),
509        (
510            ComplexI16,
511            maximum_relative_error_i16_complex_c2,
512            maximum_relative_error_i16_complex_c2_buffer_size
513        ),
514        (
515            ComplexI32,
516            maximum_relative_error_i32_complex_c2,
517            maximum_relative_error_i32_complex_c2_buffer_size
518        ),
519        (
520            Complex32,
521            maximum_relative_error_f32_complex_c2,
522            maximum_relative_error_f32_complex_c2_buffer_size
523        ),
524    ]
525);
526impl_generic_dot_prod!(
527    MaximumRelativeErrorC3,
528    maximum_relative_error_c3,
529    maximum_relative_error_c3_buffer_size,
530    C3,
531    [
532        (
533            u8,
534            maximum_relative_error_u8_c3,
535            maximum_relative_error_u8_c3_buffer_size
536        ),
537        (
538            i8,
539            maximum_relative_error_i8_c3,
540            maximum_relative_error_i8_c3_buffer_size
541        ),
542        (
543            u16,
544            maximum_relative_error_u16_c3,
545            maximum_relative_error_u16_c3_buffer_size
546        ),
547        (
548            i16,
549            maximum_relative_error_i16_c3,
550            maximum_relative_error_i16_c3_buffer_size
551        ),
552        (
553            u32,
554            maximum_relative_error_u32_c3,
555            maximum_relative_error_u32_c3_buffer_size
556        ),
557        (
558            i32,
559            maximum_relative_error_i32_c3,
560            maximum_relative_error_i32_c3_buffer_size
561        ),
562        (
563            f32,
564            maximum_relative_error_f32_c3,
565            maximum_relative_error_f32_c3_buffer_size
566        ),
567        (
568            f64,
569            maximum_relative_error_f64_c3,
570            maximum_relative_error_f64_c3_buffer_size
571        ),
572        (
573            ComplexI16,
574            maximum_relative_error_i16_complex_c3,
575            maximum_relative_error_i16_complex_c3_buffer_size
576        ),
577        (
578            ComplexI32,
579            maximum_relative_error_i32_complex_c3,
580            maximum_relative_error_i32_complex_c3_buffer_size
581        ),
582        (
583            Complex32,
584            maximum_relative_error_f32_complex_c3,
585            maximum_relative_error_f32_complex_c3_buffer_size
586        ),
587    ]
588);
589impl_generic_dot_prod!(
590    MaximumRelativeErrorC4,
591    maximum_relative_error_c4,
592    maximum_relative_error_c4_buffer_size,
593    C4,
594    [
595        (
596            u8,
597            maximum_relative_error_u8_c4,
598            maximum_relative_error_u8_c4_buffer_size
599        ),
600        (
601            i8,
602            maximum_relative_error_i8_c4,
603            maximum_relative_error_i8_c4_buffer_size
604        ),
605        (
606            u16,
607            maximum_relative_error_u16_c4,
608            maximum_relative_error_u16_c4_buffer_size
609        ),
610        (
611            i16,
612            maximum_relative_error_i16_c4,
613            maximum_relative_error_i16_c4_buffer_size
614        ),
615        (
616            u32,
617            maximum_relative_error_u32_c4,
618            maximum_relative_error_u32_c4_buffer_size
619        ),
620        (
621            i32,
622            maximum_relative_error_i32_c4,
623            maximum_relative_error_i32_c4_buffer_size
624        ),
625        (
626            f32,
627            maximum_relative_error_f32_c4,
628            maximum_relative_error_f32_c4_buffer_size
629        ),
630        (
631            f64,
632            maximum_relative_error_f64_c4,
633            maximum_relative_error_f64_c4_buffer_size
634        ),
635        (
636            ComplexI16,
637            maximum_relative_error_i16_complex_c4,
638            maximum_relative_error_i16_complex_c4_buffer_size
639        ),
640        (
641            ComplexI32,
642            maximum_relative_error_i32_complex_c4,
643            maximum_relative_error_i32_complex_c4_buffer_size
644        ),
645        (
646            Complex32,
647            maximum_relative_error_f32_complex_c4,
648            maximum_relative_error_f32_complex_c4_buffer_size
649        ),
650    ]
651);