Skip to main content

singe_npp/image/
arithmetic_constant_dispatch_scale.rs

1use super::*;
2
3impl_generic_constant_scalar_operation!(
4    MultiplyConstantScaleC1,
5    multiply_constant_scale,
6    multiply_constant_scale_c1,
7    C1,
8    [
9        u8, u8 => multiply_constant_scale_u8_c1,
10        u16, u16 => multiply_constant_scale_u16_c1,
11    ]
12);
13impl_generic_constant_scalar_operation_in_place!(
14    MultiplyConstantScaleC1InPlace,
15    multiply_constant_scale_in_place,
16    multiply_constant_scale_c1_in_place,
17    C1,
18    [
19        u8, u8 => multiply_constant_scale_u8_c1_in_place,
20        u16, u16 => multiply_constant_scale_u16_c1_in_place,
21    ]
22);
23impl_generic_constant_array_operation!(
24    MultiplyConstantScaleC3,
25    multiply_constant_scale,
26    multiply_constant_scale_c3,
27    C3,
28    3,
29    [
30        u8, u8 => multiply_constant_scale_u8_c3,
31        u16, u16 => multiply_constant_scale_u16_c3,
32    ]
33);
34impl_generic_constant_array_operation_in_place!(
35    MultiplyConstantScaleC3InPlace,
36    multiply_constant_scale_in_place,
37    multiply_constant_scale_c3_in_place,
38    C3,
39    3,
40    [
41        u8, u8 => multiply_constant_scale_u8_c3_in_place,
42        u16, u16 => multiply_constant_scale_u16_c3_in_place,
43    ]
44);
45impl_generic_constant_array_operation!(
46    MultiplyConstantScaleC4,
47    multiply_constant_scale,
48    multiply_constant_scale_c4,
49    C4,
50    4,
51    [
52        u8, u8 => multiply_constant_scale_u8_c4,
53        u16, u16 => multiply_constant_scale_u16_c4,
54    ]
55);
56impl_generic_constant_array_operation_in_place!(
57    MultiplyConstantScaleC4InPlace,
58    multiply_constant_scale_in_place,
59    multiply_constant_scale_c4_in_place,
60    C4,
61    4,
62    [
63        u8, u8 => multiply_constant_scale_u8_c4_in_place,
64        u16, u16 => multiply_constant_scale_u16_c4_in_place,
65    ]
66);
67impl_generic_constant_array_operation!(
68    MultiplyConstantScaleAc4,
69    multiply_constant_scale,
70    multiply_constant_scale_ac4,
71    AC4,
72    3,
73    [
74        u8, u8 => multiply_constant_scale_u8_ac4,
75        u16, u16 => multiply_constant_scale_u16_ac4,
76    ]
77);
78impl_generic_constant_array_operation_in_place!(
79    MultiplyConstantScaleAc4InPlace,
80    multiply_constant_scale_in_place,
81    multiply_constant_scale_ac4_in_place,
82    AC4,
83    3,
84    [
85        u8, u8 => multiply_constant_scale_u8_ac4_in_place,
86        u16, u16 => multiply_constant_scale_u16_ac4_in_place,
87    ]
88);
89
90impl_generic_device_constant_operation!(
91    MultiplyDeviceConstantScaleC1,
92    multiply_device_constant_scale,
93    multiply_device_constant_scale_c1,
94    C1,
95    [
96        u8, u8 => multiply_device_constant_scale_u8_c1,
97        u16, u16 => multiply_device_constant_scale_u16_c1,
98    ]
99);
100impl_generic_device_constant_operation_in_place!(
101    MultiplyDeviceConstantScaleC1InPlace,
102    multiply_device_constant_scale_in_place,
103    multiply_device_constant_scale_c1_in_place,
104    C1,
105    [
106        u8, u8 => multiply_device_constant_scale_u8_c1_in_place,
107        u16, u16 => multiply_device_constant_scale_u16_c1_in_place,
108    ]
109);
110impl_generic_device_constant_operation!(
111    MultiplyDeviceConstantScaleC3,
112    multiply_device_constant_scale,
113    multiply_device_constant_scale_c3,
114    C3,
115    [
116        u8, u8 => multiply_device_constant_scale_u8_c3,
117        u16, u16 => multiply_device_constant_scale_u16_c3,
118    ]
119);
120impl_generic_device_constant_operation_in_place!(
121    MultiplyDeviceConstantScaleC3InPlace,
122    multiply_device_constant_scale_in_place,
123    multiply_device_constant_scale_c3_in_place,
124    C3,
125    [
126        u8, u8 => multiply_device_constant_scale_u8_c3_in_place,
127        u16, u16 => multiply_device_constant_scale_u16_c3_in_place,
128    ]
129);
130impl_generic_device_constant_operation!(
131    MultiplyDeviceConstantScaleC4,
132    multiply_device_constant_scale,
133    multiply_device_constant_scale_c4,
134    C4,
135    [
136        u8, u8 => multiply_device_constant_scale_u8_c4,
137        u16, u16 => multiply_device_constant_scale_u16_c4,
138    ]
139);
140impl_generic_device_constant_operation_in_place!(
141    MultiplyDeviceConstantScaleC4InPlace,
142    multiply_device_constant_scale_in_place,
143    multiply_device_constant_scale_c4_in_place,
144    C4,
145    [
146        u8, u8 => multiply_device_constant_scale_u8_c4_in_place,
147        u16, u16 => multiply_device_constant_scale_u16_c4_in_place,
148    ]
149);
150impl_generic_device_constant_operation!(
151    MultiplyDeviceConstantScaleAc4,
152    multiply_device_constant_scale,
153    multiply_device_constant_scale_ac4,
154    AC4,
155    [
156        u8, u8 => multiply_device_constant_scale_u8_ac4,
157        u16, u16 => multiply_device_constant_scale_u16_ac4,
158    ]
159);
160impl_generic_device_constant_operation_in_place!(
161    MultiplyDeviceConstantScaleAc4InPlace,
162    multiply_device_constant_scale_in_place,
163    multiply_device_constant_scale_ac4_in_place,
164    AC4,
165    [
166        u8, u8 => multiply_device_constant_scale_u8_ac4_in_place,
167        u16, u16 => multiply_device_constant_scale_u16_ac4_in_place,
168    ]
169);
170
171impl_generic_constant_scalar_operation!(
172    AbsoluteDifferenceConstantC1,
173    absolute_difference_constant,
174    absolute_difference_constant_c1,
175    C1,
176    [
177        u8, u8 => absolute_difference_constant_u8_c1,
178        u16, u16 => absolute_difference_constant_u16_c1,
179        f32, f32 => absolute_difference_constant_f32_c1,
180    ]
181);
182impl_generic_device_constant_operation!(
183    AbsoluteDifferenceDeviceConstantC1,
184    absolute_difference_device_constant,
185    absolute_difference_device_constant_c1,
186    C1,
187    [
188        u8, u8 => absolute_difference_device_constant_u8_c1,
189        u16, u16 => absolute_difference_device_constant_u16_c1,
190        f32, f32 => absolute_difference_device_constant_f32_c1,
191    ]
192);