Skip to main content

singe_npp/image/
arithmetic_unary_dispatch.rs

1use super::*;
2
3impl_generic_unary_operation!(
4    AbsoluteC1,
5    absolute,
6    absolute_c1,
7    C1,
8    [
9        i16 => absolute_i16_c1,
10        f16 => absolute_f16_c1,
11        f32 => absolute_f32_c1,
12    ]
13);
14impl_generic_unary_operation_in_place!(
15    AbsoluteC1InPlace,
16    absolute_in_place,
17    absolute_c1_in_place,
18    C1,
19    [
20        i16 => absolute_i16_c1_in_place,
21        f16 => absolute_f16_c1_in_place,
22        f32 => absolute_f32_c1_in_place,
23    ]
24);
25impl_generic_unary_operation!(
26    AbsoluteC3,
27    absolute,
28    absolute_c3,
29    C3,
30    [
31        i16 => absolute_i16_c3,
32        f16 => absolute_f16_c3,
33        f32 => absolute_f32_c3,
34    ]
35);
36impl_generic_unary_operation_in_place!(
37    AbsoluteC3InPlace,
38    absolute_in_place,
39    absolute_c3_in_place,
40    C3,
41    [
42        i16 => absolute_i16_c3_in_place,
43        f16 => absolute_f16_c3_in_place,
44        f32 => absolute_f32_c3_in_place,
45    ]
46);
47impl_generic_unary_operation!(
48    AbsoluteC4,
49    absolute,
50    absolute_c4,
51    C4,
52    [
53        i16 => absolute_i16_c4,
54        f16 => absolute_f16_c4,
55        f32 => absolute_f32_c4,
56    ]
57);
58impl_generic_unary_operation_in_place!(
59    AbsoluteC4InPlace,
60    absolute_in_place,
61    absolute_c4_in_place,
62    C4,
63    [
64        i16 => absolute_i16_c4_in_place,
65        f16 => absolute_f16_c4_in_place,
66        f32 => absolute_f32_c4_in_place,
67    ]
68);
69impl_generic_unary_operation!(
70    AbsoluteAc4,
71    absolute,
72    absolute_ac4,
73    AC4,
74    [
75        i16 => absolute_i16_ac4,
76        f32 => absolute_f32_ac4,
77    ]
78);
79impl_generic_unary_operation_in_place!(
80    AbsoluteAc4InPlace,
81    absolute_in_place,
82    absolute_ac4_in_place,
83    AC4,
84    [
85        i16 => absolute_i16_ac4_in_place,
86        f32 => absolute_f32_ac4_in_place,
87    ]
88);
89
90impl_generic_binary_operation!(
91    AbsoluteDifferenceC1,
92    absolute_difference,
93    absolute_difference_c1,
94    C1,
95    [
96        u8 => absolute_difference_u8_c1,
97        u16 => absolute_difference_u16_c1,
98        f16 => absolute_difference_f16_c1,
99        f32 => absolute_difference_f32_c1,
100    ]
101);
102impl_generic_binary_operation!(
103    AbsoluteDifferenceC3,
104    absolute_difference,
105    absolute_difference_c3,
106    C3,
107    [u8 => absolute_difference_u8_c3]
108);
109impl_generic_binary_operation!(
110    AbsoluteDifferenceC4,
111    absolute_difference,
112    absolute_difference_c4,
113    C4,
114    [u8 => absolute_difference_u8_c4]
115);
116
117impl_generic_binary_operation!(
118    LogicalAndC1,
119    logical_and,
120    logical_and_c1,
121    C1,
122    [
123        u8 => logical_and_u8_c1,
124        u16 => logical_and_u16_c1,
125        i32 => logical_and_i32_c1,
126    ]
127);
128impl_generic_binary_operation_in_place!(
129    LogicalAndC1InPlace,
130    logical_and_in_place,
131    logical_and_c1_in_place,
132    C1,
133    [
134        u8 => logical_and_u8_c1_in_place,
135        u16 => logical_and_u16_c1_in_place,
136        i32 => logical_and_i32_c1_in_place,
137    ]
138);
139impl_generic_binary_operation!(
140    LogicalAndC3,
141    logical_and,
142    logical_and_c3,
143    C3,
144    [
145        u8 => logical_and_u8_c3,
146        u16 => logical_and_u16_c3,
147        i32 => logical_and_i32_c3,
148    ]
149);
150impl_generic_binary_operation_in_place!(
151    LogicalAndC3InPlace,
152    logical_and_in_place,
153    logical_and_c3_in_place,
154    C3,
155    [
156        u8 => logical_and_u8_c3_in_place,
157        u16 => logical_and_u16_c3_in_place,
158        i32 => logical_and_i32_c3_in_place,
159    ]
160);
161impl_generic_binary_operation!(
162    LogicalAndC4,
163    logical_and,
164    logical_and_c4,
165    C4,
166    [
167        u8 => logical_and_u8_c4,
168        u16 => logical_and_u16_c4,
169        i32 => logical_and_i32_c4,
170    ]
171);
172impl_generic_binary_operation_in_place!(
173    LogicalAndC4InPlace,
174    logical_and_in_place,
175    logical_and_c4_in_place,
176    C4,
177    [
178        u8 => logical_and_u8_c4_in_place,
179        u16 => logical_and_u16_c4_in_place,
180        i32 => logical_and_i32_c4_in_place,
181    ]
182);
183impl_generic_binary_operation!(
184    LogicalAndAc4,
185    logical_and,
186    logical_and_ac4,
187    AC4,
188    [
189        u8 => logical_and_u8_ac4,
190        u16 => logical_and_u16_ac4,
191        i32 => logical_and_i32_ac4,
192    ]
193);
194impl_generic_binary_operation_in_place!(
195    LogicalAndAc4InPlace,
196    logical_and_in_place,
197    logical_and_ac4_in_place,
198    AC4,
199    [
200        u8 => logical_and_u8_ac4_in_place,
201        u16 => logical_and_u16_ac4_in_place,
202        i32 => logical_and_i32_ac4_in_place,
203    ]
204);
205
206impl_generic_binary_operation!(
207    LogicalOrC1,
208    logical_or,
209    logical_or_c1,
210    C1,
211    [
212        u8 => logical_or_u8_c1,
213        u16 => logical_or_u16_c1,
214        i32 => logical_or_i32_c1,
215    ]
216);
217impl_generic_binary_operation_in_place!(
218    LogicalOrC1InPlace,
219    logical_or_in_place,
220    logical_or_c1_in_place,
221    C1,
222    [
223        u8 => logical_or_u8_c1_in_place,
224        u16 => logical_or_u16_c1_in_place,
225        i32 => logical_or_i32_c1_in_place,
226    ]
227);
228impl_generic_binary_operation!(
229    LogicalOrC3,
230    logical_or,
231    logical_or_c3,
232    C3,
233    [
234        u8 => logical_or_u8_c3,
235        u16 => logical_or_u16_c3,
236        i32 => logical_or_i32_c3,
237    ]
238);
239impl_generic_binary_operation_in_place!(
240    LogicalOrC3InPlace,
241    logical_or_in_place,
242    logical_or_c3_in_place,
243    C3,
244    [
245        u8 => logical_or_u8_c3_in_place,
246        u16 => logical_or_u16_c3_in_place,
247        i32 => logical_or_i32_c3_in_place,
248    ]
249);
250impl_generic_binary_operation!(
251    LogicalOrC4,
252    logical_or,
253    logical_or_c4,
254    C4,
255    [
256        u8 => logical_or_u8_c4,
257        u16 => logical_or_u16_c4,
258        i32 => logical_or_i32_c4,
259    ]
260);
261impl_generic_binary_operation_in_place!(
262    LogicalOrC4InPlace,
263    logical_or_in_place,
264    logical_or_c4_in_place,
265    C4,
266    [
267        u8 => logical_or_u8_c4_in_place,
268        u16 => logical_or_u16_c4_in_place,
269        i32 => logical_or_i32_c4_in_place,
270    ]
271);
272impl_generic_binary_operation!(
273    LogicalOrAc4,
274    logical_or,
275    logical_or_ac4,
276    AC4,
277    [
278        u8 => logical_or_u8_ac4,
279        u16 => logical_or_u16_ac4,
280        i32 => logical_or_i32_ac4,
281    ]
282);
283impl_generic_binary_operation_in_place!(
284    LogicalOrAc4InPlace,
285    logical_or_in_place,
286    logical_or_ac4_in_place,
287    AC4,
288    [
289        u8 => logical_or_u8_ac4_in_place,
290        u16 => logical_or_u16_ac4_in_place,
291        i32 => logical_or_i32_ac4_in_place,
292    ]
293);
294
295impl_generic_binary_operation!(
296    LogicalXorC1,
297    logical_xor,
298    logical_xor_c1,
299    C1,
300    [
301        u8 => logical_xor_u8_c1,
302        u16 => logical_xor_u16_c1,
303        i32 => logical_xor_i32_c1,
304    ]
305);
306impl_generic_binary_operation_in_place!(
307    LogicalXorC1InPlace,
308    logical_xor_in_place,
309    logical_xor_c1_in_place,
310    C1,
311    [
312        u8 => logical_xor_u8_c1_in_place,
313        u16 => logical_xor_u16_c1_in_place,
314        i32 => logical_xor_i32_c1_in_place,
315    ]
316);
317impl_generic_binary_operation!(
318    LogicalXorC3,
319    logical_xor,
320    logical_xor_c3,
321    C3,
322    [
323        u8 => logical_xor_u8_c3,
324        u16 => logical_xor_u16_c3,
325        i32 => logical_xor_i32_c3,
326    ]
327);
328impl_generic_binary_operation_in_place!(
329    LogicalXorC3InPlace,
330    logical_xor_in_place,
331    logical_xor_c3_in_place,
332    C3,
333    [
334        u8 => logical_xor_u8_c3_in_place,
335        u16 => logical_xor_u16_c3_in_place,
336        i32 => logical_xor_i32_c3_in_place,
337    ]
338);
339impl_generic_binary_operation!(
340    LogicalXorC4,
341    logical_xor,
342    logical_xor_c4,
343    C4,
344    [
345        u8 => logical_xor_u8_c4,
346        u16 => logical_xor_u16_c4,
347        i32 => logical_xor_i32_c4,
348    ]
349);
350impl_generic_binary_operation_in_place!(
351    LogicalXorC4InPlace,
352    logical_xor_in_place,
353    logical_xor_c4_in_place,
354    C4,
355    [
356        u8 => logical_xor_u8_c4_in_place,
357        u16 => logical_xor_u16_c4_in_place,
358        i32 => logical_xor_i32_c4_in_place,
359    ]
360);
361impl_generic_binary_operation!(
362    LogicalXorAc4,
363    logical_xor,
364    logical_xor_ac4,
365    AC4,
366    [
367        u8 => logical_xor_u8_ac4,
368        u16 => logical_xor_u16_ac4,
369        i32 => logical_xor_i32_ac4,
370    ]
371);
372impl_generic_binary_operation_in_place!(
373    LogicalXorAc4InPlace,
374    logical_xor_in_place,
375    logical_xor_ac4_in_place,
376    AC4,
377    [
378        u8 => logical_xor_u8_ac4_in_place,
379        u16 => logical_xor_u16_ac4_in_place,
380        i32 => logical_xor_i32_ac4_in_place,
381    ]
382);
383
384impl_generic_unary_operation!(
385    LogicalNotC1,
386    logical_not,
387    logical_not_c1,
388    C1,
389    [u8 => logical_not_u8_c1]
390);
391impl_generic_unary_operation_in_place!(
392    LogicalNotC1InPlace,
393    logical_not_in_place,
394    logical_not_c1_in_place,
395    C1,
396    [u8 => logical_not_u8_c1_in_place]
397);
398impl_generic_unary_operation!(
399    LogicalNotC3,
400    logical_not,
401    logical_not_c3,
402    C3,
403    [u8 => logical_not_u8_c3]
404);
405impl_generic_unary_operation_in_place!(
406    LogicalNotC3InPlace,
407    logical_not_in_place,
408    logical_not_c3_in_place,
409    C3,
410    [u8 => logical_not_u8_c3_in_place]
411);
412impl_generic_unary_operation!(
413    LogicalNotC4,
414    logical_not,
415    logical_not_c4,
416    C4,
417    [u8 => logical_not_u8_c4]
418);
419impl_generic_unary_operation_in_place!(
420    LogicalNotC4InPlace,
421    logical_not_in_place,
422    logical_not_c4_in_place,
423    C4,
424    [u8 => logical_not_u8_c4_in_place]
425);
426impl_generic_unary_operation!(
427    LogicalNotAc4,
428    logical_not,
429    logical_not_ac4,
430    AC4,
431    [u8 => logical_not_u8_ac4]
432);
433impl_generic_unary_operation_in_place!(
434    LogicalNotAc4InPlace,
435    logical_not_in_place,
436    logical_not_ac4_in_place,
437    AC4,
438    [u8 => logical_not_u8_ac4_in_place]
439);
440
441impl_generic_unary_operation!(SquareC1, square, square_c1, C1, [
442    f16 => square_f16_c1,
443    f32 => square_f32_c1,
444]);
445impl_generic_unary_operation_in_place!(SquareC1InPlace, square_in_place, square_c1_in_place, C1, [
446    f16 => square_f16_c1_in_place,
447    f32 => square_f32_c1_in_place,
448]);
449impl_generic_scaled_unary_operation!(ScaledSquareC1, square_scaled, square_scaled_c1, C1, [
450    u8 => square_u8_c1,
451    u16 => square_u16_c1,
452    i16 => square_i16_c1,
453]);
454impl_generic_scaled_unary_operation_in_place!(
455    ScaledSquareC1InPlace,
456    square_scaled_in_place,
457    square_scaled_c1_in_place,
458    C1,
459    [
460        u8 => square_u8_c1_in_place,
461        u16 => square_u16_c1_in_place,
462        i16 => square_i16_c1_in_place,
463    ]
464);
465impl_generic_unary_operation!(SquareC3, square, square_c3, C3, [
466    f16 => square_f16_c3,
467    f32 => square_f32_c3,
468]);
469impl_generic_unary_operation_in_place!(SquareC3InPlace, square_in_place, square_c3_in_place, C3, [
470    f16 => square_f16_c3_in_place,
471    f32 => square_f32_c3_in_place,
472]);
473impl_generic_scaled_unary_operation!(ScaledSquareC3, square_scaled, square_scaled_c3, C3, [
474    u8 => square_u8_c3,
475    u16 => square_u16_c3,
476    i16 => square_i16_c3,
477]);
478impl_generic_scaled_unary_operation_in_place!(
479    ScaledSquareC3InPlace,
480    square_scaled_in_place,
481    square_scaled_c3_in_place,
482    C3,
483    [
484        u8 => square_u8_c3_in_place,
485        u16 => square_u16_c3_in_place,
486        i16 => square_i16_c3_in_place,
487    ]
488);
489impl_generic_unary_operation!(SquareC4, square, square_c4, C4, [
490    f16 => square_f16_c4,
491    f32 => square_f32_c4,
492]);
493impl_generic_unary_operation_in_place!(SquareC4InPlace, square_in_place, square_c4_in_place, C4, [
494    f16 => square_f16_c4_in_place,
495    f32 => square_f32_c4_in_place,
496]);
497impl_generic_scaled_unary_operation!(ScaledSquareC4, square_scaled, square_scaled_c4, C4, [
498    u8 => square_u8_c4,
499    u16 => square_u16_c4,
500    i16 => square_i16_c4,
501]);
502impl_generic_scaled_unary_operation_in_place!(
503    ScaledSquareC4InPlace,
504    square_scaled_in_place,
505    square_scaled_c4_in_place,
506    C4,
507    [
508        u8 => square_u8_c4_in_place,
509        u16 => square_u16_c4_in_place,
510        i16 => square_i16_c4_in_place,
511    ]
512);
513impl_generic_unary_operation!(SquareAc4, square, square_ac4, AC4, [f32 => square_f32_ac4]);
514impl_generic_unary_operation_in_place!(
515    SquareAc4InPlace,
516    square_in_place,
517    square_ac4_in_place,
518    AC4,
519    [f32 => square_f32_ac4_in_place]
520);
521impl_generic_scaled_unary_operation!(ScaledSquareAc4, square_scaled, square_scaled_ac4, AC4, [
522    u8 => square_u8_ac4,
523    u16 => square_u16_ac4,
524    i16 => square_i16_ac4,
525]);
526impl_generic_scaled_unary_operation_in_place!(
527    ScaledSquareAc4InPlace,
528    square_scaled_in_place,
529    square_scaled_ac4_in_place,
530    AC4,
531    [
532        u8 => square_u8_ac4_in_place,
533        u16 => square_u16_ac4_in_place,
534        i16 => square_i16_ac4_in_place,
535    ]
536);
537
538impl_generic_unary_operation!(SquareRootC1, square_root, square_root_c1, C1, [
539    f16 => square_root_f16_c1,
540    f32 => square_root_f32_c1,
541]);
542impl_generic_unary_operation_in_place!(
543    SquareRootC1InPlace,
544    square_root_in_place,
545    square_root_c1_in_place,
546    C1,
547    [
548        f16 => square_root_f16_c1_in_place,
549        f32 => square_root_f32_c1_in_place,
550    ]
551);
552impl_generic_scaled_unary_operation!(
553    ScaledSquareRootC1,
554    square_root_scaled,
555    square_root_scaled_c1,
556    C1,
557    [
558        u8 => square_root_u8_c1,
559        u16 => square_root_u16_c1,
560        i16 => square_root_i16_c1,
561    ]
562);
563impl_generic_scaled_unary_operation_in_place!(
564    ScaledSquareRootC1InPlace,
565    square_root_scaled_in_place,
566    square_root_scaled_c1_in_place,
567    C1,
568    [
569        u8 => square_root_u8_c1_in_place,
570        u16 => square_root_u16_c1_in_place,
571        i16 => square_root_i16_c1_in_place,
572    ]
573);
574impl_generic_unary_operation!(SquareRootC3, square_root, square_root_c3, C3, [
575    f16 => square_root_f16_c3,
576    f32 => square_root_f32_c3,
577]);
578impl_generic_unary_operation_in_place!(
579    SquareRootC3InPlace,
580    square_root_in_place,
581    square_root_c3_in_place,
582    C3,
583    [
584        f16 => square_root_f16_c3_in_place,
585        f32 => square_root_f32_c3_in_place,
586    ]
587);
588impl_generic_scaled_unary_operation!(
589    ScaledSquareRootC3,
590    square_root_scaled,
591    square_root_scaled_c3,
592    C3,
593    [
594        u8 => square_root_u8_c3,
595        u16 => square_root_u16_c3,
596        i16 => square_root_i16_c3,
597    ]
598);
599impl_generic_scaled_unary_operation_in_place!(
600    ScaledSquareRootC3InPlace,
601    square_root_scaled_in_place,
602    square_root_scaled_c3_in_place,
603    C3,
604    [
605        u8 => square_root_u8_c3_in_place,
606        u16 => square_root_u16_c3_in_place,
607        i16 => square_root_i16_c3_in_place,
608    ]
609);
610impl_generic_unary_operation!(SquareRootC4, square_root, square_root_c4, C4, [
611    f16 => square_root_f16_c4,
612    f32 => square_root_f32_c4,
613]);
614impl_generic_unary_operation_in_place!(
615    SquareRootC4InPlace,
616    square_root_in_place,
617    square_root_c4_in_place,
618    C4,
619    [
620        f16 => square_root_f16_c4_in_place,
621        f32 => square_root_f32_c4_in_place,
622    ]
623);
624impl_generic_unary_operation!(SquareRootAc4, square_root, square_root_ac4, AC4, [
625    f32 => square_root_f32_ac4
626]);
627impl_generic_unary_operation_in_place!(
628    SquareRootAc4InPlace,
629    square_root_in_place,
630    square_root_ac4_in_place,
631    AC4,
632    [f32 => square_root_f32_ac4_in_place]
633);
634impl_generic_scaled_unary_operation!(
635    ScaledSquareRootAc4,
636    square_root_scaled,
637    square_root_scaled_ac4,
638    AC4,
639    [
640        u8 => square_root_u8_ac4,
641        u16 => square_root_u16_ac4,
642        i16 => square_root_i16_ac4,
643    ]
644);
645impl_generic_scaled_unary_operation_in_place!(
646    ScaledSquareRootAc4InPlace,
647    square_root_scaled_in_place,
648    square_root_scaled_ac4_in_place,
649    AC4,
650    [
651        u8 => square_root_u8_ac4_in_place,
652        u16 => square_root_u16_ac4_in_place,
653        i16 => square_root_i16_ac4_in_place,
654    ]
655);
656
657impl_generic_unary_operation!(
658    NaturalLogarithmC1,
659    natural_logarithm,
660    natural_logarithm_c1,
661    C1,
662    [
663        f16 => natural_logarithm_f16_c1,
664        f32 => natural_logarithm_f32_c1,
665    ]
666);
667impl_generic_unary_operation_in_place!(
668    NaturalLogarithmC1InPlace,
669    natural_logarithm_in_place,
670    natural_logarithm_c1_in_place,
671    C1,
672    [
673        f16 => natural_logarithm_f16_c1_in_place,
674        f32 => natural_logarithm_f32_c1_in_place,
675    ]
676);
677impl_generic_scaled_unary_operation!(
678    ScaledNaturalLogarithmC1,
679    natural_logarithm_scaled,
680    natural_logarithm_scaled_c1,
681    C1,
682    [
683        u8 => natural_logarithm_u8_c1,
684        u16 => natural_logarithm_u16_c1,
685        i16 => natural_logarithm_i16_c1,
686    ]
687);
688impl_generic_scaled_unary_operation_in_place!(
689    ScaledNaturalLogarithmC1InPlace,
690    natural_logarithm_scaled_in_place,
691    natural_logarithm_scaled_c1_in_place,
692    C1,
693    [
694        u8 => natural_logarithm_u8_c1_in_place,
695        u16 => natural_logarithm_u16_c1_in_place,
696        i16 => natural_logarithm_i16_c1_in_place,
697    ]
698);
699impl_generic_unary_operation!(
700    NaturalLogarithmC3,
701    natural_logarithm,
702    natural_logarithm_c3,
703    C3,
704    [
705        f16 => natural_logarithm_f16_c3,
706        f32 => natural_logarithm_f32_c3,
707    ]
708);
709impl_generic_unary_operation_in_place!(
710    NaturalLogarithmC3InPlace,
711    natural_logarithm_in_place,
712    natural_logarithm_c3_in_place,
713    C3,
714    [
715        f16 => natural_logarithm_f16_c3_in_place,
716        f32 => natural_logarithm_f32_c3_in_place,
717    ]
718);
719impl_generic_scaled_unary_operation!(
720    ScaledNaturalLogarithmC3,
721    natural_logarithm_scaled,
722    natural_logarithm_scaled_c3,
723    C3,
724    [
725        u8 => natural_logarithm_u8_c3,
726        u16 => natural_logarithm_u16_c3,
727        i16 => natural_logarithm_i16_c3,
728    ]
729);
730impl_generic_scaled_unary_operation_in_place!(
731    ScaledNaturalLogarithmC3InPlace,
732    natural_logarithm_scaled_in_place,
733    natural_logarithm_scaled_c3_in_place,
734    C3,
735    [
736        u8 => natural_logarithm_u8_c3_in_place,
737        u16 => natural_logarithm_u16_c3_in_place,
738        i16 => natural_logarithm_i16_c3_in_place,
739    ]
740);
741
742impl_generic_unary_operation!(
743    ExponentialC1,
744    exponential,
745    exponential_c1,
746    C1,
747    [f32 => exponential_f32_c1]
748);
749impl_generic_unary_operation_in_place!(
750    ExponentialC1InPlace,
751    exponential_in_place,
752    exponential_c1_in_place,
753    C1,
754    [f32 => exponential_f32_c1_in_place]
755);
756impl_generic_scaled_unary_operation!(
757    ScaledExponentialC1,
758    exponential_scaled,
759    exponential_scaled_c1,
760    C1,
761    [
762        u8 => exponential_u8_c1,
763        u16 => exponential_u16_c1,
764        i16 => exponential_i16_c1,
765    ]
766);
767impl_generic_scaled_unary_operation_in_place!(
768    ScaledExponentialC1InPlace,
769    exponential_scaled_in_place,
770    exponential_scaled_c1_in_place,
771    C1,
772    [
773        u8 => exponential_u8_c1_in_place,
774        u16 => exponential_u16_c1_in_place,
775        i16 => exponential_i16_c1_in_place,
776    ]
777);
778impl_generic_unary_operation!(
779    ExponentialC3,
780    exponential,
781    exponential_c3,
782    C3,
783    [f32 => exponential_f32_c3]
784);
785impl_generic_unary_operation_in_place!(
786    ExponentialC3InPlace,
787    exponential_in_place,
788    exponential_c3_in_place,
789    C3,
790    [f32 => exponential_f32_c3_in_place]
791);
792impl_generic_scaled_unary_operation!(
793    ScaledExponentialC3,
794    exponential_scaled,
795    exponential_scaled_c3,
796    C3,
797    [
798        u8 => exponential_u8_c3,
799        u16 => exponential_u16_c3,
800        i16 => exponential_i16_c3,
801    ]
802);
803impl_generic_scaled_unary_operation_in_place!(
804    ScaledExponentialC3InPlace,
805    exponential_scaled_in_place,
806    exponential_scaled_c3_in_place,
807    C3,
808    [
809        u8 => exponential_u8_c3_in_place,
810        u16 => exponential_u16_c3_in_place,
811        i16 => exponential_i16_c3_in_place,
812    ]
813);