Types of the data that can be generated using ArrayFire data generation functions. The trait HasAfEnum has been defined internally for the following types. We strongly suggest not to implement this trait in your program for user defined types because ArrayFire functions will only work for the following data types currently. Any such trait implementation for types other than the ones listed below
| 140 | /// - u16 |
| 141 | /// |
| 142 | pub trait HasAfEnum { |
| 143 | /// This type alias points to `Self` always. |
| 144 | type InType: HasAfEnum; |
| 145 | /// This type alias points to the data type used to hold real part of a |
| 146 | /// complex number. For real valued numbers, this points to `Self`. |
| 147 | type BaseType: HasAfEnum; |
| 148 | /// This type alias points to `f32` for all 32 bit size types and `f64` for |
| 149 | /// larger 64-bit size types. |
| 150 | type AbsOutType: HasAfEnum; |
| 151 | /// This type alias points to `f64`/`f32` for floating point types and |
| 152 | /// `Self` otherwise. |
| 153 | type ArgOutType: HasAfEnum; |
| 154 | /// This type alias is used to define the output Array type for unary |
| 155 | /// operations. It points to `Self` for floating point types, either |
| 156 | /// real or complex. It points to `f32` for rest of the input types. |
| 157 | type UnaryOutType: HasAfEnum; |
| 158 | /// This type alias points to complex type created from a given input type. |
| 159 | /// This alias always points to either `std::Complex<f32>` or `std::Complex<f64>` |
| 160 | type ComplexOutType; |
| 161 | /// This type alias points to a data type that can store the mean value for |
| 162 | /// a given input type. This alias points to `f32`/`Complex<f32>` for all 32 |
| 163 | /// bit size types and `f64`/`Complex<f64>` for larger 64-bit size types. |
| 164 | type MeanOutType: HasAfEnum; |
| 165 | /// This type alias points to a data type that can store the result of |
| 166 | /// aggregation of set of values for a given input type. Aggregate type |
| 167 | /// alias points to below types for given input types: |
| 168 | /// - `Self` for input types: `Complex<64>`, `Complex<f32>`, `f64`, `f32`, `i64`, `u64` |
| 169 | /// - `u32` for input types: `bool` |
| 170 | /// - `u32` for input types: `u8` |
| 171 | /// - `i32` for input types: `i16` |
| 172 | /// - `u32` for input types: `u16` |
| 173 | /// - `i32` for input types: `i32` |
| 174 | /// - `u32` for input types: `u32` |
| 175 | type AggregateOutType: HasAfEnum; |
| 176 | /// This type is different for b8 input type |
| 177 | type ProductOutType: HasAfEnum; |
| 178 | /// This type alias points to the output type for given input type of |
| 179 | /// sobel filter operation. Sobel filter output alias points to below |
| 180 | /// types for given input types: |
| 181 | /// - `f32` for input types: `Complex<f32>`, `f32` |
| 182 | /// - `f64` for input types: `Complex<f64>`, `f64` |
| 183 | /// - `i32` for input types: `bool`, `u8`, `i16`, `u16`, `i32`, `u32` |
| 184 | /// - `i64` for input types: `i64`, `u64` |
| 185 | type SobelOutType: HasAfEnum; |
| 186 | |
| 187 | /// Return trait implmentors corresponding [DType](./enum.DType.html) |
| 188 | fn get_af_dtype() -> DType; |
| 189 | } |
| 190 | |
| 191 | impl HasAfEnum for Complex<f32> { |
| 192 | type InType = Self; |
nothing calls this directly
no outgoing calls
no test coverage detected