1use super::*;
2
3impl_generic_constant_scalar_operation!(AddConstantC1, add_constant, add_constant_c1, C1, [
4 f16, f32 => add_constant_f16_c1,
5 f32, f32 => add_constant_f32_c1,
6 Complex32, Complex32 => add_constant_f32_complex_c1,
7]);
8impl_generic_constant_scalar_operation_in_place!(
9 AddConstantC1InPlace,
10 add_constant_in_place,
11 add_constant_c1_in_place,
12 C1,
13 [
14 f16, f32 => add_constant_f16_c1_in_place,
15 f32, f32 => add_constant_f32_c1_in_place,
16 Complex32, Complex32 => add_constant_f32_complex_c1_in_place,
17 ]
18);
19impl_generic_scaled_constant_scalar_operation!(
20 ScaledAddConstantC1,
21 add_constant_scaled,
22 add_constant_scaled_c1,
23 C1,
24 [
25 u8 => add_constant_u8_c1,
26 u16 => add_constant_u16_c1,
27 i16 => add_constant_i16_c1,
28 ComplexI16 => add_constant_i16_complex_c1,
29 i32 => add_constant_i32_c1,
30 ComplexI32 => add_constant_i32_complex_c1,
31 ]
32);
33impl_generic_scaled_constant_scalar_operation_in_place!(
34 ScaledAddConstantC1InPlace,
35 add_constant_scaled_in_place,
36 add_constant_scaled_c1_in_place,
37 C1,
38 [
39 u8 => add_constant_u8_c1_in_place,
40 u16 => add_constant_u16_c1_in_place,
41 i16 => add_constant_i16_c1_in_place,
42 ComplexI16 => add_constant_i16_complex_c1_in_place,
43 i32 => add_constant_i32_c1_in_place,
44 ComplexI32 => add_constant_i32_complex_c1_in_place,
45 ]
46);
47
48impl_generic_constant_array_operation!(AddConstantC3, add_constant, add_constant_c3, C3, 3, [
49 f16, f32 => add_constant_f16_c3,
50 f32, f32 => add_constant_f32_c3,
51 Complex32, Complex32 => add_constant_f32_complex_c3,
52]);
53impl_generic_constant_array_operation_in_place!(
54 AddConstantC3InPlace,
55 add_constant_in_place,
56 add_constant_c3_in_place,
57 C3,
58 3,
59 [
60 f16, f32 => add_constant_f16_c3_in_place,
61 f32, f32 => add_constant_f32_c3_in_place,
62 Complex32, Complex32 => add_constant_f32_complex_c3_in_place,
63 ]
64);
65impl_generic_scaled_constant_array_operation!(
66 ScaledAddConstantC3,
67 add_constant_scaled,
68 add_constant_scaled_c3,
69 C3,
70 3,
71 [
72 u8 => add_constant_u8_c3,
73 u16 => add_constant_u16_c3,
74 i16 => add_constant_i16_c3,
75 ComplexI16 => add_constant_i16_complex_c3,
76 i32 => add_constant_i32_c3,
77 ComplexI32 => add_constant_i32_complex_c3,
78 ]
79);
80impl_generic_scaled_constant_array_operation_in_place!(
81 ScaledAddConstantC3InPlace,
82 add_constant_scaled_in_place,
83 add_constant_scaled_c3_in_place,
84 C3,
85 3,
86 [
87 u8 => add_constant_u8_c3_in_place,
88 u16 => add_constant_u16_c3_in_place,
89 i16 => add_constant_i16_c3_in_place,
90 ComplexI16 => add_constant_i16_complex_c3_in_place,
91 i32 => add_constant_i32_c3_in_place,
92 ComplexI32 => add_constant_i32_complex_c3_in_place,
93 ]
94);
95
96impl_generic_constant_array_operation!(AddConstantC4, add_constant, add_constant_c4, C4, 4, [
97 f16, f32 => add_constant_f16_c4,
98 f32, f32 => add_constant_f32_c4,
99 Complex32, Complex32 => add_constant_f32_complex_c4,
100]);
101impl_generic_constant_array_operation_in_place!(
102 AddConstantC4InPlace,
103 add_constant_in_place,
104 add_constant_c4_in_place,
105 C4,
106 4,
107 [
108 f16, f32 => add_constant_f16_c4_in_place,
109 f32, f32 => add_constant_f32_c4_in_place,
110 Complex32, Complex32 => add_constant_f32_complex_c4_in_place,
111 ]
112);
113impl_generic_scaled_constant_array_operation!(
114 ScaledAddConstantC4,
115 add_constant_scaled,
116 add_constant_scaled_c4,
117 C4,
118 4,
119 [
120 u8 => add_constant_u8_c4,
121 u16 => add_constant_u16_c4,
122 i16 => add_constant_i16_c4,
123 ]
124);
125impl_generic_scaled_constant_array_operation_in_place!(
126 ScaledAddConstantC4InPlace,
127 add_constant_scaled_in_place,
128 add_constant_scaled_c4_in_place,
129 C4,
130 4,
131 [
132 u8 => add_constant_u8_c4_in_place,
133 u16 => add_constant_u16_c4_in_place,
134 i16 => add_constant_i16_c4_in_place,
135 ]
136);
137
138impl_generic_constant_array_operation!(AddConstantAc4, add_constant, add_constant_ac4, AC4, 3, [
139 f32, f32 => add_constant_f32_ac4,
140 Complex32, Complex32 => add_constant_f32_complex_ac4,
141]);
142impl_generic_constant_array_operation_in_place!(
143 AddConstantAc4InPlace,
144 add_constant_in_place,
145 add_constant_ac4_in_place,
146 AC4,
147 3,
148 [
149 f32, f32 => add_constant_f32_ac4_in_place,
150 Complex32, Complex32 => add_constant_f32_complex_ac4_in_place,
151 ]
152);
153impl_generic_scaled_constant_array_operation!(
154 ScaledAddConstantAc4,
155 add_constant_scaled,
156 add_constant_scaled_ac4,
157 AC4,
158 3,
159 [
160 u8 => add_constant_u8_ac4,
161 u16 => add_constant_u16_ac4,
162 i16 => add_constant_i16_ac4,
163 ComplexI16 => add_constant_i16_complex_ac4,
164 ComplexI32 => add_constant_i32_complex_ac4,
165 ]
166);
167impl_generic_scaled_constant_array_operation_in_place!(
168 ScaledAddConstantAc4InPlace,
169 add_constant_scaled_in_place,
170 add_constant_scaled_ac4_in_place,
171 AC4,
172 3,
173 [
174 u8 => add_constant_u8_ac4_in_place,
175 u16 => add_constant_u16_ac4_in_place,
176 i16 => add_constant_i16_ac4_in_place,
177 ComplexI16 => add_constant_i16_complex_ac4_in_place,
178 ComplexI32 => add_constant_i32_complex_ac4_in_place,
179 ]
180);
181
182impl_generic_constant_scalar_operation!(
183 MultiplyConstantC1,
184 multiply_constant,
185 multiply_constant_c1,
186 C1,
187 [
188 f16, f32 => multiply_constant_f16_c1,
189 f32, f32 => multiply_constant_f32_c1,
190 Complex32, Complex32 => multiply_constant_f32_complex_c1,
191 ]
192);
193impl_generic_constant_scalar_operation_in_place!(
194 MultiplyConstantC1InPlace,
195 multiply_constant_in_place,
196 multiply_constant_c1_in_place,
197 C1,
198 [
199 f16, f32 => multiply_constant_f16_c1_in_place,
200 f32, f32 => multiply_constant_f32_c1_in_place,
201 Complex32, Complex32 => multiply_constant_f32_complex_c1_in_place,
202 ]
203);
204impl_generic_scaled_constant_scalar_operation!(
205 ScaledMultiplyConstantC1,
206 multiply_constant_scaled,
207 multiply_constant_scaled_c1,
208 C1,
209 [
210 u8 => multiply_constant_u8_c1,
211 u16 => multiply_constant_u16_c1,
212 i16 => multiply_constant_i16_c1,
213 ComplexI16 => multiply_constant_i16_complex_c1,
214 i32 => multiply_constant_i32_c1,
215 ComplexI32 => multiply_constant_i32_complex_c1,
216 ]
217);
218impl_generic_scaled_constant_scalar_operation_in_place!(
219 ScaledMultiplyConstantC1InPlace,
220 multiply_constant_scaled_in_place,
221 multiply_constant_scaled_c1_in_place,
222 C1,
223 [
224 u8 => multiply_constant_u8_c1_in_place,
225 u16 => multiply_constant_u16_c1_in_place,
226 i16 => multiply_constant_i16_c1_in_place,
227 ComplexI16 => multiply_constant_i16_complex_c1_in_place,
228 i32 => multiply_constant_i32_c1_in_place,
229 ComplexI32 => multiply_constant_i32_complex_c1_in_place,
230 ]
231);
232
233impl_generic_constant_array_operation!(
234 MultiplyConstantC3,
235 multiply_constant,
236 multiply_constant_c3,
237 C3,
238 3,
239 [
240 f16, f32 => multiply_constant_f16_c3,
241 f32, f32 => multiply_constant_f32_c3,
242 Complex32, Complex32 => multiply_constant_f32_complex_c3,
243 ]
244);
245impl_generic_constant_array_operation_in_place!(
246 MultiplyConstantC3InPlace,
247 multiply_constant_in_place,
248 multiply_constant_c3_in_place,
249 C3,
250 3,
251 [
252 f16, f32 => multiply_constant_f16_c3_in_place,
253 f32, f32 => multiply_constant_f32_c3_in_place,
254 Complex32, Complex32 => multiply_constant_f32_complex_c3_in_place,
255 ]
256);
257impl_generic_scaled_constant_array_operation!(
258 ScaledMultiplyConstantC3,
259 multiply_constant_scaled,
260 multiply_constant_scaled_c3,
261 C3,
262 3,
263 [
264 u8 => multiply_constant_u8_c3,
265 u16 => multiply_constant_u16_c3,
266 i16 => multiply_constant_i16_c3,
267 ComplexI16 => multiply_constant_i16_complex_c3,
268 i32 => multiply_constant_i32_c3,
269 ComplexI32 => multiply_constant_i32_complex_c3,
270 ]
271);
272impl_generic_scaled_constant_array_operation_in_place!(
273 ScaledMultiplyConstantC3InPlace,
274 multiply_constant_scaled_in_place,
275 multiply_constant_scaled_c3_in_place,
276 C3,
277 3,
278 [
279 u8 => multiply_constant_u8_c3_in_place,
280 u16 => multiply_constant_u16_c3_in_place,
281 i16 => multiply_constant_i16_c3_in_place,
282 ComplexI16 => multiply_constant_i16_complex_c3_in_place,
283 i32 => multiply_constant_i32_c3_in_place,
284 ComplexI32 => multiply_constant_i32_complex_c3_in_place,
285 ]
286);
287
288impl_generic_constant_array_operation!(
289 MultiplyConstantC4,
290 multiply_constant,
291 multiply_constant_c4,
292 C4,
293 4,
294 [
295 f16, f32 => multiply_constant_f16_c4,
296 f32, f32 => multiply_constant_f32_c4,
297 Complex32, Complex32 => multiply_constant_f32_complex_c4,
298 ]
299);
300impl_generic_constant_array_operation_in_place!(
301 MultiplyConstantC4InPlace,
302 multiply_constant_in_place,
303 multiply_constant_c4_in_place,
304 C4,
305 4,
306 [
307 f16, f32 => multiply_constant_f16_c4_in_place,
308 f32, f32 => multiply_constant_f32_c4_in_place,
309 Complex32, Complex32 => multiply_constant_f32_complex_c4_in_place,
310 ]
311);
312impl_generic_scaled_constant_array_operation!(
313 ScaledMultiplyConstantC4,
314 multiply_constant_scaled,
315 multiply_constant_scaled_c4,
316 C4,
317 4,
318 [
319 u8 => multiply_constant_u8_c4,
320 u16 => multiply_constant_u16_c4,
321 i16 => multiply_constant_i16_c4,
322 ]
323);
324impl_generic_scaled_constant_array_operation_in_place!(
325 ScaledMultiplyConstantC4InPlace,
326 multiply_constant_scaled_in_place,
327 multiply_constant_scaled_c4_in_place,
328 C4,
329 4,
330 [
331 u8 => multiply_constant_u8_c4_in_place,
332 u16 => multiply_constant_u16_c4_in_place,
333 i16 => multiply_constant_i16_c4_in_place,
334 ]
335);
336
337impl_generic_constant_array_operation!(
338 MultiplyConstantAc4,
339 multiply_constant,
340 multiply_constant_ac4,
341 AC4,
342 3,
343 [
344 f32, f32 => multiply_constant_f32_ac4,
345 Complex32, Complex32 => multiply_constant_f32_complex_ac4,
346 ]
347);
348impl_generic_constant_array_operation_in_place!(
349 MultiplyConstantAc4InPlace,
350 multiply_constant_in_place,
351 multiply_constant_ac4_in_place,
352 AC4,
353 3,
354 [
355 f32, f32 => multiply_constant_f32_ac4_in_place,
356 Complex32, Complex32 => multiply_constant_f32_complex_ac4_in_place,
357 ]
358);
359impl_generic_scaled_constant_array_operation!(
360 ScaledMultiplyConstantAc4,
361 multiply_constant_scaled,
362 multiply_constant_scaled_ac4,
363 AC4,
364 3,
365 [
366 u8 => multiply_constant_u8_ac4,
367 u16 => multiply_constant_u16_ac4,
368 i16 => multiply_constant_i16_ac4,
369 ComplexI16 => multiply_constant_i16_complex_ac4,
370 ComplexI32 => multiply_constant_i32_complex_ac4,
371 ]
372);
373impl_generic_scaled_constant_array_operation_in_place!(
374 ScaledMultiplyConstantAc4InPlace,
375 multiply_constant_scaled_in_place,
376 multiply_constant_scaled_ac4_in_place,
377 AC4,
378 3,
379 [
380 u8 => multiply_constant_u8_ac4_in_place,
381 u16 => multiply_constant_u16_ac4_in_place,
382 i16 => multiply_constant_i16_ac4_in_place,
383 ComplexI16 => multiply_constant_i16_complex_ac4_in_place,
384 ComplexI32 => multiply_constant_i32_complex_ac4_in_place,
385 ]
386);
387
388impl_generic_constant_scalar_operation!(
389 SubtractConstantC1,
390 subtract_constant,
391 subtract_constant_c1,
392 C1,
393 [
394 f16, f32 => subtract_constant_f16_c1,
395 f32, f32 => subtract_constant_f32_c1,
396 Complex32, Complex32 => subtract_constant_f32_complex_c1,
397 ]
398);
399impl_generic_constant_scalar_operation_in_place!(
400 SubtractConstantC1InPlace,
401 subtract_constant_in_place,
402 subtract_constant_c1_in_place,
403 C1,
404 [
405 f16, f32 => subtract_constant_f16_c1_in_place,
406 f32, f32 => subtract_constant_f32_c1_in_place,
407 Complex32, Complex32 => subtract_constant_f32_complex_c1_in_place,
408 ]
409);
410impl_generic_scaled_constant_scalar_operation!(
411 ScaledSubtractConstantC1,
412 subtract_constant_scaled,
413 subtract_constant_scaled_c1,
414 C1,
415 [
416 u8 => subtract_constant_u8_c1,
417 u16 => subtract_constant_u16_c1,
418 i16 => subtract_constant_i16_c1,
419 ComplexI16 => subtract_constant_i16_complex_c1,
420 i32 => subtract_constant_i32_c1,
421 ComplexI32 => subtract_constant_i32_complex_c1,
422 ]
423);
424impl_generic_scaled_constant_scalar_operation_in_place!(
425 ScaledSubtractConstantC1InPlace,
426 subtract_constant_scaled_in_place,
427 subtract_constant_scaled_c1_in_place,
428 C1,
429 [
430 u8 => subtract_constant_u8_c1_in_place,
431 u16 => subtract_constant_u16_c1_in_place,
432 i16 => subtract_constant_i16_c1_in_place,
433 ComplexI16 => subtract_constant_i16_complex_c1_in_place,
434 i32 => subtract_constant_i32_c1_in_place,
435 ComplexI32 => subtract_constant_i32_complex_c1_in_place,
436 ]
437);
438impl_generic_constant_array_operation!(
439 SubtractConstantC3,
440 subtract_constant,
441 subtract_constant_c3,
442 C3,
443 3,
444 [
445 f16, f32 => subtract_constant_f16_c3,
446 f32, f32 => subtract_constant_f32_c3,
447 Complex32, Complex32 => subtract_constant_f32_complex_c3,
448 ]
449);
450impl_generic_constant_array_operation_in_place!(
451 SubtractConstantC3InPlace,
452 subtract_constant_in_place,
453 subtract_constant_c3_in_place,
454 C3,
455 3,
456 [
457 f16, f32 => subtract_constant_f16_c3_in_place,
458 f32, f32 => subtract_constant_f32_c3_in_place,
459 Complex32, Complex32 => subtract_constant_f32_complex_c3_in_place,
460 ]
461);
462impl_generic_scaled_constant_array_operation!(
463 ScaledSubtractConstantC3,
464 subtract_constant_scaled,
465 subtract_constant_scaled_c3,
466 C3,
467 3,
468 [
469 u8 => subtract_constant_u8_c3,
470 u16 => subtract_constant_u16_c3,
471 i16 => subtract_constant_i16_c3,
472 ComplexI16 => subtract_constant_i16_complex_c3,
473 i32 => subtract_constant_i32_c3,
474 ComplexI32 => subtract_constant_i32_complex_c3,
475 ]
476);
477impl_generic_scaled_constant_array_operation_in_place!(
478 ScaledSubtractConstantC3InPlace,
479 subtract_constant_scaled_in_place,
480 subtract_constant_scaled_c3_in_place,
481 C3,
482 3,
483 [
484 u8 => subtract_constant_u8_c3_in_place,
485 u16 => subtract_constant_u16_c3_in_place,
486 i16 => subtract_constant_i16_c3_in_place,
487 ComplexI16 => subtract_constant_i16_complex_c3_in_place,
488 i32 => subtract_constant_i32_c3_in_place,
489 ComplexI32 => subtract_constant_i32_complex_c3_in_place,
490 ]
491);
492impl_generic_constant_array_operation!(
493 SubtractConstantC4,
494 subtract_constant,
495 subtract_constant_c4,
496 C4,
497 4,
498 [
499 f16, f32 => subtract_constant_f16_c4,
500 f32, f32 => subtract_constant_f32_c4,
501 Complex32, Complex32 => subtract_constant_f32_complex_c4,
502 ]
503);
504impl_generic_constant_array_operation_in_place!(
505 SubtractConstantC4InPlace,
506 subtract_constant_in_place,
507 subtract_constant_c4_in_place,
508 C4,
509 4,
510 [
511 f16, f32 => subtract_constant_f16_c4_in_place,
512 f32, f32 => subtract_constant_f32_c4_in_place,
513 Complex32, Complex32 => subtract_constant_f32_complex_c4_in_place,
514 ]
515);
516impl_generic_scaled_constant_array_operation!(
517 ScaledSubtractConstantC4,
518 subtract_constant_scaled,
519 subtract_constant_scaled_c4,
520 C4,
521 4,
522 [
523 u8 => subtract_constant_u8_c4,
524 u16 => subtract_constant_u16_c4,
525 i16 => subtract_constant_i16_c4,
526 ]
527);
528impl_generic_scaled_constant_array_operation_in_place!(
529 ScaledSubtractConstantC4InPlace,
530 subtract_constant_scaled_in_place,
531 subtract_constant_scaled_c4_in_place,
532 C4,
533 4,
534 [
535 u8 => subtract_constant_u8_c4_in_place,
536 u16 => subtract_constant_u16_c4_in_place,
537 i16 => subtract_constant_i16_c4_in_place,
538 ]
539);
540impl_generic_constant_array_operation!(
541 SubtractConstantAc4,
542 subtract_constant,
543 subtract_constant_ac4,
544 AC4,
545 3,
546 [
547 f32, f32 => subtract_constant_f32_ac4,
548 Complex32, Complex32 => subtract_constant_f32_complex_ac4,
549 ]
550);
551impl_generic_constant_array_operation_in_place!(
552 SubtractConstantAc4InPlace,
553 subtract_constant_in_place,
554 subtract_constant_ac4_in_place,
555 AC4,
556 3,
557 [
558 f32, f32 => subtract_constant_f32_ac4_in_place,
559 Complex32, Complex32 => subtract_constant_f32_complex_ac4_in_place,
560 ]
561);
562impl_generic_scaled_constant_array_operation!(
563 ScaledSubtractConstantAc4,
564 subtract_constant_scaled,
565 subtract_constant_scaled_ac4,
566 AC4,
567 3,
568 [
569 u8 => subtract_constant_u8_ac4,
570 u16 => subtract_constant_u16_ac4,
571 i16 => subtract_constant_i16_ac4,
572 ComplexI16 => subtract_constant_i16_complex_ac4,
573 ComplexI32 => subtract_constant_i32_complex_ac4,
574 ]
575);
576impl_generic_scaled_constant_array_operation_in_place!(
577 ScaledSubtractConstantAc4InPlace,
578 subtract_constant_scaled_in_place,
579 subtract_constant_scaled_ac4_in_place,
580 AC4,
581 3,
582 [
583 u8 => subtract_constant_u8_ac4_in_place,
584 u16 => subtract_constant_u16_ac4_in_place,
585 i16 => subtract_constant_i16_ac4_in_place,
586 ComplexI16 => subtract_constant_i16_complex_ac4_in_place,
587 ComplexI32 => subtract_constant_i32_complex_ac4_in_place,
588 ]
589);
590
591impl_generic_constant_scalar_operation!(DivideConstantC1, divide_constant, divide_constant_c1, C1, [
592 f16, f32 => divide_constant_f16_c1,
593 f32, f32 => divide_constant_f32_c1,
594 Complex32, Complex32 => divide_constant_f32_complex_c1,
595]);
596impl_generic_constant_scalar_operation_in_place!(
597 DivideConstantC1InPlace,
598 divide_constant_in_place,
599 divide_constant_c1_in_place,
600 C1,
601 [
602 f16, f32 => divide_constant_f16_c1_in_place,
603 f32, f32 => divide_constant_f32_c1_in_place,
604 Complex32, Complex32 => divide_constant_f32_complex_c1_in_place,
605 ]
606);
607impl_generic_scaled_constant_scalar_operation!(
608 ScaledDivideConstantC1,
609 divide_constant_scaled,
610 divide_constant_scaled_c1,
611 C1,
612 [
613 u8 => divide_constant_u8_c1,
614 u16 => divide_constant_u16_c1,
615 i16 => divide_constant_i16_c1,
616 ComplexI16 => divide_constant_i16_complex_c1,
617 i32 => divide_constant_i32_c1,
618 ComplexI32 => divide_constant_i32_complex_c1,
619 ]
620);
621impl_generic_scaled_constant_scalar_operation_in_place!(
622 ScaledDivideConstantC1InPlace,
623 divide_constant_scaled_in_place,
624 divide_constant_scaled_c1_in_place,
625 C1,
626 [
627 u8 => divide_constant_u8_c1_in_place,
628 u16 => divide_constant_u16_c1_in_place,
629 i16 => divide_constant_i16_c1_in_place,
630 ComplexI16 => divide_constant_i16_complex_c1_in_place,
631 i32 => divide_constant_i32_c1_in_place,
632 ComplexI32 => divide_constant_i32_complex_c1_in_place,
633 ]
634);
635impl_generic_constant_array_operation!(DivideConstantC3, divide_constant, divide_constant_c3, C3, 3, [
636 f16, f32 => divide_constant_f16_c3,
637 f32, f32 => divide_constant_f32_c3,
638 Complex32, Complex32 => divide_constant_f32_complex_c3,
639]);
640impl_generic_constant_array_operation_in_place!(
641 DivideConstantC3InPlace,
642 divide_constant_in_place,
643 divide_constant_c3_in_place,
644 C3,
645 3,
646 [
647 f16, f32 => divide_constant_f16_c3_in_place,
648 f32, f32 => divide_constant_f32_c3_in_place,
649 Complex32, Complex32 => divide_constant_f32_complex_c3_in_place,
650 ]
651);
652impl_generic_scaled_constant_array_operation!(
653 ScaledDivideConstantC3,
654 divide_constant_scaled,
655 divide_constant_scaled_c3,
656 C3,
657 3,
658 [
659 u8 => divide_constant_u8_c3,
660 u16 => divide_constant_u16_c3,
661 i16 => divide_constant_i16_c3,
662 ComplexI16 => divide_constant_i16_complex_c3,
663 i32 => divide_constant_i32_c3,
664 ComplexI32 => divide_constant_i32_complex_c3,
665 ]
666);
667impl_generic_scaled_constant_array_operation_in_place!(
668 ScaledDivideConstantC3InPlace,
669 divide_constant_scaled_in_place,
670 divide_constant_scaled_c3_in_place,
671 C3,
672 3,
673 [
674 u8 => divide_constant_u8_c3_in_place,
675 u16 => divide_constant_u16_c3_in_place,
676 i16 => divide_constant_i16_c3_in_place,
677 ComplexI16 => divide_constant_i16_complex_c3_in_place,
678 i32 => divide_constant_i32_c3_in_place,
679 ComplexI32 => divide_constant_i32_complex_c3_in_place,
680 ]
681);
682impl_generic_constant_array_operation!(DivideConstantC4, divide_constant, divide_constant_c4, C4, 4, [
683 f16, f32 => divide_constant_f16_c4,
684 f32, f32 => divide_constant_f32_c4,
685 Complex32, Complex32 => divide_constant_f32_complex_c4,
686]);
687impl_generic_constant_array_operation_in_place!(
688 DivideConstantC4InPlace,
689 divide_constant_in_place,
690 divide_constant_c4_in_place,
691 C4,
692 4,
693 [
694 f16, f32 => divide_constant_f16_c4_in_place,
695 f32, f32 => divide_constant_f32_c4_in_place,
696 Complex32, Complex32 => divide_constant_f32_complex_c4_in_place,
697 ]
698);
699impl_generic_scaled_constant_array_operation!(
700 ScaledDivideConstantC4,
701 divide_constant_scaled,
702 divide_constant_scaled_c4,
703 C4,
704 4,
705 [
706 u8 => divide_constant_u8_c4,
707 u16 => divide_constant_u16_c4,
708 i16 => divide_constant_i16_c4,
709 ]
710);
711impl_generic_scaled_constant_array_operation_in_place!(
712 ScaledDivideConstantC4InPlace,
713 divide_constant_scaled_in_place,
714 divide_constant_scaled_c4_in_place,
715 C4,
716 4,
717 [
718 u8 => divide_constant_u8_c4_in_place,
719 u16 => divide_constant_u16_c4_in_place,
720 i16 => divide_constant_i16_c4_in_place,
721 ]
722);
723impl_generic_constant_array_operation!(
724 DivideConstantAc4,
725 divide_constant,
726 divide_constant_ac4,
727 AC4,
728 3,
729 [
730 f32, f32 => divide_constant_f32_ac4,
731 Complex32, Complex32 => divide_constant_f32_complex_ac4,
732 ]
733);
734impl_generic_constant_array_operation_in_place!(
735 DivideConstantAc4InPlace,
736 divide_constant_in_place,
737 divide_constant_ac4_in_place,
738 AC4,
739 3,
740 [
741 f32, f32 => divide_constant_f32_ac4_in_place,
742 Complex32, Complex32 => divide_constant_f32_complex_ac4_in_place,
743 ]
744);
745impl_generic_scaled_constant_array_operation!(
746 ScaledDivideConstantAc4,
747 divide_constant_scaled,
748 divide_constant_scaled_ac4,
749 AC4,
750 3,
751 [
752 u8 => divide_constant_u8_ac4,
753 u16 => divide_constant_u16_ac4,
754 i16 => divide_constant_i16_ac4,
755 ComplexI16 => divide_constant_i16_complex_ac4,
756 ComplexI32 => divide_constant_i32_complex_ac4,
757 ]
758);
759impl_generic_scaled_constant_array_operation_in_place!(
760 ScaledDivideConstantAc4InPlace,
761 divide_constant_scaled_in_place,
762 divide_constant_scaled_ac4_in_place,
763 AC4,
764 3,
765 [
766 u8 => divide_constant_u8_ac4_in_place,
767 u16 => divide_constant_u16_ac4_in_place,
768 i16 => divide_constant_i16_ac4_in_place,
769 ComplexI16 => divide_constant_i16_complex_ac4_in_place,
770 ComplexI32 => divide_constant_i32_complex_ac4_in_place,
771 ]
772);