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);