Skip to main content

singe_npp/image/
arithmetic_constant_dispatch_host_logical.rs

1use super::*;
2
3impl_generic_constant_scalar_operation!(AndConstantC1, and_constant, and_constant_c1, C1, [
4    u8, u8 => and_constant_u8_c1,
5    u16, u16 => and_constant_u16_c1,
6    i32, i32 => and_constant_i32_c1,
7]);
8impl_generic_constant_scalar_operation_in_place!(
9    AndConstantC1InPlace,
10    and_constant_in_place,
11    and_constant_c1_in_place,
12    C1,
13    [
14        u8, u8 => and_constant_u8_c1_in_place,
15        u16, u16 => and_constant_u16_c1_in_place,
16        i32, i32 => and_constant_i32_c1_in_place,
17    ]
18);
19impl_generic_constant_array_operation!(AndConstantC3, and_constant, and_constant_c3, C3, 3, [
20    u8, u8 => and_constant_u8_c3,
21    u16, u16 => and_constant_u16_c3,
22    i32, i32 => and_constant_i32_c3,
23]);
24impl_generic_constant_array_operation_in_place!(
25    AndConstantC3InPlace,
26    and_constant_in_place,
27    and_constant_c3_in_place,
28    C3,
29    3,
30    [
31        u8, u8 => and_constant_u8_c3_in_place,
32        u16, u16 => and_constant_u16_c3_in_place,
33        i32, i32 => and_constant_i32_c3_in_place,
34    ]
35);
36impl_generic_constant_array_operation!(AndConstantC4, and_constant, and_constant_c4, C4, 4, [
37    u8, u8 => and_constant_u8_c4,
38    u16, u16 => and_constant_u16_c4,
39    i32, i32 => and_constant_i32_c4,
40]);
41impl_generic_constant_array_operation_in_place!(
42    AndConstantC4InPlace,
43    and_constant_in_place,
44    and_constant_c4_in_place,
45    C4,
46    4,
47    [
48        u8, u8 => and_constant_u8_c4_in_place,
49        u16, u16 => and_constant_u16_c4_in_place,
50        i32, i32 => and_constant_i32_c4_in_place,
51    ]
52);
53impl_generic_constant_array_operation!(AndConstantAc4, and_constant, and_constant_ac4, AC4, 3, [
54    u8, u8 => and_constant_u8_ac4,
55    u16, u16 => and_constant_u16_ac4,
56    i32, i32 => and_constant_i32_ac4,
57]);
58impl_generic_constant_array_operation_in_place!(
59    AndConstantAc4InPlace,
60    and_constant_in_place,
61    and_constant_ac4_in_place,
62    AC4,
63    3,
64    [
65        u8, u8 => and_constant_u8_ac4_in_place,
66        u16, u16 => and_constant_u16_ac4_in_place,
67        i32, i32 => and_constant_i32_ac4_in_place,
68    ]
69);
70
71impl_generic_constant_scalar_operation!(OrConstantC1, or_constant, or_constant_c1, C1, [
72    u8, u8 => or_constant_u8_c1,
73    u16, u16 => or_constant_u16_c1,
74    i32, i32 => or_constant_i32_c1,
75]);
76impl_generic_constant_scalar_operation_in_place!(
77    OrConstantC1InPlace,
78    or_constant_in_place,
79    or_constant_c1_in_place,
80    C1,
81    [
82        u8, u8 => or_constant_u8_c1_in_place,
83        u16, u16 => or_constant_u16_c1_in_place,
84        i32, i32 => or_constant_i32_c1_in_place,
85    ]
86);
87impl_generic_constant_array_operation!(OrConstantC3, or_constant, or_constant_c3, C3, 3, [
88    u8, u8 => or_constant_u8_c3,
89    u16, u16 => or_constant_u16_c3,
90    i32, i32 => or_constant_i32_c3,
91]);
92impl_generic_constant_array_operation_in_place!(
93    OrConstantC3InPlace,
94    or_constant_in_place,
95    or_constant_c3_in_place,
96    C3,
97    3,
98    [
99        u8, u8 => or_constant_u8_c3_in_place,
100        u16, u16 => or_constant_u16_c3_in_place,
101        i32, i32 => or_constant_i32_c3_in_place,
102    ]
103);
104impl_generic_constant_array_operation!(OrConstantC4, or_constant, or_constant_c4, C4, 4, [
105    u8, u8 => or_constant_u8_c4,
106    u16, u16 => or_constant_u16_c4,
107    i32, i32 => or_constant_i32_c4,
108]);
109impl_generic_constant_array_operation_in_place!(
110    OrConstantC4InPlace,
111    or_constant_in_place,
112    or_constant_c4_in_place,
113    C4,
114    4,
115    [
116        u8, u8 => or_constant_u8_c4_in_place,
117        u16, u16 => or_constant_u16_c4_in_place,
118        i32, i32 => or_constant_i32_c4_in_place,
119    ]
120);
121impl_generic_constant_array_operation!(OrConstantAc4, or_constant, or_constant_ac4, AC4, 3, [
122    u8, u8 => or_constant_u8_ac4,
123    u16, u16 => or_constant_u16_ac4,
124    i32, i32 => or_constant_i32_ac4,
125]);
126impl_generic_constant_array_operation_in_place!(
127    OrConstantAc4InPlace,
128    or_constant_in_place,
129    or_constant_ac4_in_place,
130    AC4,
131    3,
132    [
133        u8, u8 => or_constant_u8_ac4_in_place,
134        u16, u16 => or_constant_u16_ac4_in_place,
135        i32, i32 => or_constant_i32_ac4_in_place,
136    ]
137);
138
139impl_generic_constant_scalar_operation!(XorConstantC1, xor_constant, xor_constant_c1, C1, [
140    u8, u8 => xor_constant_u8_c1,
141    u16, u16 => xor_constant_u16_c1,
142    i32, i32 => xor_constant_i32_c1,
143]);
144impl_generic_constant_scalar_operation_in_place!(
145    XorConstantC1InPlace,
146    xor_constant_in_place,
147    xor_constant_c1_in_place,
148    C1,
149    [
150        u8, u8 => xor_constant_u8_c1_in_place,
151        u16, u16 => xor_constant_u16_c1_in_place,
152        i32, i32 => xor_constant_i32_c1_in_place,
153    ]
154);
155impl_generic_constant_array_operation!(XorConstantC3, xor_constant, xor_constant_c3, C3, 3, [
156    u8, u8 => xor_constant_u8_c3,
157    u16, u16 => xor_constant_u16_c3,
158    i32, i32 => xor_constant_i32_c3,
159]);
160impl_generic_constant_array_operation_in_place!(
161    XorConstantC3InPlace,
162    xor_constant_in_place,
163    xor_constant_c3_in_place,
164    C3,
165    3,
166    [
167        u8, u8 => xor_constant_u8_c3_in_place,
168        u16, u16 => xor_constant_u16_c3_in_place,
169        i32, i32 => xor_constant_i32_c3_in_place,
170    ]
171);
172impl_generic_constant_array_operation!(XorConstantC4, xor_constant, xor_constant_c4, C4, 4, [
173    u8, u8 => xor_constant_u8_c4,
174    u16, u16 => xor_constant_u16_c4,
175    i32, i32 => xor_constant_i32_c4,
176]);
177impl_generic_constant_array_operation_in_place!(
178    XorConstantC4InPlace,
179    xor_constant_in_place,
180    xor_constant_c4_in_place,
181    C4,
182    4,
183    [
184        u8, u8 => xor_constant_u8_c4_in_place,
185        u16, u16 => xor_constant_u16_c4_in_place,
186        i32, i32 => xor_constant_i32_c4_in_place,
187    ]
188);
189impl_generic_constant_array_operation!(XorConstantAc4, xor_constant, xor_constant_ac4, AC4, 3, [
190    u8, u8 => xor_constant_u8_ac4,
191    u16, u16 => xor_constant_u16_ac4,
192    i32, i32 => xor_constant_i32_ac4,
193]);
194impl_generic_constant_array_operation_in_place!(
195    XorConstantAc4InPlace,
196    xor_constant_in_place,
197    xor_constant_ac4_in_place,
198    AC4,
199    3,
200    [
201        u8, u8 => xor_constant_u8_ac4_in_place,
202        u16, u16 => xor_constant_u16_ac4_in_place,
203        i32, i32 => xor_constant_i32_ac4_in_place,
204    ]
205);
206
207impl_generic_constant_scalar_operation!(
208    RightShiftConstantC1,
209    right_shift_constant,
210    right_shift_constant_c1,
211    C1,
212    [
213        u8, u32 => right_shift_constant_u8_c1,
214        i8, u32 => right_shift_constant_i8_c1,
215        u16, u32 => right_shift_constant_u16_c1,
216        i16, u32 => right_shift_constant_i16_c1,
217        i32, u32 => right_shift_constant_i32_c1,
218    ]
219);
220impl_generic_constant_scalar_operation_in_place!(
221    RightShiftConstantC1InPlace,
222    right_shift_constant_in_place,
223    right_shift_constant_c1_in_place,
224    C1,
225    [
226        u8, u32 => right_shift_constant_u8_c1_in_place,
227        i8, u32 => right_shift_constant_i8_c1_in_place,
228        u16, u32 => right_shift_constant_u16_c1_in_place,
229        i16, u32 => right_shift_constant_i16_c1_in_place,
230        i32, u32 => right_shift_constant_i32_c1_in_place,
231    ]
232);
233impl_generic_constant_array_operation!(
234    RightShiftConstantC3,
235    right_shift_constant,
236    right_shift_constant_c3,
237    C3,
238    3,
239    [
240        u8, u32 => right_shift_constant_u8_c3,
241        i8, u32 => right_shift_constant_i8_c3,
242        u16, u32 => right_shift_constant_u16_c3,
243        i16, u32 => right_shift_constant_i16_c3,
244        i32, u32 => right_shift_constant_i32_c3,
245    ]
246);
247impl_generic_constant_array_operation_in_place!(
248    RightShiftConstantC3InPlace,
249    right_shift_constant_in_place,
250    right_shift_constant_c3_in_place,
251    C3,
252    3,
253    [
254        u8, u32 => right_shift_constant_u8_c3_in_place,
255        i8, u32 => right_shift_constant_i8_c3_in_place,
256        u16, u32 => right_shift_constant_u16_c3_in_place,
257        i16, u32 => right_shift_constant_i16_c3_in_place,
258        i32, u32 => right_shift_constant_i32_c3_in_place,
259    ]
260);
261impl_generic_constant_array_operation!(
262    RightShiftConstantC4,
263    right_shift_constant,
264    right_shift_constant_c4,
265    C4,
266    4,
267    [
268        u8, u32 => right_shift_constant_u8_c4,
269        i8, u32 => right_shift_constant_i8_c4,
270        u16, u32 => right_shift_constant_u16_c4,
271        i16, u32 => right_shift_constant_i16_c4,
272        i32, u32 => right_shift_constant_i32_c4,
273    ]
274);
275impl_generic_constant_array_operation_in_place!(
276    RightShiftConstantC4InPlace,
277    right_shift_constant_in_place,
278    right_shift_constant_c4_in_place,
279    C4,
280    4,
281    [
282        u8, u32 => right_shift_constant_u8_c4_in_place,
283        i8, u32 => right_shift_constant_i8_c4_in_place,
284        u16, u32 => right_shift_constant_u16_c4_in_place,
285        i16, u32 => right_shift_constant_i16_c4_in_place,
286        i32, u32 => right_shift_constant_i32_c4_in_place,
287    ]
288);
289impl_generic_constant_array_operation!(
290    RightShiftConstantAc4,
291    right_shift_constant,
292    right_shift_constant_ac4,
293    AC4,
294    3,
295    [
296        u8, u32 => right_shift_constant_u8_ac4,
297        i8, u32 => right_shift_constant_i8_ac4,
298        u16, u32 => right_shift_constant_u16_ac4,
299        i16, u32 => right_shift_constant_i16_ac4,
300        i32, u32 => right_shift_constant_i32_ac4,
301    ]
302);
303impl_generic_constant_array_operation_in_place!(
304    RightShiftConstantAc4InPlace,
305    right_shift_constant_in_place,
306    right_shift_constant_ac4_in_place,
307    AC4,
308    3,
309    [
310        u8, u32 => right_shift_constant_u8_ac4_in_place,
311        i8, u32 => right_shift_constant_i8_ac4_in_place,
312        u16, u32 => right_shift_constant_u16_ac4_in_place,
313        i16, u32 => right_shift_constant_i16_ac4_in_place,
314        i32, u32 => right_shift_constant_i32_ac4_in_place,
315    ]
316);
317
318impl_generic_constant_scalar_operation!(
319    LeftShiftConstantC1,
320    left_shift_constant,
321    left_shift_constant_c1,
322    C1,
323    [
324        u8, u32 => left_shift_constant_u8_c1,
325        u16, u32 => left_shift_constant_u16_c1,
326        i32, u32 => left_shift_constant_i32_c1,
327    ]
328);
329impl_generic_constant_scalar_operation_in_place!(
330    LeftShiftConstantC1InPlace,
331    left_shift_constant_in_place,
332    left_shift_constant_c1_in_place,
333    C1,
334    [
335        u8, u32 => left_shift_constant_u8_c1_in_place,
336        u16, u32 => left_shift_constant_u16_c1_in_place,
337        i32, u32 => left_shift_constant_i32_c1_in_place,
338    ]
339);
340impl_generic_constant_array_operation!(
341    LeftShiftConstantC3,
342    left_shift_constant,
343    left_shift_constant_c3,
344    C3,
345    3,
346    [
347        u8, u32 => left_shift_constant_u8_c3,
348        u16, u32 => left_shift_constant_u16_c3,
349        i32, u32 => left_shift_constant_i32_c3,
350    ]
351);
352impl_generic_constant_array_operation_in_place!(
353    LeftShiftConstantC3InPlace,
354    left_shift_constant_in_place,
355    left_shift_constant_c3_in_place,
356    C3,
357    3,
358    [
359        u8, u32 => left_shift_constant_u8_c3_in_place,
360        u16, u32 => left_shift_constant_u16_c3_in_place,
361        i32, u32 => left_shift_constant_i32_c3_in_place,
362    ]
363);
364impl_generic_constant_array_operation!(
365    LeftShiftConstantC4,
366    left_shift_constant,
367    left_shift_constant_c4,
368    C4,
369    4,
370    [
371        u8, u32 => left_shift_constant_u8_c4,
372        u16, u32 => left_shift_constant_u16_c4,
373        i32, u32 => left_shift_constant_i32_c4,
374    ]
375);
376impl_generic_constant_array_operation_in_place!(
377    LeftShiftConstantC4InPlace,
378    left_shift_constant_in_place,
379    left_shift_constant_c4_in_place,
380    C4,
381    4,
382    [
383        u8, u32 => left_shift_constant_u8_c4_in_place,
384        u16, u32 => left_shift_constant_u16_c4_in_place,
385        i32, u32 => left_shift_constant_i32_c4_in_place,
386    ]
387);
388impl_generic_constant_array_operation!(
389    LeftShiftConstantAc4,
390    left_shift_constant,
391    left_shift_constant_ac4,
392    AC4,
393    3,
394    [
395        u8, u32 => left_shift_constant_u8_ac4,
396        u16, u32 => left_shift_constant_u16_ac4,
397        i32, u32 => left_shift_constant_i32_ac4,
398    ]
399);
400impl_generic_constant_array_operation_in_place!(
401    LeftShiftConstantAc4InPlace,
402    left_shift_constant_in_place,
403    left_shift_constant_ac4_in_place,
404    AC4,
405    3,
406    [
407        u8, u32 => left_shift_constant_u8_ac4_in_place,
408        u16, u32 => left_shift_constant_u16_ac4_in_place,
409        i32, u32 => left_shift_constant_i32_ac4_in_place,
410    ]
411);