Skip to main content

singe_npp/image/
statistics_scalar_dispatch.rs

1use super::*;
2
3impl_generic_statistic!(
4    MeanC1,
5    mean_c1,
6    mean_c1_buffer_size,
7    C1,
8    [
9        (u8, mean_u8_c1, mean_u8_c1_buffer_size),
10        (u16, mean_u16_c1, mean_u16_c1_buffer_size),
11        (i16, mean_i16_c1, mean_i16_c1_buffer_size),
12        (f32, mean_f32_c1, mean_f32_c1_buffer_size),
13    ]
14);
15impl_generic_statistic!(
16    MeanC3,
17    mean_c3,
18    mean_c3_buffer_size,
19    C3,
20    [
21        (u8, mean_u8_c3, mean_u8_c3_buffer_size),
22        (u16, mean_u16_c3, mean_u16_c3_buffer_size),
23        (i16, mean_i16_c3, mean_i16_c3_buffer_size),
24        (f32, mean_f32_c3, mean_f32_c3_buffer_size),
25    ]
26);
27impl_generic_statistic!(
28    MeanC4,
29    mean_c4,
30    mean_c4_buffer_size,
31    C4,
32    [
33        (u8, mean_u8_c4, mean_u8_c4_buffer_size),
34        (u16, mean_u16_c4, mean_u16_c4_buffer_size),
35        (i16, mean_i16_c4, mean_i16_c4_buffer_size),
36        (f32, mean_f32_c4, mean_f32_c4_buffer_size),
37    ]
38);
39impl_generic_statistic!(
40    MeanAC4,
41    mean_ac4,
42    mean_ac4_buffer_size,
43    AC4,
44    [
45        (u8, mean_u8_ac4, mean_u8_ac4_buffer_size),
46        (u16, mean_u16_ac4, mean_u16_ac4_buffer_size),
47        (i16, mean_i16_ac4, mean_i16_ac4_buffer_size),
48        (f32, mean_f32_ac4, mean_f32_ac4_buffer_size),
49    ]
50);
51
52impl_generic_statistic!(
53    SumC1,
54    sum_c1,
55    sum_c1_buffer_size,
56    C1,
57    [
58        (u8, sum_u8_c1, sum_u8_c1_buffer_size),
59        (u16, sum_u16_c1, sum_u16_c1_buffer_size),
60        (i16, sum_i16_c1, sum_i16_c1_buffer_size),
61        (f32, sum_f32_c1, sum_f32_c1_buffer_size),
62    ]
63);
64impl_generic_statistic!(
65    SumC3,
66    sum_c3,
67    sum_c3_buffer_size,
68    C3,
69    [
70        (u8, sum_u8_c3, sum_u8_c3_buffer_size),
71        (u16, sum_u16_c3, sum_u16_c3_buffer_size),
72        (i16, sum_i16_c3, sum_i16_c3_buffer_size),
73        (f32, sum_f32_c3, sum_f32_c3_buffer_size),
74    ]
75);
76impl_generic_statistic!(
77    SumC4,
78    sum_c4,
79    sum_c4_buffer_size,
80    C4,
81    [
82        (u8, sum_u8_c4, sum_u8_c4_buffer_size),
83        (u16, sum_u16_c4, sum_u16_c4_buffer_size),
84        (i16, sum_i16_c4, sum_i16_c4_buffer_size),
85        (f32, sum_f32_c4, sum_f32_c4_buffer_size),
86    ]
87);
88impl_generic_statistic!(
89    SumAC4,
90    sum_ac4,
91    sum_ac4_buffer_size,
92    AC4,
93    [
94        (u8, sum_u8_ac4, sum_u8_ac4_buffer_size),
95        (u16, sum_u16_ac4, sum_u16_ac4_buffer_size),
96        (i16, sum_i16_ac4, sum_i16_ac4_buffer_size),
97        (f32, sum_f32_ac4, sum_f32_ac4_buffer_size),
98    ]
99);
100
101impl_generic_typed_statistic!(
102    MinC1,
103    min_c1,
104    min_c1_buffer_size,
105    C1,
106    [
107        (u8, u8, min_u8_c1, min_u8_c1_buffer_size),
108        (u16, u16, min_u16_c1, min_u16_c1_buffer_size),
109        (i16, i16, min_i16_c1, min_i16_c1_buffer_size),
110        (f32, f32, min_f32_c1, min_f32_c1_buffer_size),
111    ]
112);
113impl_generic_typed_statistic!(
114    MinC3,
115    min_c3,
116    min_c3_buffer_size,
117    C3,
118    [
119        (u8, u8, min_u8_c3, min_u8_c3_buffer_size),
120        (u16, u16, min_u16_c3, min_u16_c3_buffer_size),
121        (i16, i16, min_i16_c3, min_i16_c3_buffer_size),
122        (f32, f32, min_f32_c3, min_f32_c3_buffer_size),
123    ]
124);
125impl_generic_typed_statistic!(
126    MinC4,
127    min_c4,
128    min_c4_buffer_size,
129    C4,
130    [
131        (u8, u8, min_u8_c4, min_u8_c4_buffer_size),
132        (u16, u16, min_u16_c4, min_u16_c4_buffer_size),
133        (i16, i16, min_i16_c4, min_i16_c4_buffer_size),
134        (f32, f32, min_f32_c4, min_f32_c4_buffer_size),
135    ]
136);
137impl_generic_typed_statistic!(
138    MinAC4,
139    min_ac4,
140    min_ac4_buffer_size,
141    AC4,
142    [
143        (u8, u8, min_u8_ac4, min_u8_ac4_buffer_size),
144        (u16, u16, min_u16_ac4, min_u16_ac4_buffer_size),
145        (i16, i16, min_i16_ac4, min_i16_ac4_buffer_size),
146        (f32, f32, min_f32_ac4, min_f32_ac4_buffer_size),
147    ]
148);
149
150impl_generic_typed_statistic!(
151    MaxC1,
152    max_c1,
153    max_c1_buffer_size,
154    C1,
155    [
156        (u8, u8, max_u8_c1, max_u8_c1_buffer_size),
157        (u16, u16, max_u16_c1, max_u16_c1_buffer_size),
158        (i16, i16, max_i16_c1, max_i16_c1_buffer_size),
159        (f32, f32, max_f32_c1, max_f32_c1_buffer_size),
160    ]
161);
162impl_generic_typed_statistic!(
163    MaxC3,
164    max_c3,
165    max_c3_buffer_size,
166    C3,
167    [
168        (u8, u8, max_u8_c3, max_u8_c3_buffer_size),
169        (u16, u16, max_u16_c3, max_u16_c3_buffer_size),
170        (i16, i16, max_i16_c3, max_i16_c3_buffer_size),
171        (f32, f32, max_f32_c3, max_f32_c3_buffer_size),
172    ]
173);
174impl_generic_typed_statistic!(
175    MaxC4,
176    max_c4,
177    max_c4_buffer_size,
178    C4,
179    [
180        (u8, u8, max_u8_c4, max_u8_c4_buffer_size),
181        (u16, u16, max_u16_c4, max_u16_c4_buffer_size),
182        (i16, i16, max_i16_c4, max_i16_c4_buffer_size),
183        (f32, f32, max_f32_c4, max_f32_c4_buffer_size),
184    ]
185);
186impl_generic_typed_statistic!(
187    MaxAC4,
188    max_ac4,
189    max_ac4_buffer_size,
190    AC4,
191    [
192        (u8, u8, max_u8_ac4, max_u8_ac4_buffer_size),
193        (u16, u16, max_u16_ac4, max_u16_ac4_buffer_size),
194        (i16, i16, max_i16_ac4, max_i16_ac4_buffer_size),
195        (f32, f32, max_f32_ac4, max_f32_ac4_buffer_size),
196    ]
197);
198
199impl_generic_typed_pair_statistic!(
200    MinMaxC1,
201    min_max_c1,
202    min_max_c1_buffer_size,
203    C1,
204    [
205        (u8, u8, min_max_u8_c1, min_max_u8_c1_buffer_size),
206        (u16, u16, min_max_u16_c1, min_max_u16_c1_buffer_size),
207        (i16, i16, min_max_i16_c1, min_max_i16_c1_buffer_size),
208        (f32, f32, min_max_f32_c1, min_max_f32_c1_buffer_size),
209    ]
210);
211impl_generic_typed_pair_statistic!(
212    MinMaxC3,
213    min_max_c3,
214    min_max_c3_buffer_size,
215    C3,
216    [
217        (u8, u8, min_max_u8_c3, min_max_u8_c3_buffer_size),
218        (u16, u16, min_max_u16_c3, min_max_u16_c3_buffer_size),
219        (i16, i16, min_max_i16_c3, min_max_i16_c3_buffer_size),
220        (f32, f32, min_max_f32_c3, min_max_f32_c3_buffer_size),
221    ]
222);
223impl_generic_typed_pair_statistic!(
224    MinMaxC4,
225    min_max_c4,
226    min_max_c4_buffer_size,
227    C4,
228    [
229        (u8, u8, min_max_u8_c4, min_max_u8_c4_buffer_size),
230        (u16, u16, min_max_u16_c4, min_max_u16_c4_buffer_size),
231        (i16, i16, min_max_i16_c4, min_max_i16_c4_buffer_size),
232        (f32, f32, min_max_f32_c4, min_max_f32_c4_buffer_size),
233    ]
234);
235impl_generic_typed_pair_statistic!(
236    MinMaxAC4,
237    min_max_ac4,
238    min_max_ac4_buffer_size,
239    AC4,
240    [
241        (u8, u8, min_max_u8_ac4, min_max_u8_ac4_buffer_size),
242        (u16, u16, min_max_u16_ac4, min_max_u16_ac4_buffer_size),
243        (i16, i16, min_max_i16_ac4, min_max_i16_ac4_buffer_size),
244        (f32, f32, min_max_f32_ac4, min_max_f32_ac4_buffer_size),
245    ]
246);