@@ -182,13 +182,15 @@ pub trait HasAfEnum {
182
182
/// aggregation of set of values for a given input type. Aggregate type
183
183
/// alias points to below types for given input types:
184
184
/// - `Self` for input types: `Complex<64>`, `Complex<f32>`, `f64`, `f32`, `i64`, `u64`
185
- /// - `f32 ` for input types: `bool`
185
+ /// - `u32 ` for input types: `bool`
186
186
/// - `u32` for input types: `u8`
187
187
/// - `i32` for input types: `i16`
188
188
/// - `u32` for input types: `u16`
189
189
/// - `i32` for input types: `i32`
190
190
/// - `u32` for input types: `u32`
191
191
type AggregateOutType ;
192
+ /// This type is different for b8 input type
193
+ type ProductOutType ;
192
194
/// This type alias points to the output type for given input type of
193
195
/// sobel filter operation. Sobel filter output alias points to below
194
196
/// types for given input types:
@@ -211,6 +213,7 @@ impl HasAfEnum for Complex<f32> {
211
213
type ComplexOutType = Self ;
212
214
type MeanOutType = Self ;
213
215
type AggregateOutType = Self ;
216
+ type ProductOutType = Self ;
214
217
type SobelOutType = Self ;
215
218
216
219
fn get_af_dtype ( ) -> DType {
@@ -226,6 +229,7 @@ impl HasAfEnum for Complex<f64> {
226
229
type ComplexOutType = Self ;
227
230
type MeanOutType = Self ;
228
231
type AggregateOutType = Self ;
232
+ type ProductOutType = Self ;
229
233
type SobelOutType = Self ;
230
234
231
235
fn get_af_dtype ( ) -> DType {
@@ -241,6 +245,7 @@ impl HasAfEnum for f32 {
241
245
type ComplexOutType = Complex < f32 > ;
242
246
type MeanOutType = Self ;
243
247
type AggregateOutType = Self ;
248
+ type ProductOutType = Self ;
244
249
type SobelOutType = Self ;
245
250
246
251
fn get_af_dtype ( ) -> DType {
@@ -256,6 +261,7 @@ impl HasAfEnum for f64 {
256
261
type ComplexOutType = Complex < f64 > ;
257
262
type MeanOutType = Self ;
258
263
type AggregateOutType = Self ;
264
+ type ProductOutType = Self ;
259
265
type SobelOutType = Self ;
260
266
261
267
fn get_af_dtype ( ) -> DType {
@@ -271,6 +277,7 @@ impl HasAfEnum for bool {
271
277
type ComplexOutType = Complex < f32 > ;
272
278
type MeanOutType = f32 ;
273
279
type AggregateOutType = u32 ;
280
+ type ProductOutType = bool ;
274
281
type SobelOutType = i32 ;
275
282
276
283
fn get_af_dtype ( ) -> DType {
@@ -286,6 +293,7 @@ impl HasAfEnum for u8 {
286
293
type ComplexOutType = Complex < f32 > ;
287
294
type MeanOutType = f32 ;
288
295
type AggregateOutType = u32 ;
296
+ type ProductOutType = u32 ;
289
297
type SobelOutType = i32 ;
290
298
291
299
fn get_af_dtype ( ) -> DType {
@@ -301,6 +309,7 @@ impl HasAfEnum for i16 {
301
309
type ComplexOutType = Complex < f32 > ;
302
310
type MeanOutType = f32 ;
303
311
type AggregateOutType = i32 ;
312
+ type ProductOutType = i32 ;
304
313
type SobelOutType = i32 ;
305
314
306
315
fn get_af_dtype ( ) -> DType {
@@ -316,6 +325,7 @@ impl HasAfEnum for u16 {
316
325
type ComplexOutType = Complex < f32 > ;
317
326
type MeanOutType = f32 ;
318
327
type AggregateOutType = u32 ;
328
+ type ProductOutType = u32 ;
319
329
type SobelOutType = i32 ;
320
330
321
331
fn get_af_dtype ( ) -> DType {
@@ -331,6 +341,7 @@ impl HasAfEnum for i32 {
331
341
type ComplexOutType = Complex < f32 > ;
332
342
type MeanOutType = f32 ;
333
343
type AggregateOutType = i32 ;
344
+ type ProductOutType = i32 ;
334
345
type SobelOutType = i32 ;
335
346
336
347
fn get_af_dtype ( ) -> DType {
@@ -346,6 +357,7 @@ impl HasAfEnum for u32 {
346
357
type ComplexOutType = Complex < f32 > ;
347
358
type MeanOutType = f32 ;
348
359
type AggregateOutType = u32 ;
360
+ type ProductOutType = u32 ;
349
361
type SobelOutType = i32 ;
350
362
351
363
fn get_af_dtype ( ) -> DType {
@@ -361,6 +373,7 @@ impl HasAfEnum for i64 {
361
373
type ComplexOutType = Complex < f64 > ;
362
374
type MeanOutType = f64 ;
363
375
type AggregateOutType = Self ;
376
+ type ProductOutType = Self ;
364
377
type SobelOutType = i64 ;
365
378
366
379
fn get_af_dtype ( ) -> DType {
@@ -376,6 +389,7 @@ impl HasAfEnum for u64 {
376
389
type ComplexOutType = Complex < f64 > ;
377
390
type MeanOutType = f64 ;
378
391
type AggregateOutType = Self ;
392
+ type ProductOutType = Self ;
379
393
type SobelOutType = i64 ;
380
394
381
395
fn get_af_dtype ( ) -> DType {
0 commit comments